From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,d0dadbdee07c6140 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2002-04-28 10:27:07 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!logbridge.uoregon.edu!fu-berlin.de!uni-berlin.de!pc-62-30-113-100-cr.blueyonder.co.UK!not-for-mail From: nickroberts@ukf.net (Nick Roberts) Newsgroups: comp.lang.ada Subject: Re: Ada a fourth generation language? Date: Sun, 28 Apr 2002 17:27:05 GMT Message-ID: <3ccc2ba7.138192556@news.cis.dfn.de> References: NNTP-Posting-Host: pc-62-30-113-100-cr.blueyonder.co.uk (62.30.113.100) X-Trace: fu-berlin.de 1020014825 11126200 62.30.113.100 (16 [25716]) X-Newsreader: Forte Free Agent 1.21/32.243 Xref: archiver1.google.com comp.lang.ada:23199 Date: 2002-04-28T17:27:05+00:00 List-Id: On Sun, 28 Apr 2002 10:06:02 -0700, "John" strongly typed: >I will follow a course in ada this summer and I heard that it was a fourth >generation language. Is it true and if so, what does it mean exactely? The ISO standard language Ada 95 is surely a 'third generation' language (3GL), although I don't think it's possible for there to be any really precise definition of these things. My own understanding is as follows. A 3GL is a conventional procedural (imperative) high-level programming language, that follows the basic von Neumann architecture (in terms of having a 'thread' of execution flow, and associated control of that flow). A 4GL is generally the programming language associated with an application program development environment. Typical elements of such an environment include database functionality, user-interface design tools, and (in particular) automated code generation tools. The 4GL is typically designed to accommodate automated code generation, and attuned to the needs of commercial application programs (especially with a view to portability). A 5GL is generally a declarative programming language, that has no explicit notions of flow of execution or control of flow, but is 'goal oriented' and in a way controls its own flow of execution. These languages used to be associated with Artificial Intelligence, but AI has since moved on (leaving them behind). Nevertheless 5GLs have asserted themselves in various areas of application, and continue to evolve. I can only assume that a 2GL is, in essence, an assembly language, and a 1GL is the bare machine code, but I've never seen any explicit reference to this in any of the literature. It is a fact that the earliest electronic programmable computers were programmed by arranging pegs in holes in certain circuit boards. (Programming all 10MB of Internet Explorer would presumably have taken a long time. :-) -- Nick Roberts