为什么 PL/I 没有在科学计算领域取得成功?

发布于 2024-09-09 21:04:36 字数 203 浏览 4 评论 0原文

PL/I 是一种非常古老的语言,但在科学计算方面似乎没有像 Fortran 那样得到太多的宣传和赞赏。这是为什么?在网络上搜索确实显示有许多用于科学计算的 PL/I 代码。 IBM 在 PL/I 中开发了一个科学计算库。

但我还没有找到任何适用于 Windows 的 PL/I 的免费编译器。是否由于缺少免费编译器,PL/I 没有吸引科学界的关注?

多谢...

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

无畏 2024-09-16 21:04:36

我与 IBM 的人员一起工作,他们构建了 PL/I 优化编译器和 PL/I 检查编译器。我喜欢使用 PL/I,但它是“第二系统效应”的典型示例:尽管功能强大,但非常复杂且笨重。想象一下 Perl 的闭源版本,您的梦想就不会太遥远。其中的关键是闭源。语言需要数年时间才能扎根,当 PL/I 在 20 世纪 70 年代中期稳定下来时,计算已经从大型机转向小型机。然后在 20 世纪 80 年代末,微型计算机占据了主导地位。 PL/I 编译器并不是设计为可移植的——它们是在 IBM 360 之后立即启动的,而 IBM 360 将是任何人需要的最后一台计算机——而且 IBM 不可能赶上在新平台上使用更简单、更容易移植的语言。 (我无法想象 IBM 会尝试将 PL/I 移植到 PDP-11。)

简而言之,

  1. 除了 IBM 之外,没有人与 PL/I 的成功有利害关系。
  2. IBM 只关心他们自己的大型机硬件。
  3. PL/I 很难移植到其他硬件。
  4. 当大型机时代明显结束时,PL/I 的流行已经为时已晚。

我喜欢 PL/I,但我不会怀念它。

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.

淑女气质 2024-09-16 21:04:36

这是为什么?

我认为有几个原因。

也许是因为习惯就是第二天性。当 PL/I 出现时,FORTRAN 已经存在近 10 年了。当出现某种新技术/语言时,您可以通过将其称为遗留代码来开始贬低现有的代码库。但没有理由立即开始转换。尤其是在 70 年代,由于缺乏自动化转换器和其他工具,这是一个大问题。

下一个原因可能是没有灵丹妙药。 PL/I 试图创建这样的灵丹妙药——通用目的语言。他们已经尽力了,剩下的你就知道了。 =) PL/I 是一种可怕的语言。参见维基百科文章

程序员被分成两类:
科学程序员(谁使用过
Fortran)和业务程序员(谁
使用COBOL),具有显着的张力
甚至群体之间不喜欢。
PL/I 语法借用自 COBOL
和 Fortran 语法。所以而不是
注意到可以使
Fortran 程序员,他们的工作更轻松
当时注意到 COBOL 语法并且
认为这是一门生意
语言,而 COBOL 程序员
注意到 FORTRAN 语法并查看
它作为一种科学语言。

此外,像 FORTRAN 这样的“老家伙”也在死亡的危险下不断发展,并添加了结构化编程、面向对象等功能。这降低了 PL/I 的相对优势。

PS 另请参阅维基百科文章中已经提到的那部分

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.

蓝眸 2024-09-16 21:04:36

同意上面的说法,它就像一把瑞士军用小刀,刀片太多了。

就编译器可用性而言,有一个项目为 gnu 编译器构建 PL/1 前端。请参阅 http://pl1gcc.sourceforge.net/ (尽管从上次公告之日起它看起来已经濒临死亡) 。另外, http://www.thefreecountry.com/compilers/miscellaneous.shtml 提到了用于 MSDOS 的 Digital Research PL/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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文