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 !
Join the forum discussion
on this post
Categories: Gen-related, allfusion, ca gen, gen features, gentalk Tags:
Gen’s Rich History
As we all know, Gen has been around in many guises for 20+ years, and has a rich history and track record of systems development and delivery.
To celebrate this, more pictures have been uploaded to the “Gen History” page, including some very early (1987) beta documentation covers.
We now have over 35 pictures in the collection.
If anyone can take pictures of Gen “stuff” – T-shirts, mugs, discs, tapes, literature and so on, and send them in to info@gentalk.biz, they will find their way into the online collection!
Join the forum discussion
on this post
Categories: Gen History, Gen-related, ca gen, 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:
Join the forum discussion
on this post
Categories: CA Partners, Gathering, Gen-related, allfusion, ca gen, 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 !!!!…..)
Join the forum discussion
on this post
Categories: Gen History, Gen-related, SOA, allfusion, ca gen, gen features, gentalk Tags:
Forum upgrade
The forum has undergone a major upgrade of the software running it in preparation for a major “behind the scenes” software upgrade of the whole Gentalk.biz site in early April.
The upgrade seems to have gone OK, and adds many new features to the forum including:
- Private Messaging – the second most regular request.
- New ‘QuickLinks’ dropdown on the Search Bar displaying recent and unread posts
- Democracy Polls plugin support
- Images as Thumbnails that expand when you click on them
- …
- …. and much more
I hope that the features will be useful to the whole Gen community !
Categories: gentalk Tags:

