Cyhist Apr 15 1997 C
Date: Tue, 15 Apr 1997 09:09:57 EDT
Reply-To: "CYHIST Community Memory: Discussion list on the History of
Cyberspace" <CYHIST@MAELSTROM.STJOHNS.EDU> Sender: "CYHIST Community Memory: Discussion list on the History of
Cyberspace" <CYHIST@MAELSTROM.STJOHNS.EDU> From: "Wesley J. Miller ((8-444) 919-254-9774)" <pundit@VNET.IBM.COM>
Subject: Fourth Generation Languages
X-To: cyhist@maelstrom.stjohns.edu.
______________________________________________________________________
Community Memory: Discussion List on the History of Cyberspace ______________________________________________________________________
I have a general picture of N-th generation languages. I'm just not wholly sure where one stops and the next starts. Somewhat like human generations I suppose; you don't know when the change happened but you definitely know "they ain't one of us".
The first generation languages (and computers that ran them) began with hard wired programs using machine code.
The second generation is marked by symbolic programming (as in assembler) but you still had to know how the machine worked to fully exploit such programs. Did this also include a requirement for stored program capabilities? I would guess yes and that that established second generation computing hardware.
Third generation languages included FORTRAN and COBOL and similar such compiled languages. The programmer now could write a program independent of direct knowledge of how the machine actually worked. I suspect there are specific machine improvements which paralleled this improvement in programming but naming them is not as easy (for me, anyway) as separating the first two generations of hardware.
As for what separates third and fourth generation languages, well, for me anyway, that's fuzzier. FORTRAN and COBOL are clearly record oriented. In many respects so are the PL's (APL, PL/C, PL/AS, PL/8, etc.), Rexx, and, in the sense that an ASCIIZ string represents a record, so are C and PASCAL. Most of these languages, however, can deal with memory block independent of their "recordness". I suppose that the translation of this is that in fourth generation languages, the language began to follow the data as opposed to third generation languages where the data followed the language. Anyone care to comment?
And lastly, there are those who argue that OOP is the turning point to fifth generation languages where the program follows the data instead of the data following the program. I argue that, as with all such historical labels, you can't name the present till there is a future from which to look back on a past--kind of a Heisenberg statement; if you can name it, it ani't where you are.
As a last note, I'd direct everyone's attention to the Charles Moore's forward to _Starting Forth_ (by Leo Brodie). Moore says that when he first got Forth up and running on an IBM 1130 "a 'third generation' computer...the result seemed so powerful I considered it a 'fourth generation language.' I would have called it FOURTH, except the 1130 permitted only five-character identifiers. So FOURTH became FORTH, a nicer play on words anyway."
(Shameless plug, If you haven't seen a copy, check out Brodie's book. It is the best computer language text in print bar none. And, no, Forth is not dead. Check out Open Firmware at your nearest, neighborhood Sun workstation.)
Wesley Miller
______________________________________________________________________________
|
_/\\_ | snail mail: H54A/662/FF212; Research Triangle Park, NC 27709 USA / W \\ | phone: (919) 254-9774 (tie line 444)
\\_ M_/ | internet: pundit@vnet.raleigh.ibm.com
\\/ |
_________|____________________________________________________________________
______________________________________________________________________
Reply-To: "CYHIST Community Memory: Discussion list on the History of
Cyberspace" <CYHIST@MAELSTROM.STJOHNS.EDU> Sender: "CYHIST Community Memory: Discussion list on the History of
Cyberspace" <CYHIST@MAELSTROM.STJOHNS.EDU> From: "Wesley J. Miller ((8-444) 919-254-9774)" <pundit@VNET.IBM.COM>
Subject: Fourth Generation Languages
X-To: cyhist@maelstrom.stjohns.edu.
______________________________________________________________________
Community Memory: Discussion List on the History of Cyberspace ______________________________________________________________________
I have a general picture of N-th generation languages. I'm just not wholly sure where one stops and the next starts. Somewhat like human generations I suppose; you don't know when the change happened but you definitely know "they ain't one of us".
The first generation languages (and computers that ran them) began with hard wired programs using machine code.
The second generation is marked by symbolic programming (as in assembler) but you still had to know how the machine worked to fully exploit such programs. Did this also include a requirement for stored program capabilities? I would guess yes and that that established second generation computing hardware.
Third generation languages included FORTRAN and COBOL and similar such compiled languages. The programmer now could write a program independent of direct knowledge of how the machine actually worked. I suspect there are specific machine improvements which paralleled this improvement in programming but naming them is not as easy (for me, anyway) as separating the first two generations of hardware.
As for what separates third and fourth generation languages, well, for me anyway, that's fuzzier. FORTRAN and COBOL are clearly record oriented. In many respects so are the PL's (APL, PL/C, PL/AS, PL/8, etc.), Rexx, and, in the sense that an ASCIIZ string represents a record, so are C and PASCAL. Most of these languages, however, can deal with memory block independent of their "recordness". I suppose that the translation of this is that in fourth generation languages, the language began to follow the data as opposed to third generation languages where the data followed the language. Anyone care to comment?
And lastly, there are those who argue that OOP is the turning point to fifth generation languages where the program follows the data instead of the data following the program. I argue that, as with all such historical labels, you can't name the present till there is a future from which to look back on a past--kind of a Heisenberg statement; if you can name it, it ani't where you are.
As a last note, I'd direct everyone's attention to the Charles Moore's forward to _Starting Forth_ (by Leo Brodie). Moore says that when he first got Forth up and running on an IBM 1130 "a 'third generation' computer...the result seemed so powerful I considered it a 'fourth generation language.' I would have called it FOURTH, except the 1130 permitted only five-character identifiers. So FOURTH became FORTH, a nicer play on words anyway."
(Shameless plug, If you haven't seen a copy, check out Brodie's book. It is the best computer language text in print bar none. And, no, Forth is not dead. Check out Open Firmware at your nearest, neighborhood Sun workstation.)
Wesley Miller
______________________________________________________________________________
|
_/\\_ | snail mail: H54A/662/FF212; Research Triangle Park, NC 27709 USA / W \\ | phone: (919) 254-9774 (tie line 444)
\\_ M_/ | internet: pundit@vnet.raleigh.ibm.com
\\/ |
_________|____________________________________________________________________
______________________________________________________________________