[comp.lang.pascal] Persistent Languages / Re: Pascal dying out?

phipps@garth.UUCP (Clay Phipps) (11/05/88)

In article <6490001@hplsla.HP.COM> jamesv@hplsla.HP.COM (James Vasil) writes:
-- -- Paul J. Galvin wrote:
-- -- ... [Some people] think that Pascal is dying out. 
-- -- They say that in 20 years, it will be long gone. ...
--
-- 20 years is an awfully long time in this business.  
 
A look back 20 years, to 1968, may provide some guidance for the next 20.
[mentions of "earlier" or "later" are relative to 1968].
Try to imagine what you would predict from what was known then.

At the time (1968), I was a senior in high school (others on the net 
are undoubted older than this indicates me to be), and would not take   
my first programming course until 6 months later (1969), during which 
I was introduced to BASIC, and later, to FORTRAN.

15 years earlier (December 1953 or January 1954), IBM had approved 
a project to provide "automatic programming" (i.e., a compiler) 
for its 704 computer, which, after 3 more years (1957), culminated in 
the distribution of the FORTRAN I compiler.
Only in the 60s did it become widespread; "USA Standard FORTRAN"
had been formally approved 2 years earlier (1966).

Implementation of LISP had begun, 10 years previously (1958),
by the Artificial Intelligence Project at MIT.

The first BASIC program had been run on a time-sharing system,
a GE-225, 4 years earlier (1964) at Dartmouth, and was becoming
particularly popular on the GE time-sharing system.
 
Some guy at Stanford named Niklaus Wirth published a paper that year
(1968) in JACM about PL360, a medium-level language that had many 
of the goals and features that would be attributed in the future to C
(strangely enough, PL360 is never cited as an influence on C; 
admittedly, it is not a language in the style of C).  Wirth had begun 
the implementation of PL360 3 years earlier (1965) at Stanford.
2 years earlier (1966), also at Stanford, Wirth published papers
in CACM on 2 different programming languages: Euler (with Helmut Weber) 
and Algol-W.
Development of Pascal was still 2 years in the future (1970).

The first APL User's Manual was released that year (1968).
The language was derived from a powerful array-oriented notation 
devised by Ken Iverson at Harvard 10 years earlier (1958), and first 
implemented, as an interpreter on the IBM 7090 3 years earlier (1965).  
It was around this year (1968?) that a stand-alone multi-user time-sharing
APL system was available "under the table" from IBM.  It was not widely 
used, but its few users were almost religiously devoted to it 
(of course, UN*X fans wouldn't understand such near fanaticism :-).
A major complaint or deterrent was its terse and cryptic notation.

A new language developed by IBM for its relatively new System/360 first
delivered 3 years ago (1965), grandly named "Programming Language/One",
hence, PL/I, had been available for a very few years (1966? 1967?).
In PL/I, you could do practically anything you could do in COBOL or
FORTRAN, plus a lot more -- but only when it worked -- it was still a
a relatively unstable compiler.  Many people believed that PL/I would
eventually take over the world, by riding on IBM's coattails and
the success of its System/360, once it became a stable compiler (1970?).
 
Niklaus Wirth published a paper that year (1968) in JACM on PL360,
a medium-level language that had many of the goals and features of C
(strangely enough, PL360 is never cited as an influence on C; 
admittedly, it is not a language in the style of C).
Wirth had begun the implementation 3 years earlier (1965) at Stanford.
Development of Pascal was still 2 years in the future (1970).

The sexy language in Academia was Algol 68, just designed;
a more solid Algol 68 definition, the "revised" one, 
was 3 years in the future (1971).
 
The sexy systems in academia were the Burroughs B6500, not completed 
until a year later (1969), and GE/MIT MULTICS (1968).

A big *mainframe* had one, or maybe two, megabytes of main memory.
To almost everybody, chips were made from potatoes.  If you mentioned 
a "micro", people assumed that you meant a microscope or a microphone.
Physics and engineering students used slide-rules; electronic 4-function
hand calculators were a year or two away (1970 or 1971) and would cost $400.

UN*X was 1 to 2 years in the future (1969..1970), but written in assembler.
It would be 5 years (1973, hence 3..4 more) before it was rewritten 
in the future language C; Ken Thompson would not write C's predecessor[?], 
B, for two years (1970).
 
A relatively final Ada specification was 12 years away.
Even the very early draft: "Strawman" would not appear for 7 years (1975).

-- If you come out of school knowing Pascal, C, Ada (at least some),
-- and Lisp (at least some) you should be employable 
-- and able to learn new languages as they come into existance. 
 
As the above indicates, Ada, C, Pascal, and UN*X did not exist
20 years ago.  PL/I never took over the world, but COBOL and FORTRAN
are still going strong.  Pascal will probably survive; whether it's
niche will be relatively larger than PL/I's is now, who knows ?  
C will probably come to be regarded as the "FORTRAN of the 80s", 
providing the vehicle for large amounts of useful programs, 
many of them *clever*, that no one dares to change or enhance.
 
Unless you win some lottery, you may very well decide that
the jobs that do not require you to learn things that didn't exist 
when you were in school are simply too boring to keep doing.

More rapid changes are coming, and we can't be certain what 
the world, nation, or job-market will be like in 20 years.	
Plan to be adaptable and keep learning.  Over the short term,
try to find some computer-related (but non-gofer) jobs over the summer,
or part-time during the school session.  They may make more of a
difference to a prospective employer that whether you can program 
in Turbo Pascal 13.0.  Develop some interests *outside of computers*
and related fields, so that you can carry on intelligent conversations
without mentioning them; I, for example, don't go scuba diving
or backpacking to hear about the relative merits of Pascal versus C.
 
Hmmm.  A far longer monologue than I had intended; 
I hope it provides some useful perspectives.
-- 
[The foregoing may or may not represent the position, if any, of my employer]
 
Clay Phipps                       {ingr,pyramid,sri-unix!hplabs}!garth!phipps