home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.databases.theory
- Path: sparky!uunet!sandr!dlucy
- From: dlucy@sandr.COM (Douglas Lucy)
- Subject: Re: What constitutes a 4GL?
- Organization: S&R Software, Inc.
- Date: Fri, 28 Aug 1992 00:28:50 GMT
- Message-ID: <1992Aug28.002850.1280@sandr.COM>
- Summary: 4Gl's have their place; C is *NOT* everyman's answer
- References: <5188@airs.com> <dtb.714878479@otto>
- Lines: 144
-
- > andrew@airs.com (Andrew Evans) writes:
-
- >> I'd like an authoritative description of what a fourth-generation
- >> language really is.
-
- dtb@otto.bf.rmit.oz.au (David Bath) responds:
-
- > 4GL is usually marketroid hype for a language without the power and
- > flexibility of C, i.e. one users can generate unspecified untested and
- > undesigned programs in quickly.
-
- We could argue about the "power and flexibility of C" for years, so
- let's not waste bandwidth on an unwinnable point...
-
- A 4GL does NOT mean untested and undesigned. Where *DID* you get
- these words?
-
- I'm a C veteran. I use C to get certain jobs done and I use PERL
- for other jobs where it'll work and get what I want or *NEED*
- accomplished QUICKER (read as, oh my gosh, PRODUCTIVE! ), and
- I use Visual BASIC when I don't mind spending a few hours designing
- an interface for my underlying C libs to reach into the datebase,
- and you what I use when I need to get something up and running
- quickly with SIMPLE user interfaces and SIMPLE data verification
- and lots and LOTS of database transactions? You know what I use
- when the client still does know EXACTLY what he wants done or
- how his people will use (or mostly like in the case of poor
- designs, NOT USE) ?
-
- A 4GL !
-
- Yes, C is great, let's not repeat a million debate wars about
- that.
-
- New programmers can use it fairly quickly. The 4GL will RARELY
- (yes I know source analyzers are imperfect) generate code that
- will trash a transaction. Someone without any computer training
- may actual WRITE HIS/HER OWN reports! Oh no!
-
- It may not take WEEKS AND WEEKS to change the entire schema
- or interface, like a 3GL *MAY*. I know, I know, I'm not new to
- coding, I properly QUALIFIED my statement, I said MAY.
-
- > Seriously productive languages rely on
- > (1) decent syntax (e.g. C, C++, perl) flexibility
- > (2) decent variable addressing
- > (3) decent function libraries
-
- Come on; a programmer doesn't rely on a single language or
- the constructs that language uses. If you've got a language that
- can get the job done in less time, for the same programmer/hour
- dollars, and have the ability to change small amounts of code to
- cause huge changes in operation or interface, what do you need
- all the *ADMITTEDLY* great things about C ? Or Pascal. Or Modula 2.
- Or name a dozen other non-4GL's....
-
- > Note
- > (1) Pointers are the hottest thing since bits were invented
-
- Sure.
-
- > (2) I have not seen a 4GL that lets you use pointers (or esp
- > invoke a function indicated by a pointer)
-
- Nor have I.
-
- >
- > Ergo
- > Give me beaten up K&R C (the old testament) over any 4GL
- > I have seen ANY DAY OF THE MILLENIUM.
- >
- > If you want to get productive with a database, use embedded C to
- > create TINY ONE FUNCTION C interfaces to the database and put these
- > in a library. Use these functions and forget about your precompiler.
- > (OK - so this requires an investment - but you do not have to deal
- > with grotty precompiler limitations any more and can use cb, ctrace,
- > ctags etc etc etc on most of your code rather than .000001% of it)
-
- Fine. And for those who have been kind and patient enough
- to have read ALL of my drivel above, I'll put in my thoughts
- ABOUT THE ORIGINAL question:
-
- >> In the scope of relational databases, is it simply a programming
- >> language with a database-oriented syntax?
-
- I'd say no. I cannot think of a non-database oriented 4GL I've
- ever heard of, but my basic concept of a 4GL derives from the
- definitions (maybe) of 3GL's and earlier:
-
- The earlier langauges (1st and 2nd GENERATION) were
- closer to machine language. Little provision had been made for
- a human actually being able to READ and UNDERSTAND at least
- basically (no pun intended) what the program was doing.
-
- 3GL's came about when COBOL and FORTRAN, and yes, the
- all-mighty and all-powerful C were designed to make a better
- transistion from the way a human thought about logic and
- procedures and would write them to the machine codes necessary
- to carry them out.
-
- 4GL's, at least for me, are those languages which are very
- close to human langauges (sadly English most of the time) and
- rely on a sophisticated interpreter to transform the source
- into machine code or more commonly another, lower-level
- language (like C or pseudocode) for yet another interpreter to
- actually turn into machine code.
-
- I'd say 4Gl's slow down the EXECUTION speed of a program
- significantly and can never replace the sheer speed and
- flexibility of a C, or better yet, assembly program. However,
- so many possiblities arise when you relieve a programmer of
- having to "think like the machine" and spend more time
- concentrating on the interface and the PROCEDURES he/she are
- replicating with the program. Needless to say the rise in
- productivity you MIGHT see.
-
- >> Or are there more specific attributes that a system must have in
- >> order to really be a 4GL? And who says that this is what a 4GL
- >> must be?
-
- I think the only thing a language needs to be a 4GL is the ability to
- generate extreme hatred in C programmers... <grin>
-
- Sorry, I had to.
-
- Anyway, since there's no label police out there who are going to
- refute a company's claims to the requirements for calling a product
- "4GL", I don't think there's anything a language must possess or any
- standard a language must adhere to before embelishing itself with the
- label "4GL".
-
- Are you considering a 4GL? Are you worried about the varieties of
- programming languages that claim to be 4GL's ?
-
- Thanks to those who made it all the way through my little editorial,
- and applogies to Andrew Evans for not letting him get away with
- expressing his opinions unscathed, and apologies to those who hate us
- programmers cuz' we just kant spell worth a damn... <grin>
-
- Please don't waste bandwidth; send your flames to dlucy@sandr.COM.
-
- --
- [ W. Douglas Lucy, VP Technical Services, S and R Software, Inc. ]
- [ dlucy@sandr.COM ]
-