精選!計(jì)算機(jī)編程語(yǔ)言為何層出不窮?化解開(kāi)發(fā)者痛點(diǎn)才是關(guān)鍵
在 7 月上旬的一篇 CACM 博客文章中,Doug Meil 談?wù)摿恕稙楹斡羞@么多編程語(yǔ)言?》這個(gè)話題。而在 1990 年代,曾有一位精通計(jì)算機(jī)、但并非身為全職開(kāi)發(fā)者的朋友向他提問(wèn)“為何沒(méi)有一種好用的編程語(yǔ)言?”當(dāng)時(shí)他的回答是,編程語(yǔ)言同行為特定的人物或工作語(yǔ)言而設(shè)計(jì)。
【資料圖】
訪問(wèn):
阿里云“無(wú)影云電腦” 支持企業(yè)快速實(shí)現(xiàn)居家辦公
(來(lái)自:BLOG@CACM)
從這個(gè)意義上說(shuō),大多數(shù)語(yǔ)言的區(qū)別,并不在于它們使什么成為可能、而更多地表現(xiàn)在它們使什么變得容易。
幾年前,Doug Meil 有機(jī)會(huì)參觀了位于加州山景城的計(jì)算機(jī)歷史博物館。有趣的是,在眾多展品中,有一幅關(guān)于編程語(yǔ)言演變的超大號(hào)壁紙圖標(biāo)。
這張圖是如此之大,想必任何編寫(xiě)過(guò)“Hello World”語(yǔ)句人們,都可以在上面找到對(duì)應(yīng)的編程語(yǔ)言。
在本能的趨勢(shì)下,人們會(huì)忍不住沿著時(shí)間的正序方向去查看。但若回頭望,你又會(huì)領(lǐng)略到不同的視角。
這張圖表顯示了已經(jīng)發(fā)明的數(shù)千種編程語(yǔ)言里的大約 150 種,其中一些較為通用、另一些則是為特定類(lèi)型的應(yīng)用程序而設(shè)計(jì)。
圖表上的箭頭,顯示了較新誕生的語(yǔ)言如何受到了老語(yǔ)言的影響。不過(guò)就算復(fù)雜如此圖,它也只能算是更大范圍里的一個(gè)樣本。
(圖 via Coding Across America)
軟件世界里的新語(yǔ)言依然層出不窮,但很少有全新的語(yǔ)言冒出來(lái)。回顧早期,計(jì)算機(jī)的資源內(nèi)存、存儲(chǔ)和處理能力都相當(dāng)昂貴且有限。
為此,人們不得不逆風(fēng)上坡,甚至經(jīng)常需要通宵熬夜來(lái)爭(zhēng)取計(jì)算機(jī)的使用時(shí)間。而 1950-1960 年代初始的命名空間,可以精確地處理底層事務(wù)。
時(shí)至今日,年輕開(kāi)發(fā)者們已鮮有涉足 FORTRAN(公式翻譯)、COBOL(通用商業(yè)導(dǎo)向語(yǔ)言)、BASIC(初學(xué)者通用符號(hào)指令代碼)、ALGOL(算法語(yǔ)言)、LISP(List Processor)。
不過(guò)就算大多數(shù)人可能根本沒(méi)有聽(tīng)說(shuō)過(guò)描述字符串處理算法的 SNOBOL 語(yǔ)言(1962)或 OBJOL,但只要充分理解了面向?qū)ο蟮木幊汤砟睿筒浑y推測(cè)它可以用來(lái)干什么 —— 至少年代的命名模式就是如此。
1964 年的 PL/I,致力于成為一種更好用的編程語(yǔ)言。雖然它沒(méi)有如設(shè)計(jì)者預(yù)期那樣發(fā)展,但早在 1960 年代初,人們就已經(jīng)提出過(guò)“為何有這么多編程語(yǔ)言”的疑問(wèn)。
時(shí)間快速翻到千禧年后,我們陸續(xù)迎來(lái)了 Scala(2003)、Go(2009)、Rust(2010)、Kotlin(2011)和 Swift(2014)。
當(dāng)下的技術(shù)環(huán)境,似乎所有這些基本語(yǔ)言的屬性,都被重組到了特定的解決方案中。
其能夠滿足任何平臺(tái)上的所有低級(jí) / 高級(jí)功能、過(guò)程 / 對(duì)象、單線程 / 多線程、編譯 / 腳本需求。
在此情況下,繼續(xù)創(chuàng)造新語(yǔ)言的最大因素,反而是出于控制的考量。
1990 年代中期,微軟主要提供了 Visual Basic 和 Visual C++ 開(kāi)發(fā)語(yǔ)言,兩者都源于計(jì)算機(jī)歷史博物館壁紙上的舊節(jié)點(diǎn)。
VB 流行于為 Windows 桌面平臺(tái)構(gòu)建前端應(yīng)用程序,但缺乏許多高級(jí)語(yǔ)言功能 —— 比如數(shù)據(jù)結(jié)構(gòu)和線程。
VC++ 處于光譜的另一端 ——開(kāi)發(fā)者幾乎可以做到任何事情,但難點(diǎn)在于語(yǔ)言本身太過(guò)復(fù)雜。
正因如此,一些人看到了打造一款“中間語(yǔ)言”的機(jī)會(huì),于是 Java 在 1996 年迎來(lái)了爆發(fā)。
據(jù)悉,Java 是一種功能齊全的面向?qū)ο笳Z(yǔ)言,且涉及重點(diǎn)之一是跨平臺(tái)的可移植性,可惜這并不是微軟的首要目標(biāo)。
隨后 Sun Microsystems 和微軟在 1997 年陷入了曠日持久的沖突,并最終推動(dòng)后者在 2022 年推出了 C# 。
乍一看 C# 和 Java 很像,但實(shí)際上并非如此。其填補(bǔ)了微軟開(kāi)發(fā)堆棧的‘中間’位置,且該公司能夠更好地掌控該語(yǔ)言。
最后從總體設(shè)計(jì)控制角度來(lái)看,維護(hù)和發(fā)展現(xiàn)有系統(tǒng),很容易變成一項(xiàng)艱巨的挑戰(zhàn)。而管理編程語(yǔ)言的增長(zhǎng),也是最困難的案例之一。
作為編程語(yǔ)言的用戶,優(yōu)秀開(kāi)發(fā)者們不僅具有生產(chǎn)力、還能夠以創(chuàng)造性的方式去使用相關(guān)特性,即便這么做并不是語(yǔ)言作者所期望的。
2009 年的 Go 語(yǔ)言,就是一個(gè)相當(dāng)有趣的例子。其誕生的一個(gè)主要推動(dòng)因素,就是需要能夠在 Google 的容器化云環(huán)境中,高效且可預(yù)測(cè)地部署。
其次是對(duì)強(qiáng)大語(yǔ)言的渴望,尤其在網(wǎng)絡(luò)和并發(fā)性方面。從人才角度來(lái)看,Google 顯然有能力為現(xiàn)有語(yǔ)言構(gòu)建一套新的編譯器和運(yùn)行時(shí)引擎。
但要改變開(kāi)發(fā)者的習(xí)慣,則需要費(fèi)力地改變編程語(yǔ)言的語(yǔ)法和功能 —— 尤其是被告知某些事情不再被允許、或必須以不同方式去完成時(shí)。
關(guān)鍵詞: 軟件和應(yīng)用 計(jì)算機(jī)編程語(yǔ)言為何層出不窮化解開(kāi)發(fā)者痛點(diǎn)
推薦
-
標(biāo)準(zhǔn)聚力云上賦能數(shù)字經(jīng)濟(jì) 第十一屆中國(guó)云計(jì)算標(biāo)準(zhǔn)和應(yīng)用大會(huì)在線上召開(kāi)
近日,中國(guó)電子技術(shù)標(biāo)準(zhǔn)化研究院主辦的第十一屆中國(guó)云計(jì)算標(biāo)準(zhǔn)和應(yīng)用大會(huì)在線上召開(kāi)。本次大會(huì)以標(biāo)準(zhǔn)聚...
來(lái)源:人民郵電報(bào) -
DRAM銷(xiāo)售額連續(xù)兩個(gè)季度下滑 三星證券建議三星電子分拆代工業(yè)務(wù)并于美國(guó)上市
三星證券近日發(fā)布報(bào)告稱(chēng),隨著 DRAM 銷(xiāo)售額連續(xù)兩個(gè)季度下滑,三星電子須提升晶圓代工領(lǐng)域產(chǎn)品組合多...
來(lái)源:愛(ài)集微 -
英飛凌馬來(lái)西亞居林第三工廠項(xiàng)目舉行奠基儀式 目總投資逾80億令吉
英飛凌位于馬來(lái)西亞居林的第三工廠項(xiàng)目日前舉行奠基儀式,該項(xiàng)目總投資逾 80 億令吉(約合 121 2 億...
來(lái)源:愛(ài)集微 -
三星SDI開(kāi)發(fā)4680電池 能量密度及功率均有提升
特斯拉在 2020 年 9 月 22 日的電池日活動(dòng)上推出的 4680 電池,能量密度和輸出功率較他們此前所...
來(lái)源:TechWeb -
轉(zhuǎn)換科學(xué)第一年 韋伯太空望遠(yuǎn)鏡拍攝首張全彩照片發(fā)布
當(dāng)?shù)貢r(shí)間周一,美國(guó)宇航局 (NASA) 發(fā)布了旗下韋伯太空望遠(yuǎn)鏡拍攝的第一張全彩圖像。這是深空天文臺(tái)發(fā)...
來(lái)源:鳳凰科技 -
兆易創(chuàng)新發(fā)布公告 擬作為有限合伙人認(rèn)購(gòu)北京小米智造股權(quán)投資基金
兆易創(chuàng)新發(fā)布公告稱(chēng),公司擬作為有限合伙人以自有資金 2 億元參與認(rèn)購(gòu)小米私募股權(quán)基金管理有限公司管...
來(lái)源:愛(ài)集微 -
玉晶光正積極擴(kuò)增手機(jī)鏡頭產(chǎn)能 以迎接下半年市場(chǎng)需求旺季
蘋(píng)果供應(yīng)鏈光學(xué)元件廠玉晶光正積極擴(kuò)增手機(jī)鏡頭產(chǎn)能,以迎接下半年的市場(chǎng)需求旺季。7 月 7 日,玉晶...
來(lái)源:愛(ài)集微 -
中國(guó)移動(dòng)河北雄安分公司 打造節(jié)能降耗新模式
作為河北雄安新區(qū)首個(gè)集中建成區(qū),容東片區(qū)承載著10余萬(wàn)居民征遷安置的重要功能,它的通信保障與居民生...
來(lái)源:人民郵電報(bào) -
聯(lián)電公司6月?tīng)I(yíng)收達(dá)248.26億元新臺(tái)幣 連續(xù)九個(gè)月創(chuàng)單月歷史新高
聯(lián)電今(6)日公布的財(cái)報(bào)顯示,該公司 6 月?tīng)I(yíng)收達(dá)248 26 億元新臺(tái)幣(約 56 11 億元人民幣),月增 ...
來(lái)源:愛(ài)集微 -
中國(guó)工程院院士朱高峰 以超世之才和堅(jiān)忍不拔之志為槳
古之立大事者,不惟有超世之才,亦必有堅(jiān)忍不拔之志。從青絲到白發(fā),知識(shí)報(bào)國(guó)初心未改,60年與通信為伴...
來(lái)源:人民郵電報(bào)
直播更多》
-
助力算力賦能千行百業(yè) 首屆中國(guó)算力大會(huì)將在山東濟(jì)南召開(kāi)
算力競(jìng)爭(zhēng)是全球技術(shù)創(chuàng)新競(jìng)爭(zhēng)中的重要一...
-
助力算力賦能千行百業(yè) 首屆中國(guó)算力大會(huì)將在山東濟(jì)南召開(kāi)
算力競(jìng)爭(zhēng)是全球技術(shù)創(chuàng)新競(jìng)爭(zhēng)中的重要一...
-
加強(qiáng)投資中國(guó)北臺(tái)灣地區(qū) 日月光封測(cè)中壢廠斥資 67.8 億元擴(kuò)建
全球封測(cè)龍頭日月光投控加強(qiáng)投資中國(guó)北...
-
富士膠片宣布對(duì)其美國(guó)業(yè)務(wù)3.5億美元投資計(jì)劃 將用于產(chǎn)能擴(kuò)展和產(chǎn)品研發(fā)
半導(dǎo)體材料廠商富士膠片(FUJIFILM)日前...
-
國(guó)家公路網(wǎng)最新規(guī)劃出爐 總規(guī)模約46.1萬(wàn)公里
7月12日,國(guó)家發(fā)展改革委舉行專(zhuān)題新聞發(fā)...
-
鄉(xiāng)村治理盡在屏中 青海首個(gè)5G數(shù)字鄉(xiāng)村試點(diǎn)項(xiàng)目落戶寺?tīng)枩洗?/a>
詩(shī)仙李白有詩(shī)云:明月出天山,蒼茫云海...
資訊更多》
-
我國(guó)數(shù)字經(jīng)濟(jì)規(guī)模...
-
418億美元 愛(ài)立信...
-
Z世代在網(wǎng)絡(luò)搜索時(shí)...
-
合肥物質(zhì)科學(xué)研究...
-
多為先為 南京電...
-
推特組建專(zhuān)門(mén)律師...
焦點(diǎn)
- 陜西省通信管理局召開(kāi)專(zhuān)題會(huì)議 部署全省電信網(wǎng)絡(luò)安全檢查工作
- 今年全球IT支出總額將增長(zhǎng)3% 但I(xiàn)T硬件支出將萎縮至7678億美元
- 星際飛船超級(jí)重型助推器發(fā)生爆炸后損壞并不嚴(yán)重 或?qū)⒂谙轮苤胤蛋l(fā)射臺(tái)
- 國(guó)家電網(wǎng)能源互聯(lián)網(wǎng)產(chǎn)業(yè)雄安創(chuàng)新中心開(kāi)工 總投資27.2億
- 細(xì)心呵護(hù)老年人生活 甘肅聯(lián)通93個(gè)“智慧助老”體驗(yàn)中心同步啟用
- 人民至上生命至上 成研院打造院前急救系統(tǒng)新模式
- 為避開(kāi)廣告業(yè)務(wù)反壟斷訴訟 谷歌向美國(guó)司法部提交新方案
- 城區(qū)老舊小區(qū)故障多發(fā) 莆田電信開(kāi)展管線故障搶通整修工作
- 610億美元 博通收購(gòu)VMware將繼續(xù)進(jìn)行交易
- 河南省三門(mén)峽市澠池縣 99元“全家福”搭建山鄉(xiāng)百姓致富金橋