开发者

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

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance. 开发者_Go百科 Closed 9 years ago.

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


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.


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.


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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜