From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=0.8 required=3.0 tests=BAYES_50 autolearn=ham autolearn_force=no version=3.4.5-pre1 Date: 9 Aug 93 17:39:34 GMT From: cis.ohio-state.edu!math.ohio-state.edu!darwin.sura.net!dtix.dt.navy.mil!c s.umd.edu!kong.gsfc.nasa.gov!vilya.gsfc.nasa.gov!not-for-mail@ucbvax.Berkeley.E DU (CTA) Subject: Re: forth/fifth generation languages? Message-ID: <24624m$qv4@vilya.gsfc.nasa.gov> List-Id: I agree with previous postings about the differences between 1st, 2nd, 3rd, and 4th generation languages. The statements accurately represent the conventional interpretation of the progression. I'd like to share an observation that there were correlated correlated changes in what a programmer was required to know and how programmers worked with other people. The 1st generation programmer knew the hardware wiring diagram as well as every detail of the code. There were no libraries to speak of and the applications - while revolutionary - were small are exceedingly rare. The 2nd generation programmer worked with an abstract model of the hardware. 2nd generation programmers also had a library system so that they could employ many functions without coding each one. This freed them to make larger applications that were numerous enough to appear in many application domains. The 3rd generation marked a major change in programming because fairly ordinary people could master both an application domain and enough programming skills to write code for it. That wasn't the intention, but some line was crossed and the nature of programming work changed. Now the sky seemed the only limit. If you found a team of domain experts and a team of programmers who understood domain jargon, you could develop anything, it seemed, cost not withstanding! The 4th generation language marks a paradigm shift. A fourth generation language is usable by an application domain expert who is not a programmer at all. In this paradigm, the programmer is no longer needed to translate requirements and equations into software. Costs go down, and delivery times are shortened relative to the 3rd generation. Whatever happens to computer languages, the way people work together will continue to evolve and that evolution may be more important than language features. Two short, related points: 1) There doesn't have to be a syntax difference between 3rd and 4th generation. During the STARS Foundations era, I showed how to do megaprogramming - the synthesis of very large programs from correspondingly large components - using Ada as a 4GL. Under the same program, Lockheed demonstrated that Ada is competent to express statements usually stated in SQL. If nobody has a 4GL for your application - consider shifting your paradigm and sticking with the established languages: Ada and C++. 2) There are still hard problems associated with 4GLs: * 4GLs don't cover all the application domains * 4GLs can't cross domains to meet all the requirements of a large system. * 4GLs cost a bundle to develop, and they are usually nonstandard and proprietary. ----------------------------------------- Paul L. Baker pbaker@cta.com CTA Inc. 6116 Executive Blvd. Suite 800 Rockville, MD 20852 (301) 816-1242