I'd say the language is 3GL (if OOP languages can really be called
3GL), with tools to make constructing the programs easier. The VCL
library and form designer are really 4GL. Of course, with the stigma
associated with 4GLs, like slow Visual Basic, xbase, etc, keeping
Delphi as far away from that label would probably be good.
The problem with Delphi is that it's a new product that no one has ever
seen and no one can classify. I expect it to be joining Ami Pro,
Improv, etc pretty soon. Delphi and tools like it really transcend
the old 3GL/4GL line, since they include the best parts of every
paradigm: high level components, native code generated by a good
compiler, etc.
Scott
Delphi has many nice, "easy" features of a 4GL but has some definite 3GL ablities. For example, C++
supports classes and inheritance of them, etc and so does Delphi. Delphi also produces true compiled
exe's and dll's (so does C++, but not Visual Basic or Power Objects). However, Object Pascal is very
readable (sorta like Basic) compared to C++. Yet, Delphi allows you to program in Assembly Language
if needed.
Jason G Taylor
jaso...@usa.net
Please respond by e-mail AND posting to the newsgroup.
>I'm not sure if Delphi (Object Pascal) is a Forth Generation Language (4GL) or a Third Generation
>Language (3GL). Does anyone know? And for what reasons?
>Delphi has many nice, "easy" features of a 4GL but has some definite 3GL ablities. For example, C++
>supports classes and inheritance of them, etc and so does Delphi. Delphi also produces true compiled
>exe's and dll's (so does C++, but not Visual Basic or Power Objects). However, Object Pascal is very
>readable (sorta like Basic) compared to C++. Yet, Delphi allows you to program in Assembly Language
>if needed.
This is a gripe of mine, but from a computer science standpoint, we've not
developed any solid 4GLs yet. What you see called a "4GL" is a marketing sham.
This is what I remember from my school days. I know that there are various
interpretations and this is simplistic, but it'll give you an idea:
1GL - Assembler-type languages
2GL - Procedural languages (e.g. FORTRAN, C, Pascal)
3GL - OO languages (e.g. Smalltalk, C++, OP)
4GL - The next step beyond... this is where computer *scienc* gets exciting
(IMHO).
The so-called "4GL"s are nothing but 2GLs with pretty window dressing. It's all
a very sad marketing trick. We battled this one out in our company, lost, and
then won again after tens of thousands of wasted dollars went to the so-called
4GLs. Now we're using Delphi after PowerBuilder, Oracle, and Gupta fell flat on
their faces.
Delphi's working fine.
.
jam...@spillman.com (James Knowles) writes:
>This is a gripe of mine, but from a computer science standpoint, we've not
>developed any solid 4GLs yet. What you see called a "4GL" is a marketing sham.
True enough, in that there never has been and IMNSHO never will be a
programming tool that completely dispenses with procedural language add-ins.
>This is what I remember from my school days. I know that there are various
>interpretations and this is simplistic, but it'll give you an idea:
>1GL - Assembler-type languages
>2GL - Procedural languages (e.g. FORTRAN, C, Pascal)
>3GL - OO languages (e.g. Smalltalk, C++, OP)
>4GL - The next step beyond... this is where computer *scienc* gets exciting
>(IMHO).
Bzzztt. Sorry, but I can clearly recall the term 4GL back as early as
1981, and I know for certain that OOP wasn't in common parlance then. It
runs more like:
1GL - Machine code
2GL - Assembly language
3GL - Procedural languages
4GL - Non-procedural tools (screen-builders, reporting tools, etc).
OOP doesn't fit except as a kind of souped-up 4GL, and RAD tools might be
considered as a kind of hybrid 4/3GL, but the terms don't really apply
all that well any more in GUI environments. These terms were coined before
the revolution in operating environments gave us message-based and
event-driven programming principles.
Sure you'll find 4GL tools on Unix platforms and many other multi-user
transaction-oriented systems, but I think it's best to ditch that tag
under Windows. RAD is a suseful term as a comparison, but "4GL" is a
casualty to the generation gap.
>The so-called "4GL"s are nothing but 2GLs with pretty window dressing. It's all
>a very sad marketing trick. We battled this one out in our company, lost, and
>then won again after tens of thousands of wasted dollars went to the so-called
>4GLs. Now we're using Delphi after PowerBuilder, Oracle, and Gupta fell flat on
>their faces.
>Delphi's working fine.
But of course, but that's not because they don't call it a 4GL, it's just
because the pudding is far more edible. <g>
Luke
--
Luke Webber
* Note: The opinions expressed by Luke Webber are in no way supported *
* by his employers, Luke Webber Consulting Services *
Let's hope Delphi DOESN'T join Ami Pro and Improv any time soon,
since they're both very good, VERY DEAD products (even if
they did live on in other products).
--
| Dave O'Brien - Watcom International - dob...@watcom.com
| http://www.cgl.uwaterloo.ca/~gmgrimsh/dobrien.html
+----------------------------------------------------------
| "It is better to remain silent and be thought a fool,
| than to speak and remove all doubt."
| - anonymous
>Damn! I was going to bite my tongue and leave this one alone, because the
>whole thing is so pointless. Why am I so easily dragged into these things?
Ditto! I'll try to make my meaning clearer here. I think the key to what I'm
saying is "CS <> Programming" and "CS Terminology <> Marketing Terminology" even
though they try so hard to do so. (Have you read the definition of "objects" in
the VB manual? I about cried after suppressing a sudden urge to rip Mr. Gate's
heart out.)
>jam...@spillman.com (James Knowles) writes:
>>This is a gripe of mine, but from a computer science standpoint, we've not
>>developed any solid 4GLs yet. What you see called a "4GL" is a marketing sham.
>True enough, in that there never has been and IMNSHO never will be a
>programming tool that completely dispenses with procedural language add-ins.
Maybe...but not for quite a while (i.e. after my lifetime). As long as we're
stuck with TMs we're doomed to some sort of procedural concepts. We need a
revolution in CS that turns Turing on his ear to do that one.
>>This is what I remember from my school days. I know that there are various
>>interpretations and this is simplistic, but it'll give you an idea:
>>1GL - Assembler-type languages
>>2GL - Procedural languages (e.g. FORTRAN, C, Pascal)
>>3GL - OO languages (e.g. Smalltalk, C++, OP)
>>4GL - The next step beyond... this is where computer *scienc* gets exciting
>>(IMHO).
>It runs more like:
>1GL - Machine code
>2GL - Assembly language
>3GL - Procedural languages
>4GL - Non-procedural tools (screen-builders, reporting tools, etc).
This is exactly my gripe about marketing hype. Tools do not a language make.
Non-procedural tools still generate (usually) procedural or (sometimes) OO code,
and/or are fancy resource editors. I've never seen non-procedural tools ever
classed as a language, except by marketing people.
The differences between nGLs is along lines of CS research theory, not
developer tools. (Implementations of the theories are not always smooth, nor
complete. C++ is a great example of that debate.)
Anyhow, the thinking behind machine/assembly language is different than
procedural languages. The thinking behind OOP is different than either
machine/assembly and procedural languages. How do these cool tools advance CS
theory?
Implementations are based on procedural languages, true. That doesn't
invalidate the theory. Just because we've been able to leverage language
advances to create some cool tools doesn't make them a language.
>under Windows. RAD is a suseful term as a comparison, but "4GL" is a
>casualty to the generation gap.
Isn't it great how we humans manipulate and argue about how we use our
words? I won't get into that except to evoke the memory of Thycidites' _Revolt
of Corcyra_ among others.
4GL (n) A meaningless term that is used whatever the marketing department
have beat "Visual," "with Objects," and coffee synonymns to death. See also
hype, hot air.
:-)
Anyhow, I've wasted enough time on this pointless argument.
> I'm not sure if Delphi (Object Pascal) is a Forth Generation Language (4GL)
> or a Third Generation Language (3GL). Does anyone know? And for what reasons?
I think Delphi can officially be described as a 3.5GL (probably more
like 3.3GL),
for all the reasons you mention - it combines a traditional 3GL
procedural mode
(Pascal) with 4GL like re-use and tool intelligence (OO, VCL and
Experts).
Why do you ask?
--
Jolyon Smith | The views represented above are
my own
Application Development Consultant | and do not necessarily represent
the
PLATINUM Solutions (UK) | views of my employer.
Pat
--
Pat White If we had Delphi for DOS we wouldn't need Windows
email: p...@pwhite.demon.co.uk
Phone; 44+(0)1925 266113
This is clear than ?GL *was* only a marketing concept, as are OO or Visual
Programming today; and I'm sure that the 1950's ENIAC programmers didn't
call their tools "First Generation Language" :-)
In fact, I feel that ?GL isn't used anymore since the failure of the 5GL,
supposed to be the Nirvana in the 80's; there were called "artificial
intelligence languages" (by the same salesmen, for sure).
One fact is true: we always have better tools as time goes on.
And today, we can program with even the worse language (who said VB? ;-)
things that a 1GL programmer couldn't have ever dream on.
Note that useness is another story, however :-)
Antoine LECA
> Pat
> --
> Pat White If we had Delphi for DOS we wouldn't need Windows
> email: p...@pwhite.demon.co.uk
> Phone; 44+(0)1925 266113
BTW - Nice sig!!!!!
--
Konstantin Kuzenko. Galilei Soft.(Kiev,Ukraine).