home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #19 / NN_1992_19.iso / spool / comp / database / theory / 412 < prev    next >
Encoding:
Text File  |  1992-08-27  |  6.1 KB  |  156 lines

  1. Newsgroups: comp.databases.theory
  2. Path: sparky!uunet!sandr!dlucy
  3. From: dlucy@sandr.COM (Douglas Lucy)
  4. Subject: Re: What constitutes a 4GL?
  5. Organization: S&R Software, Inc.
  6. Date: Fri, 28 Aug 1992 00:28:50 GMT
  7. Message-ID: <1992Aug28.002850.1280@sandr.COM>
  8. Summary: 4Gl's have their place; C is *NOT* everyman's answer
  9. References: <5188@airs.com> <dtb.714878479@otto>
  10. Lines: 144
  11.  
  12. > andrew@airs.com (Andrew Evans) writes:
  13.  
  14. >> I'd like an authoritative description of what a fourth-generation
  15. >> language really is.
  16.  
  17. dtb@otto.bf.rmit.oz.au (David Bath) responds:
  18.  
  19. > 4GL is usually marketroid hype for a language without the power and
  20. > flexibility of C, i.e. one users can generate unspecified untested and
  21. > undesigned programs in quickly.
  22.  
  23. We could argue about the "power and flexibility of C" for years, so
  24. let's not waste bandwidth on an unwinnable point...
  25.  
  26. A 4GL does NOT mean untested and undesigned. Where *DID* you get
  27. these words?
  28.  
  29. I'm a C veteran. I use C to get certain jobs done and I use PERL
  30. for other jobs where it'll work and get what I want or *NEED*
  31. accomplished QUICKER (read as, oh my gosh, PRODUCTIVE! ), and
  32. I use Visual BASIC when I don't mind spending a few hours designing
  33. an interface for my underlying C libs to reach into the datebase,
  34. and you what I use when I need to get something up and running
  35. quickly with SIMPLE user interfaces and SIMPLE data verification
  36. and lots and LOTS of database transactions? You know what I use
  37. when the client still does know EXACTLY what he wants done or
  38. how his people will use (or mostly like in the case of poor
  39. designs, NOT USE) ? 
  40.  
  41. A 4GL !
  42.  
  43. Yes, C is great, let's not repeat a million debate wars about
  44. that.
  45.  
  46. New programmers can use it fairly quickly. The 4GL will RARELY
  47. (yes I know source analyzers are imperfect) generate code that
  48. will trash a transaction. Someone without any computer training
  49. may actual WRITE HIS/HER OWN reports! Oh no!
  50.  
  51. It may not take WEEKS AND WEEKS to change the entire schema
  52. or interface, like a 3GL *MAY*. I know, I know, I'm not new to
  53. coding, I properly QUALIFIED my statement, I said MAY.
  54.  
  55. > Seriously productive languages rely on
  56. > (1) decent syntax (e.g. C, C++, perl) flexibility
  57. > (2) decent variable addressing
  58. > (3) decent function libraries
  59.  
  60. Come on; a programmer doesn't rely on a single language or
  61. the constructs that language uses. If you've got a language that
  62. can get the job done in less time, for the same programmer/hour
  63. dollars, and have the ability to change small amounts of code to
  64. cause huge changes in operation or interface, what do you need
  65. all the *ADMITTEDLY* great things about C ? Or Pascal. Or Modula 2.
  66. Or name a dozen other non-4GL's....
  67.  
  68. > Note
  69. > (1) Pointers are the hottest thing since bits were invented
  70.  
  71. Sure.
  72.  
  73. > (2) I have not seen a 4GL that lets you use pointers (or esp
  74. > invoke a function indicated by a pointer)
  75.  
  76. Nor have I.
  77.  
  78. >
  79. > Ergo
  80. >    Give me beaten up K&R C (the old testament) over any 4GL
  81. >    I have seen ANY DAY OF THE MILLENIUM.
  82. >
  83. > If you want to get productive with a database, use embedded C to
  84. > create TINY ONE FUNCTION C interfaces to the database and put these
  85. > in a library.  Use these functions and forget about your precompiler.
  86. > (OK - so this requires an investment - but you do not have to deal
  87. > with grotty precompiler limitations any more and can use cb, ctrace,
  88. > ctags etc etc etc on most of your code rather than .000001% of it)
  89.  
  90. Fine. And for those who have been kind and patient enough
  91. to have read ALL of my drivel above, I'll put in my thoughts 
  92. ABOUT THE ORIGINAL question:
  93.  
  94. >> In the scope of relational databases, is it simply a programming
  95. >> language with a database-oriented syntax?
  96.  
  97. I'd say no. I cannot think of a non-database oriented 4GL I've
  98. ever heard of, but my basic concept of a 4GL derives from the
  99. definitions (maybe) of 3GL's and earlier:
  100.  
  101.     The earlier langauges (1st and 2nd GENERATION) were
  102.     closer to machine language. Little provision had been made for
  103.     a human actually being able to READ and UNDERSTAND at least
  104.     basically (no pun intended) what the program was doing.
  105.  
  106.     3GL's came about when COBOL and FORTRAN, and yes, the
  107.     all-mighty and all-powerful C were designed to make a better
  108.     transistion from the way a human thought about logic and
  109.     procedures and would write them to the machine codes necessary
  110.     to carry them out.
  111.  
  112.     4GL's, at least for me, are those languages which are very
  113.     close to human langauges (sadly English most of the time) and
  114.     rely on a sophisticated interpreter to transform the source
  115.     into machine code or more commonly another, lower-level
  116.     language (like C or pseudocode) for yet another interpreter to
  117.     actually turn into machine code.
  118.  
  119.     I'd say 4Gl's slow down the EXECUTION speed of a program
  120.     significantly and can never replace the sheer speed and
  121.     flexibility of a C, or better yet, assembly program. However,
  122.     so many possiblities arise when you relieve a programmer of
  123.     having to "think like the machine" and spend more time
  124.     concentrating on the interface and the PROCEDURES he/she are
  125.     replicating with the program. Needless to say the rise in
  126.     productivity you MIGHT see.
  127.  
  128. >> Or are there more specific attributes that a system must have in
  129. >> order to really be a 4GL? And who says that this is what a 4GL
  130. >> must be?
  131.  
  132. I think the only thing a language needs to be a 4GL is the ability to
  133. generate extreme hatred in C programmers... <grin>
  134.  
  135. Sorry, I had to.
  136.  
  137. Anyway, since there's no label police out there who are going to
  138. refute a company's claims to the requirements for calling a product
  139. "4GL", I don't think there's anything a language must possess or any
  140. standard a language must adhere to before embelishing itself with the
  141. label "4GL".
  142.  
  143. Are you considering a 4GL? Are you worried about the varieties of
  144. programming languages that claim to be 4GL's ?
  145.  
  146. Thanks to those who made it all the way through my little editorial,
  147. and applogies to Andrew Evans for not letting him get away with
  148. expressing his opinions unscathed, and apologies to those who hate us
  149. programmers cuz' we just kant spell worth a damn... <grin>
  150.  
  151. Please don't waste bandwidth; send your flames to dlucy@sandr.COM.
  152.  
  153. -- 
  154. [ W. Douglas Lucy, VP Technical Services, S and R Software, Inc. ]
  155. [ dlucy@sandr.COM                                                ]
  156.