Question

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...

Was it helpful?

Solution

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.

OTHER TIPS

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.

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top