2010-07-14 123 views
7

PL/I是一種非常古老的語言,但似乎並沒有像Fortran那樣得到很多關於科學計算的宣傳和讚賞。這是爲什麼?在網上搜索確實表明有許多用於科學計算的PL/I代碼。其中還有一個由IBM在PL/I中開發的科學計算庫。爲什麼PL/I沒有在科學計算中做到這一點?

但是我還沒有發現任何用於PL/I的Windows免費編譯器。是否由於缺乏免費的編譯器,PL/I沒有吸引科學界?

非常感謝......

+0

感謝Skaffman進行編輯和創建標籤PL/I。 – yCalleecharan 2010-07-14 17:40:27

回答

6

這是爲什麼?

我認爲有幾個原因。

也許是因爲習慣是第二性質。當PL/I出現FORTRAN已經存在了將近10年。當出現一些新的技術/語言時,您可以通過將其稱爲遺留代碼來貶低現有代碼庫。但是沒有理由立即開始轉換。尤其是70年代由於缺乏自動轉換器和其他工具而造成的大問題。

下一個原因可能是沒有銀彈。 PL/I試圖創建這種銀彈 - 通用語言。他們盡力而爲,其他人都知道。 =)PL /我是怪異的語言。長得更高Wikipedia article

程序員被大幅分爲 科學的程序員(誰使用 Fortran語言)和業務程序員(誰 使用COBOL),有顯著緊張 和羣體之間甚至厭惡。 從COBOL 和Fortran語法中借用的PL/I語法。因此,而不是 注意到的功能,將使 他們的工作更容易,Fortran語言編程時注意COBOL語法 和 有意見,這是一個商業 語言,而COBOL程序員 注意到FORTRAN語法和看着 它作爲一個科學語言。

此外,像FORTRAN這樣的「老年人」在死亡的危險中演化,並增加了諸如結構化編程,面向對象等功能。這減少了PL/I的相對優勢。

P.S.另請參閱已提及的Wikipedia文章的that part

11

我曾與IBM人員一起工作,他們構建了PL/I優化編譯器和PL/I結算編譯器。我喜歡使用PL/I,但它是「二次系統效應」的典型例子:非常複雜和笨重,雖然強大。想象一下Perl的閉源版本,你不會離得太遠。關鍵是封閉源。語言需要數年的時間才能掌握,到70年代中期PL/I穩定時,計算已經從大型機轉向小型機。然後在20世紀80年代末,微型計算機接管了。PL/I編譯器是而不是設計爲便攜式—它們是在IBM 360之後立即啓動的,它將成爲任何人需要的最後一臺計算機—並且IBM沒有辦法趕上更簡單,更容易在新平臺上移植語言。 (不,我可以想像IBM試圖拿出PL的端口/我的PDP-11)。

總之,

  1. 沒有人以外的其他IBM曾在製作PL/I的股份成功。
  2. IBM只關心自己的主機硬件。
  3. PL /我很難轉到其他硬件。當主機時代已經結束,PL/I已經爲時過晚了。

我喜歡PL/I,但我不會錯過它。

+0

謝謝。兩個答案都很有用,但我選擇了Kemiisto的答案。 1投票。 – yCalleecharan 2010-07-14 17:36:09

+1

+1:FWIW我認爲@yCalleecharan選擇了不太好的答案來接受。 – 2010-07-15 09:25:31

+0

當兩個答案都非常有用時,很難做出選擇。我給了兩個投票,最終我不得不選擇其中一個答案。我瞭解其他人可能不同意我選擇的答案。 – yCalleecharan 2010-07-23 05:59:02