Marketing-speak for a procedural programming language with some or all of:
- A "natural language" grammar
- Built-in database query language
- Built-in user interface language
These features apparently put the
FourthGenerationLanguages
above such run-of-the-mill languages as
CobolLanguage,
marketing-speak for which is
ThirdGenerationLanguage.
The "Natural language" grammar typically results in an enormous number of reserved words, most of which do very little.
The built-in features may have merit. However, the languages tend
to be rather poorly designed, leaving out such things as, for
example, an easy way to write functions. The built-ins rarely make
up for the lack of generality in the language designs. They also
lock you into a particular DBMS.
The current trend for languages is OO, without imposing any
particular database or UI. With OO constructs available, you can
build and call upon pretty much any other interface you can imagine,
databases and UIs included.
Many
FourthGenerationLanguage's seem to be modeled after some
long-forgotten set of the designer's toy programs. The semantics
of the language constructs would fit those old programs extremely
well. The program you or I am working on today, however, could
be a bit of a problem.
I once did a one week course in a
FourthGenerationLanguage called
Progress Version 6. One of this languages 'niceties' was, if you
added a name to a frame, it changed from one-record-per-page to a one-record-per-line. A fellow student (a bit more pointy-haired
than the rest, but anyway...) was struggling with such lameness,
gave up on frames and resorted to coding his exercises' output in
longhand cursor positioning and text output. The instructor
accused him of 3GLing.
--
MattRickard
As far as I can see, 4GLs are just examples of
DomainSpecificLanguages. It's just that often the domain is a database with a nice GUI. Does anyone agree or disagree?
I agree. --
DaveHarris
The definition for
nth Generation Language (where
n seems to vary from 1-5, and might even be 0 in some cases) seems to be highly author-dependent. (Usually, the author's favorite technology or paradigm is assigned a higher value of
n. If I had a quarter for every such definition--well, I wouldn't be
BillGates, but I might be able to get a cup of coffee at
StarBucks. --
ScottJohnson
See
NthGenerationLanguage
CategoryAntiPattern