Useful interviews on codegeneration.net
Following on from this post on whether Gen is a DSL or not, you can hear views within a discussion on UML vs. Domain-Specific Languages on the codegeneration.net site
Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.
Hear what the codegeneration.net experts think in the panel discussion on the future of code generation:
Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.
Categories: allfusion, ca gen, EDGE, Gathering, gen features, Gen-related Tags:
Gathering 5 Resources
Many thanks to Sol Zimmer for the preparation and presenting of the Slideshow in the 5th Gen Gathering ! The first of the resources are now available from the 5th Gen gathering – more will be uploaded over the next few days, so keep checking back here
- Audio
(downloaded times), or play it here:
Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.
- Powerpoint Presentation Slides
(downloaded times).
- eBook
(downloaded times).
You can find out more about Jumar Solutions’ approach to Legacy Modernisation by going into Second Life, and clicking on their “Project Phoenix” banner at their stand at the Gen HQ, or by visiting their website. As you can see from the pictures, it was a record attendance!
Categories: allfusion, ca gen, CA Partners, composer, EDGE, Gathering, Gen-related, gentalk, Jumar, Main Tags:
Model Based Development vs. Performant Code
Gen has been at the forefront of Model Based Development for 20+ years – BUT people who develop in Gen rarely if ever get to look at the code that the toolset gives them – why would they ?
Well – one could argue that if a programmer could not see his or her code, then they would not be truly programming – moreover – if the code that Gen produces from it’s generators cannot be tweaked for performance reasons, how can the programmer be sure that the code is performing correctly – and at its optimum speed ?
Health Warning !!! – it’s folly to tweak the code – for as we all know – the next regeneration will undo that tweaking. No – in my opinion, the best way to get performant code is not to worry about the code at all (bizzarely !!).
The best way to get performant code from Gen is to get the data model right in the first place !
Then ensure that the database is indexed correctly and those indexes correctly support the business’ retrieval needs.
Of course there are the old adages that ALL programmers know – stuff repeatedly like calculating values inside loops is a waste of CPU cycles. No – what we are talking about here is harnessing the power of Gen by simply not worrying about it – as long as the data model is right and the code has been sensibly clicked (such as only reading values once, view starving and so on) then the code will “be ok”.
O f course there will be the occasions that the code needs attention, once performance testing has been carried out, but they should be addressed at the data model level, or re-ordering code, rather than physically tweaking any SQL that has been produced.
The point here is that even though the average Gen developer doesn’t know what code his AB’s produce – he shouldnt need to – as long as some guidelines and common sense have been followed.
Such is the power of Model Based Development !
Categories: allfusion, ca gen, gen features, Gen-related, gentalk Tags:
Gathering 4 Resources now available…..
Many thanks to Estefan Euler for the preparation and presenting of the Slideshow in the 4th Gen Gathering !
The resources are now available from the 4th gen gathering.
- Gathering 4 eBook
(downloaded times) - Powerpoint Presentation Slides
(downloaded times).
Here’s the pictures:
Categories: allfusion, ca gen, CA Partners, Gathering, Gen-related, gentalk Tags:
DSL Part 2
Again, using Wikipedia as a reference point for discussion, looking at the advatnages and disadvantages of a DSL, and compare them to Gen.
Advantages
- Domain-specific languages allow solutions to be expressed in the idiom and at the level of abstraction of the problem domain. Consequently, domain experts themselves can understand, validate, modify, and often even develop domain-specific language programs.
- Self-documenting code.
- Domain-specific languages enhance quality, productivity, reliability, maintainability, portability and reusability.
- Domain-specific languages allow validation at the domain level. As long as the language constructs are safe any sentence written with them can be considered safe.
Disadvantages
- Cost of designing, implementing, and maintaining a domain-specific language.
- Finding, setting, and maintaining proper scope.
- Difficulty of balancing trade-offs between domain-specificity and general-purpose programming language constructs.
- Potential loss of processor efficiency compared with hand-coded software.
- Hard or impossible to debug.
The text of the advantages clearly describe Gen’s facilities and features. However, some of the disadvantages, in my opinion, do NOT describe Gen appropriately:
- Cost of designing, implementing, and maintaining a domain-specific language.
Clearly, this does relate to Gen – Gen is presumably not a cheap product to maintain
- Finding, setting, and maintaining proper scope.
I’m presuming that this relates to the scope of the language constructs – over time, a DSL MUST evolve to take in new markets, otherwise the domain for which the language was created becomes saturated. Certainly Gen has evolved over the years to include featues that could arguably make it a non-DSL, such as web presentation etc.
- Difficulty of balancing trade-offs between domain-specificity and general-purpose programming language constructs.
This is something that I believe doesn’t describe Gen very well. Gen is a DSL in that its primary purpose is manipulating RDBMS data for business applications. I think that there is a clear line dividing the RDBMS-based features and “other” functionality – its called Externals – where’s the difficulty there ?!
- Potential loss of processor efficiency compared with hand-coded software
Maybe – I agree with this to a certain extent – there doesn’t exist the capability for us to tune our SQL with ease. Therefore, we are relying on the parsers and optimisers of the target database to do this for us.
- Hard or impossible to debug.
No !!!
In conclusion – ALL of the advantages hold true for Gen but most of the disadvantages don’t !
So – is Gen a DSL ? – I actually think that it is – so – what’s the domain ?
“Data Manipulation” – maybe – it that’s a technical rather than a business domain – but still Gen is on the DSL boat (I think !!!!…..)
Categories: allfusion, ca gen, gen features, Gen History, Gen-related, gentalk, SOA Tags:
