Wednesday, September 10, 2008

Where have all the 4GLs Gone?

Brad Feld recently wrote a blog post entitled, What Happened To The 4GL? In it, he describes the difficulty of working with today's web development frameworks:
This summer I spent some time playing around with Google AppEngine.... It didn't take long before I realized I needed to really understand how to program in Python to do anything.
People often ask whether Ruby on Rails is a competitor to WaveMaker. My response is that WaveMaker is for people who don't want to learn a new language to build web apps, RoR is for people who do.

In Proustian fashion, Brad looks at the new cloud computing tools in hopes of recapturing that sense of power that comes from working with a well-designed 4GL:
When I was playing with Google AppEngine, I kept waiting for the 4GL "aha moment." That's the moment I had using Clarion and Access where I realized how easy it was to do certain things. That moment never came with Google AppEngine - the deeper I got, the more confused I got.
This is the elephant under the table in web programming today - it is no longer possible for mere mortals to build basic business applications. Even formerly technical guys like myself and Brad are intimidated by the bookshelf worth of O'Reilly books you need to read just to get started with web development.

WaveMaker has a very strong 4GL pedigree and is funded by Mitchell Kertzman (of PowerBuilder fame) and Roger Sippl (of Informix 4GL fame). Our belief is that the time has come for a 4GL web development solution.

Ten years ago, there were loads of ways to build client/server apps easily - PowerBuilder, MS Access, Lotus Notes, Filemaker. None of those tools have made the leap to the web, leaving a huge market vacuum.

It has been so long since there have been decent tools for non-expert developers that people have literally forgotten what a 4GL even looks like. The best proof of this is the many comments on Brad's post by people who think that coding frameworks like Ruby on Rails and Django are reasonable substitutes for a 4GL.

This is not to slight Rails and Django, just to say that these products are targeting making hard-core developers even more productive. They are absolutely not appropriate for visual developers who don't want to do any programming in the first place.


Anonymous said...

I am from the old-skool PowerBuilder world myself - or PB as we used to like to call it. I vividly remember how easy and quick we could develop apps which were really easy to make look good – using WYSIWYG painters. I am no longer programming but using my experience and skills to gather and specify the requirements. The projects I have been involved with since, were mostly web app projects and I have to say that in a way I feel sorry for the developers of today. They need to be across so many different technologies; J2EE, JSP, JSF, CSS, HTML, XML, JavaScript/ Dojo Toolkit/Prototype/, Hibernate, SQL and CSV/SVN/DARCS/GIT compared to in the PB days; SQL and PB Script! No wonder I get frustrated to see how long things take (read expensive) and how hard it seems to make the GUI look good. I am sure there are circumstances where one would need the find grained access to each component but the majority of business apps should be able much easier to create and maintain. I have been keeping an eye on WaveMaker since its ActiveGrid days and I am keeping my fingers crossed :)

Anonymous said...

>it is no longer possible for mere >mortals to build basic business >applications

Only true in parts. The main problem is that people always buy/use frameworks and IDE's with nice generators, wizards who suggest to help with complicated stuff instead of having a look at the real code. Most of the time the generated result is non-understandable, overcomplicated, mixed with thousands of XML configurations, ...
If a problem appears in one case or the other there is always a "smart" programmer reinventing the next language/framework to solve the next problem.

The problem with that is that you are not able to keep the focus on the actual business problem to solve.

After several more or less unsuccessful attempts (including the whole Struts/Spring/J2EE train) I'm now starting to become fan of Seaside ( after I've heard that is built with it and trying Seaside myself. Documentation is sparse but helped me a lot.
Seaside is based on Smalltalk (very old, but stable) which is an OO language and with five keywords easy to learn. You can change the program while it is running (no webserver restarts even for domain refactorings). Seaside itself takes care of all the stuff (session handling, HTTP stuff, security, callbacks, ...) They use Smalltalk blocks - so you get called on the server side for client side events. Rendering is done in code (no templates), styled with CSS.
See for a simple example. The only drawback it has is that it's hard to find hosting since it's less known and runs on it's own portable VM - so I bought an own root server. There is also no UI builder like you have in JSF/JSP environments.

On the other hand Seaside is open source, easy enough (for me) to understand and I can invest my time on interesting tasks again...

Have no experience with RubyOnRails. Maybe that's better - at least it has more documentation.

Christopher Keene said...

@belaus - we have an entire bookcase at work groaning under the weight of all the O'Reilly books you have to read to become a web developer. Let's hope that WaveMaker lures you back into the development world!

Christopher Keene said...

@Seaside fan - SmallTalk never really got credit for just how cool and easy it was. Much of what WaveMaker is doing was first pioneered by SmallTalk. For example, WaveMaker applications run live inside of the WaveMaker studio (which happens to have been written in WaveMaker so there is some nice recursion there :-)

constance eustace said...


Unknown said...

you should try Oracle APEX

It's Oracle, but you can have Oracle XE and Oracle APEX for free

(with some limitations, like database size under 4Gb)

Anonymous said...

Why don't you continue using PB?

Christopher Keene said...

@emir&anon - you are absolutely right, there are many client/server gui builders that still work very well. However, the market has moved on and people want to be able to build real web apps easily.

The analogy is that when PowerBuilder came out there were many mainframe and minicomputer 4GLs that were quite powerful (anyone remember Natural or Mantis?).

Developers moved to PowerBuilder because it was a better tool for building Windows apps. Developers will leave Apex and PowerBuilder once they seem tools with similar power and architected from the ground up to support web apps.

Anonymous said...

Actually PB *did* do the jump to Web, you can create webform apps from your PB apps.

Anonymous said...

The solution to all you who are seeking: with their product Alpha 5 Version 9. Point and click data driven web application development with AJAX