why PL/I didn't make it in scientific computing? [closed]
Asked Answered
G

3

10

PL/I is a very old language but seemingly haven't got much publicity and appreciation as Fortran for scientific computing. Why is that? A search on the web does show that there are many PL/I codes for scientific computing. There is among others a scientific computing library which was developed by IBM in PL/I.

But I haven't found any free compilers for Windows for PL/I. Is it due to this lack of free compilers that PL/I didn't attract the scientific community?

Thanks a lot...

Gwalior answered 14/7, 2010 at 10:12 Comment(1)
Thanks Skaffman for the editing and for creating the tag PL/I.Gwalior
W
9

Why is that?

I think there is a couple of reasons.

Maybe because habit is second nature. When PL/I appeared FORTRAN had already existed for almost 10 years. When some new technology/language appears you can start to disparage existing code base by calling it legacy code. But there is no reason to start conversion immediately. Especially it was big problem in 70s due to the lack of automated converters and other tools.

The next reason might be that there is no silver bullet. PL/I was attempt to create such silver bullet - general purpose language. They tried their best, you know the rest. =) PL/I was monstrous language. Frow Wikipedia article:

Programmers were sharply divided into scientific programmers (who used Fortran) and business programmers (who used COBOL), with significant tension and even dislike between the groups. PL/I syntax borrowed from both COBOL and Fortran syntax. So instead of noticing features that would make their job easier, Fortran programmers of the time noticed COBOL syntax and had the opinion that it was a business language, while COBOL programmers noticed FORTRAN syntax and looked on it as a scientific language.

Also the "old folks" like FORTRAN evolve under danger of death and added features such as structured programming, object orientation, etc. That reduced PL/I's relative advantages.

P.S. Also take a look at that part of Wikipedia article already mentioned.

Wolfie answered 14/7, 2010 at 13:34 Comment(0)
J
17

I worked with people at IBM who built the PL/I optimizing compilers and PL/I checkout compilers. I enjoyed using PL/I, but it was a classic example of a "second-system effect": very complicated and clunky, although powerful. Imagine a closed-source version of Perl and you won't be too far off. And the key there is closed source. Languages take years to take hold, and by the time PL/I was stable in the mid-1970s, computation was already shifting away from mainframes toward minicomputers. Then in the late 1980s the microcomputers took over. The PL/I compilers were not designed to be portable—they were started right after the IBM 360, which was going to be the last computer anyone ever needed—and there was no way IBM was going to catch up with much simpler, more easily ported languages on the new platforms. (Not that I can imagine IBM trying to come up with a port of PL/I to the PDP-11.)

In short,

  1. Nobody other than IBM had a stake in making PL/I succeed.
  2. IBM cared only about their own mainframe hardware.
  3. PL/I was viciously hard to port to other hardware.
  4. By the time it was clear that the mainframe era was over, it was too late for PL/I to catch on.

I liked PL/I, but I don't miss it.

Jerkwater answered 14/7, 2010 at 14:55 Comment(5)
Thanks. Both answers are useful but I picked Kemiisto's answer. 1 vote up.Gwalior
+1: FWIW I think @Gwalior picked the less good answer to accept.Malorie
It's hard to make a choice when both answers are very informative. I gave both 1 vote up and eventually I had to select one of answers. I understand that other people may not agree with the answer that I picked.Gwalior
PL/I did have some features that I've missed. I particularly remember the ability to have loops with interesting count sequences, which could be very useful in some kinds of protocol applications where the beginning and end of a loop require special handling.Immerse
PL/1 (/1 standing “for unification” rebuffed by IBM as ‘not theirs’) was Multics's main compiler; PL/1 was a major subset of PL/I (as opposed to Bell Labs' prototype EPL which was a smaller subset). At Prime Computer, PL/P was a major subset of PL/I (where the PL/P is an acronym for Programming Language for Prime as a retort on their backronym for PL/I: Programming Language for IBM). Digital Research and Intel wrote & extensively used PL/M (an acronym for Programming Language for Microcomputers) that was a tiny subset of PL/I. It was the “for” slash that fragmented support.Tilla
W
9

Why is that?

I think there is a couple of reasons.

Maybe because habit is second nature. When PL/I appeared FORTRAN had already existed for almost 10 years. When some new technology/language appears you can start to disparage existing code base by calling it legacy code. But there is no reason to start conversion immediately. Especially it was big problem in 70s due to the lack of automated converters and other tools.

The next reason might be that there is no silver bullet. PL/I was attempt to create such silver bullet - general purpose language. They tried their best, you know the rest. =) PL/I was monstrous language. Frow Wikipedia article:

Programmers were sharply divided into scientific programmers (who used Fortran) and business programmers (who used COBOL), with significant tension and even dislike between the groups. PL/I syntax borrowed from both COBOL and Fortran syntax. So instead of noticing features that would make their job easier, Fortran programmers of the time noticed COBOL syntax and had the opinion that it was a business language, while COBOL programmers noticed FORTRAN syntax and looked on it as a scientific language.

Also the "old folks" like FORTRAN evolve under danger of death and added features such as structured programming, object orientation, etc. That reduced PL/I's relative advantages.

P.S. Also take a look at that part of Wikipedia article already mentioned.

Wolfie answered 14/7, 2010 at 13:34 Comment(0)
H
1

Agree with the above, it was something like a Swiss army pocket knife with far too many blades.

As far as compiler availability, there was a project to build a PL/1 front end for the gnu compiler. See http://pl1gcc.sourceforge.net/ (though it looks moribund from the date of the last announcement). Also, http://www.thefreecountry.com/compilers/miscellaneous.shtml mentions a Digital Research PL/1 compiler for MSDOS which was supposedly free for personal use.

Hyaline answered 17/2, 2013 at 7:49 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.