Industry


Ads by TechWords

See your link here


"Application Development Without Programmers"

Application Development Without Programmers, by James Martin, popularized the myth of app dev tools that would (almost) eliminate the need for actual coding, and perhaps even be usable by non-programmers.  At various times the proposed panacea has been procedural "fourth generation languages", nonprocedural 4GLs, I-CASE (Integrated Computer-Aided Software Engineering) products, "business rules" engines, and so on and so forth.  (If a "true relational" DBMS ever gets built, you can add that to the list.)

They never have lived up to their hype, and they never will, at least not for industrial-strength operational systems.  At best, these tools have been useful in the building of a small number of systems each, have required heavy programmer involvement, or both.  The details of their shortcomings vary over time; examples from various points in history include lack of performance, lack of arithmetic calculation ability, lack of integrity constraint support, lack of process definition support, lack of GUI support, lack of analytic UI support, and so on.  But the underlying reason is always the same:

By the time technology has advanced far enough to create a really great tool for automagically producing a broad class of applications, it also has advanced far enough to support other kinds of application functionality that the tools don't support (excep possibly through major coding). 

And no, Jeff, I do not believe for a moment that Tenfold has finally become a counterexample, anymore than Sapiens, Magic, Progress (great product though it is/was), IDEAL, Application By Forms, or many many others were.

What People Are Saying

Curt is quite right to

Curt is quite right to dismiss the idea that technology can replace application developers. Technology can reduce their workload, make it easier for them to align themselves with the business etc. but that's it.

James, I agree that tools

James,

I agree that tools can never replace developers, instead they should make the life of a developer easier. An example of such a tool is Compuware's OptimalJ.