Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!samsung!zaphod.mps.ohio-state.edu!mips!pacbell.com!pacbell!sactoh0!unify!dgh From: dgh@unify.uucp (David Harrington) Newsgroups: comp.databases Subject: Re: 5GLs, as defined in Jessica Keyes' article Keywords: Uniface, 5GLs, dbms Message-ID: <51i4mzv@unify.uucp> Date: 28 Jun 90 15:49:59 GMT References: <1192@abcom.ATT.COM> <37595@sequent.UUCP> Organization: Unify Corporation, Sacramento, CA, USA Lines: 61 In article <37595@sequent.UUCP> normb@sequent.UUCP (Norm Browne) writes: >In article <1192@abcom.ATT.COM> brr@abcom.ATT.COM (Rao) writes: > >> The question still remains, what other features should >> a 5GL include? > >My last response to this request was a quip upon which I will now >expand. > >What is a 4GL? [For if we can't define that what is the point of >speculating about a 5GL?] This is a good question. > >A 4GL is a programming/development environment of a higher abstraction >level than is typical of 3GLs. A 4GL is not a general purpose computing >language. A 4GL is available only from one vendor though it may be >available on many hardware platforms and support more than its own DBMS. >4GLs are typically database specific; which is not necessarily bad, but >is all computing database oriented? A 4GL is definitely a development environment of a higher abstraction level than a 3GL because it consists of 2 major elements: an applications generator, or forms builder, AND a language which (to a certain extent) abstracts data so that the application can concentrate on the problem at hand, rather than OS and file system overhead. > >Is a 4GL even a language? Not ABF, or SQL*Forms, or Accell which are ^^^^^^ ACCELL/SQL is forms driven, AND it contains a full-featured 4GL to extend the (not inconsiderable) functionality of the forms. The 4GL is event-driven and includes embedded SQL. The language is block structured, with procedure blocks (code sections in ACCELL parlance) driven by events captured by the forms. >forms driven, whereas Focus, Informix 4GL and Progress are more >`language' like. Is a 4GL both an end user and programmer tool? >Does it make sense for it to be both? If not, which is the appropriate >role for a 4GL (and consequently a 5GL)? Probably not. However, it should be powerful enough for the developer to build in end-user selected behaviour. > >All of this is not to disparage any products I have mentioned (or any >I have omitted), as they have value. My point is that there is not >one iota of consensus as to what makes a piece of software a 4GL. >Given this, why even bother trying to define what a 5GL might be? >[Or as I said before, a 5GL should do what you want, not what you tell it.] A good reason to bother with defining a 5GL is the advent of object oriented programming. -- David Harrington internet: dgh@unify.UUCP Unify Corporation ...!{csusac,pyramid}!unify!dgh 3870 Rosin Court voice: (916) 920-9092 Sacramento, CA 95834 fax: (916) 921-5340