PL/I是一種非常古老的語言,但似乎並沒有像Fortran那樣得到很多關於科學計算的宣傳和讚賞。這是爲什麼?在網上搜索確實表明有許多用於科學計算的PL/I代碼。其中還有一個由IBM在PL/I中開發的科學計算庫。爲什麼PL/I沒有在科學計算中做到這一點?
但是我還沒有發現任何用於PL/I的Windows免費編譯器。是否由於缺乏免費的編譯器,PL/I沒有吸引科學界?
非常感謝......
PL/I是一種非常古老的語言,但似乎並沒有像Fortran那樣得到很多關於科學計算的宣傳和讚賞。這是爲什麼?在網上搜索確實表明有許多用於科學計算的PL/I代碼。其中還有一個由IBM在PL/I中開發的科學計算庫。爲什麼PL/I沒有在科學計算中做到這一點?
但是我還沒有發現任何用於PL/I的Windows免費編譯器。是否由於缺乏免費的編譯器,PL/I沒有吸引科學界?
非常感謝......
這是爲什麼?
我認爲有幾個原因。
也許是因爲習慣是第二性質。當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。
我曾與IBM人員一起工作,他們構建了PL/I優化編譯器和PL/I結算編譯器。我喜歡使用PL/I,但它是「二次系統效應」的典型例子:非常複雜和笨重,雖然強大。想象一下Perl的閉源版本,你不會離得太遠。關鍵是封閉源。語言需要數年的時間才能掌握,到70年代中期PL/I穩定時,計算已經從大型機轉向小型機。然後在20世紀80年代末,微型計算機接管了。PL/I編譯器是而不是設計爲便攜式—它們是在IBM 360之後立即啓動的,它將成爲任何人需要的最後一臺計算機—並且IBM沒有辦法趕上更簡單,更容易在新平臺上移植語言。 (不,我可以想像IBM試圖拿出PL的端口/我的PDP-11)。
總之,
我喜歡PL/I,但我不會錯過它。
謝謝。兩個答案都很有用,但我選擇了Kemiisto的答案。 1投票。 – yCalleecharan 2010-07-14 17:36:09
+1:FWIW我認爲@yCalleecharan選擇了不太好的答案來接受。 – 2010-07-15 09:25:31
當兩個答案都非常有用時,很難做出選擇。我給了兩個投票,最終我不得不選擇其中一個答案。我瞭解其他人可能不同意我選擇的答案。 – yCalleecharan 2010-07-23 05:59:02
同意上面的說法,就像是瑞士軍刀的刀片一樣。
就編譯器的可用性而言,有一個項目爲gnu編譯器構建一個PL/1前端。請參閱http://pl1gcc.sourceforge.net/(儘管從上次發佈日期起它已經瀕臨滅絕)。此外,http://www.thefreecountry.com/compilers/miscellaneous.shtml還提到了一種用於MSDOS的數字研究PL/1編譯器,該編譯器可以免費供個人使用。
感謝Skaffman進行編輯和創建標籤PL/I。 – yCalleecharan 2010-07-14 17:40:27