日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

四位技術(shù)大拿相聚西雅圖,共同探討編程語言的設(shè)計與未來發(fā)展

Linux愛好者 ? 來源:lq ? 2019-05-05 17:18 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

編程語言的優(yōu)劣,一直眾說紛紜。倘若編程語言的創(chuàng)造者們相聚一起共談自己所設(shè)計的語言,是否又會掀起一番“腥風(fēng)血雨”?

其實就在近日,Python 創(chuàng)始人 Guido van Rossum、Java 創(chuàng)始人 James Gosling、C# 創(chuàng)始人 Anders Hejlsberg、Perl 創(chuàng)始人 Larry Wall 四位技術(shù)大拿相聚西雅圖,共同探討編程語言的設(shè)計與未來發(fā)展。

4月初,在Puget Sound Programming Python(簡稱PuPPy)舉辦的第一屆年度慈善活動中,四位傳奇的編程語言創(chuàng)始人聚集在一起就編程語言設(shè)計的過去和未來展開了熱烈的討論。此次活動旨在為面向所有人的計算機科學(xué)教育(Computer Science For All,美國前總統(tǒng)奧巴馬當(dāng)年年初提出的新計劃,旨在美國教育體系中普及計算機科學(xué))籌集資金。

與會的小組成員包括以下流行編程語言的創(chuàng)始人:

Guido van Rossum:Python的創(chuàng)始人;

James Gosling:Java編程語言的創(chuàng)始人兼首席設(shè)計師;

Anders Hejlsberg:Turbo Pascal的原作者,他也致力于C#和TypeScript的開發(fā);

Larry Wall:Perl的創(chuàng)始人。

此次討論會由Carol Willing主持,目前她是Jupyter項目的指導(dǎo)委員會成員和開發(fā)人員。她還是首屆Python指導(dǎo)委員會成員,Python軟件基金會研究員和前任主任。

編程語言設(shè)計的關(guān)鍵原則

小組成員提出的第一個問題是:“編程語言設(shè)計的原理是什么?”

Guido van Rossum認為:

編程語言的設(shè)計與J·K·羅琳撰寫她的哈利波特系列叢書的方式非常相似。

他解釋說,J·K·羅琳是一個天才,她在第一本哈利波特書中提到的一些細節(jié)與第六和第七本書中重要的情節(jié)相呼應(yīng)。

在解釋這與編程語言設(shè)計之間的關(guān)系時,他表示:“在編程語言設(shè)計中亦是如此,我們需要做到首尾呼應(yīng)?!痹谠O(shè)計編程語言時,首先我們會承諾某些細節(jié),例如我們想要使用的關(guān)鍵字,我們想要遵循的編碼風(fēng)格等等。但是,無論我們做了何種決定,都必須堅持到底,將來我們需要像J·K·羅琳一樣,找到使用這些細節(jié)的新方式。

他補充說道:“一方面,在設(shè)計編程語言的工作中,最開始你要做出一系列的選擇,為你的故事發(fā)展埋下伏筆。另一方面,設(shè)計編程語言的藝術(shù)在于,你需要不斷回顧你的故事,并展開奇思妙想,以你始料未及的方式推進故事發(fā)展?!?/p>

當(dāng)談?wù)摰絁ames Gosling創(chuàng)建Java的過程,以及他所遵循的設(shè)計原則時,他只是淡淡地說:“Java的出現(xiàn)并不像個人熱愛的項目那樣。其實我們只是想試著建立一個原型?!碑?dāng)時,James Gosling和他的團隊開展了一個涉及嵌入式系統(tǒng)領(lǐng)域的項目。為此,他們與許多為嵌入式系統(tǒng)構(gòu)建軟件的開發(fā)人員進行了交談,并了解了他們的工作流程。

該項目大約有十幾個人,Gosling負責(zé)從編程語言的角度來盡量簡化項目。他補充說:“最初我們只想做比C更好的東西,但是后來就失去了控制,最終項目的其余部分只是提供了素材。”所幸“Java”從該項目中活了下來。基本上該編程語言就是為了解決身居數(shù)據(jù)中心之外的人的問題,這些人常常為網(wǎng)絡(luò)、安全性和可靠性等問題困擾。

Larry Wall覺得自己更像“語言學(xué)家”,而不是計算機科學(xué)家。他想創(chuàng)造一種更接近自然語言的編程語言。他舉了一個例子:“就好像我們不必讓每個人都走進大學(xué)校園才能決定他們各自的去向,我們可以觀察人們想去哪里,然后設(shè)置通向這些地方的捷徑。”Perl創(chuàng)建背后的一項基本原則是通過API提供一切功能。這種編程語言的目標不僅是建立一種優(yōu)秀的文本處理語言,而且也想成為一種膠水語言。

Wall進一步說,雖然在90年代Perl非常穩(wěn)定,但也確實存在一些問題。因此,2000年的時候,Perl團隊決定打破一切,并提出了一套全新的設(shè)計原則。而且,他們還根據(jù)這些原則,重新設(shè)計出了Perl 6。其中一些原則做出了正確的選擇——保守地使用括號,否則算上Unicode的括號也不夠用;無需蹩腳地重新發(fā)明面向?qū)ο蟮鹊取?/p>

他補充說,

“大量的重新設(shè)計就像是說,我們該用哪根柱子支撐一切?新的設(shè)計是面向?qū)ο蟮膯幔渴窃谠~法作用域內(nèi)重新設(shè)計,還是在更大的范圍內(nèi)?每片信息的正確的支柱是什么?如果我們根本沒有支柱的話,該如何創(chuàng)建?”

Anders Hejlsberg表示,他遵循了他所接觸過的所有編程語言的共同原則,即“做某件事情的方法只有一種?!彼J為,如果開發(fā)人員有四種不同的方法,那么最終很有可能會選擇錯誤的道路,而且要過很久才能在開發(fā)中意識到這個錯誤。根據(jù)Hejlsberg的說法,這就是為什么開發(fā)人員總是會創(chuàng)建一種名為“簡單的復(fù)雜”的東西,也就是說拿到一些復(fù)雜的東西后,通過簡單的打包來掩蓋復(fù)雜性。

與Guido van Rossum的觀點相似,他進一步補充說,在設(shè)計一種編程語言的時候,無論你做出怎樣的決定,都必須堅持到底。在設(shè)計編程語言的時候,你需要謹慎地決定“不”將哪些東西引入到這種編程語言中。通常,人們會向你提出他們的建議,但你無法真正改變編程語言的本質(zhì)。雖然你無法真正改變語言的基本性質(zhì),但是你可以進行擴展?;旧夏阌袃蓚€選擇:要么堅持語言的本質(zhì),要么開發(fā)一個新的編程語言。

編程語言的類型系統(tǒng)

在談?wù)摰絇ython決定類型的方法時,Guido van Rossum分享了Python首次推出時的一個故事。起初,int不是一個類,實際上它是一個轉(zhuǎn)換函數(shù)。后來,Guido意識到這是一個錯誤?!拔覀冇泻芏噙@樣的功能,我們意識到我們犯了一個錯誤,我們向用戶提供了與內(nèi)置對象類型不同的類。”

于是,Python團隊決定重新構(gòu)建Python的整個類型,并進行了大量的清理。因此,他們將函數(shù)int更改為類int的指定符?,F(xiàn)在,調(diào)用這個類意味著構(gòu)造該類的實例。

James Gosling表示一直以來他都很注重性能,而提高性能的一個因素是類型系統(tǒng)。在構(gòu)建優(yōu)化編譯器和提前檢查正確性等方面,類型系統(tǒng)非常實用。擁有類型系統(tǒng)也有助于為小型設(shè)備構(gòu)建系統(tǒng)的情況。他說:“為了能在有限的空間內(nèi)工作,你必須了解設(shè)備提供的每一種可能性,而且你知道得越早,就越有可能出色地完成工作?!?/p>

Anders Hejlsberg將類型系統(tǒng)視為一種工具。開發(fā)人員喜歡他們的IDE,他們習(xí)慣于使用語句的自動補齊、重構(gòu)和代碼導(dǎo)航等。這些功能是通過代碼的語義知識而實現(xiàn)的,而這種語義知識正是由類型系統(tǒng)的編譯器提供的。Hejlsberg認為,添加類型可以大大提高開發(fā)人員的生產(chǎn)力,雖然這與我們的直覺相反。

他補充說:“我們以為動態(tài)語言更容易掌握,因為你擺脫了類型的束縛。然而,事實證明,如果你以非侵入的方式添加類型,同時努力做好類型推斷等,那么就可以提高效率。”

談到Perl中的類型系統(tǒng)時,Wall表示Perl 5和Perl 6有不同類型的系統(tǒng)。在Perl 5中,所有類型都會被視為字符串,即便是數(shù)字或浮點類型。該團隊希望在重新設(shè)計Perl 6的時候依然保留這個功能,然而他們意識到:“如果新用戶對可互換性感到困惑,那還好;但如果連計算機都感到困惑,那就不妙了?!?/p>

于是,在Perl 6中,Wall和他的團隊希望將其打造成更好的面向?qū)ο笠约案玫暮瘮?shù)式編程語言。為了實現(xiàn)這一目標,他們需要一個非常合理的類型系統(tǒng),并在底層建立一個非常合理的元對象模型。此外,你還需要非常重視“一切都是對象,一切都是閉環(huán)”的口號。

影響編程語言維護性的因素有哪些?

Guido van Rossum認為,如果想加強編程語言的維護性,那么就需要在靈活性和規(guī)范性之間取得恰當(dāng)?shù)钠胶猓@一點非常重要。雖然對于小型程序來說,動態(tài)類型更好用,但大型程序則需要采用嚴格的方法。而且,最好能夠通過編程語言本身實現(xiàn)規(guī)則,不要給用戶留下太多自由發(fā)揮的空間。出于這個原因,Guido打算在Python中添加類似TypeScript的技術(shù)。他補充說:

“實際上,TypeScript非常實用,因此我們也想在Python中添加類似的概念。當(dāng)然我們的添加方式會略有不同,因為我們的語言環(huán)境不同?!?/p>

除了類型系統(tǒng)以外,事實證明重構(gòu)引擎也非常有用。有了重構(gòu)引擎后,就可以一次執(zhí)行數(shù)百萬行代碼的大規(guī)模重構(gòu)了。通常,人們不會重命名方法,因為你很難認真看完一段代碼,然后正確地給每一個變量重命名。如果你有一個重構(gòu)引擎,那么只需點下幾個按鈕,輸入新名稱,然后30秒內(nèi)就可以完成重構(gòu)。

Anders Hejlsberg表示,TypeScript項目源自一些龐大的JavaScript代碼庫。隨著這些代碼庫變得越來越大,維護工作變得異常艱難。后來基本上這些代碼庫變成了“只寫的代碼”。他補充說,因此我們需要理解代碼的語義,而這個過程也降低了重構(gòu)工作的難度。他表示:“這種語義的理解需要一個類型系統(tǒng),而且在你開始添加類型系統(tǒng)時,你還可以添加代碼的文檔?!盬all也支持“良好的詞法作用域有助于重構(gòu)”的觀點。

編程語言設(shè)計的未來

在談?wù)摰骄幊陶Z言設(shè)計的未來時,James Gosling分享了編程中一個未充分探索的領(lǐng)域——編寫使用GPU的代碼。他強調(diào)說,目前我們的編程語言都無法直接利用GPU,我們應(yīng)該加大這個領(lǐng)域的發(fā)展。

Anders Hejlsberg表示,編程語言不會像硬件或所有其他技術(shù)那樣快速地變化。就發(fā)展速度而論,編程語言更像是數(shù)學(xué)和人腦。他說:“我們?nèi)匀辉谑褂?0年前發(fā)明的語言進行編程,所有的函數(shù)式編程原理都是50多年前的研究成果。”

但是,他也相信,如今的編程語言趨于多范式,不會嚴格區(qū)分面向?qū)ο缶幊袒蚝瘮?shù)式編程等類別。

“語言正在走向多范式。我覺得我們不應(yīng)該再說我只喜歡面向?qū)ο蟮木幊?、命令式編程或函?shù)式編程語言。”

如今,更重要的是我們需要了解最新的研究、新思維和新范式,并優(yōu)雅地將這些新思想融入到我們的編程風(fēng)格中。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 編程語言
    +關(guān)注

    關(guān)注

    10

    文章

    1965

    瀏覽量

    39894
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4977

    瀏覽量

    74420
  • python
    +關(guān)注

    關(guān)注

    58

    文章

    4889

    瀏覽量

    90330

原文標題:四大編程語言之父聚首,編程語言要變天?

文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    深入解析FAIRCHILD DM74ALS161B、DM74ALS162B、DM74ALS163B同步四位計數(shù)器

    深入解析FAIRCHILD DM74ALS161B、DM74ALS162B、DM74ALS163B同步四位計數(shù)器 一、引言 在電子設(shè)計領(lǐng)域,計數(shù)器是一種常見且重要的數(shù)字電路元件,廣泛應(yīng)用于各種計數(shù)
    的頭像 發(fā)表于 03-12 15:40 ?293次閱讀

    探索MAXIM四位顯示解碼器/驅(qū)動器:ICM7211深度解析

    探索MAXIM四位顯示解碼器/驅(qū)動器:ICM7211與ICM7212深度解析 在電子設(shè)備的顯示需求日益多樣化的今天,一款高效、穩(wěn)定的顯示解碼器/驅(qū)動器顯得尤為重要。MAXIM推出的ICM7211
    的頭像 發(fā)表于 02-03 10:25 ?327次閱讀

    探索Maxim ICM7212:四位顯示解碼器/驅(qū)動器的卓越之選

    探索Maxim ICM7211/7212:四位顯示解碼器/驅(qū)動器的卓越之選 在硬件設(shè)計中,顯示驅(qū)動是一個關(guān)鍵環(huán)節(jié),需要穩(wěn)定、高效且功能豐富的解決方案。Maxim的ICM7211和ICM7212四位
    的頭像 發(fā)表于 02-03 10:25 ?265次閱讀

    負熱膨脹材料的發(fā)展未來:ULTEA? 背后的技術(shù)演進

    ,正是這一技術(shù)演進的典型成果。本文將追溯負熱膨脹材料的發(fā)展脈絡(luò),探討 ULTEA? 的技術(shù)創(chuàng)新之處,以及這類材料的未來
    的頭像 發(fā)表于 01-21 16:31 ?1147次閱讀
    負熱膨脹材料的<b class='flag-5'>發(fā)展</b>與<b class='flag-5'>未來</b>:ULTEA? 背后的<b class='flag-5'>技術(shù)</b>演進

    SN54F283與SN74F283:4二進制全加器的技術(shù)剖析

    SN54F283與SN74F283:4二進制全加器的技術(shù)剖析 在數(shù)字電路設(shè)計中,加法器是最基礎(chǔ)且關(guān)鍵的組件之一。今天我們要深入探討的是德州儀器(TI)的SN54F283和SN74F283這兩款4
    的頭像 發(fā)表于 12-29 16:20 ?1168次閱讀

    歐洲第站!技術(shù)論壇點燃愛丁堡新火花

    當(dāng)?shù)貢r間2025年12月2日上午,歐洲開源鴻蒙城市技術(shù)論壇第站于英國愛丁堡圓滿落下帷幕。本次論壇匯聚了來自華為、愛丁堡大學(xué)以及產(chǎn)業(yè)界的專家,共同探討操作系統(tǒng)、新型
    的頭像 發(fā)表于 12-10 18:10 ?1513次閱讀
    歐洲第<b class='flag-5'>四</b>站!<b class='flag-5'>技術(shù)</b>論壇點燃愛丁堡新火花

    京微齊力亮相2025國際現(xiàn)場可編程技術(shù)大會

    12月2日-5日,2025年國際現(xiàn)場可編程技術(shù)大會(FPT)在上海成功舉辦,京微齊力應(yīng)邀參加此次行業(yè)盛會,與全球領(lǐng)先的行業(yè)專家學(xué)者,共同探討編程技術(shù)的創(chuàng)新與
    的頭像 發(fā)表于 12-10 15:00 ?686次閱讀
    京微齊力亮相2025國際現(xiàn)場可<b class='flag-5'>編程技術(shù)</b>大會

    開源鴻蒙技術(shù)大會2025丨編譯器與編程語言分論壇:語言驅(qū)動系統(tǒng)創(chuàng)新,編譯賦能生態(tài)繁榮

    語言設(shè)計演進、編譯器優(yōu)化、工具鏈創(chuàng)新等前沿議題,匯聚產(chǎn)學(xué)研多方力量,共同探討如何通過語言與編譯技術(shù)推動開源鴻蒙生態(tài)向更高效、更智能的方向
    的頭像 發(fā)表于 11-20 17:24 ?1193次閱讀
    開源鴻蒙<b class='flag-5'>技術(shù)</b>大會2025丨編譯器與<b class='flag-5'>編程</b><b class='flag-5'>語言</b>分論壇:<b class='flag-5'>語言</b>驅(qū)動系統(tǒng)創(chuàng)新,編譯賦能生態(tài)繁榮

    上汽大通MAXUS正式發(fā)布大拿純電輕客家族

    以革新之勢劍指大VAN市場!2025年10月15日,上汽大通MAXUS專為大VAN市場多元創(chuàng)富需求打造的大拿純電輕客家族核心車型——大拿M1、大拿V1L正式煥新上市,全面覆蓋專業(yè)物流、營運客運、定制改裝等場景。
    的頭像 發(fā)表于 10-17 16:15 ?827次閱讀

    人工智能技術(shù)的現(xiàn)狀與未來發(fā)展趨勢

    人工智能技術(shù)的現(xiàn)狀與未來發(fā)展趨勢 ? ? 近年來,人工智能(AI)技術(shù)迅猛發(fā)展,深刻影響著各行各業(yè)。從計算機視覺到自然
    的頭像 發(fā)表于 07-16 15:01 ?2361次閱讀

    CES Asia 2025同期低空智能感知與空域管理技術(shù)論壇即將啟幕

    安全、UTM/UAM管理系統(tǒng)發(fā)展與互操作性、人工智能在空域動態(tài)管理中的應(yīng)用等前沿議題,將匯聚全球頂尖專家、企業(yè)代表,共同探索低空領(lǐng)域的未來發(fā)展方向。 低空通信導(dǎo)航監(jiān)視
    發(fā)表于 07-10 10:16

    CES Asia 2025蓄勢待發(fā),聚焦低空經(jīng)濟與AI,引領(lǐng)未來產(chǎn)業(yè)新變革

    Asia 2025 的舉辦,將為全球科技產(chǎn)業(yè)的發(fā)展注入新的動力。通過深入探討低空經(jīng)濟與人工智能的技術(shù)突破、應(yīng)用落地、政策監(jiān)管與投資機遇,有望推動這兩大領(lǐng)域?qū)崿F(xiàn)跨越式發(fā)展,引領(lǐng)
    發(fā)表于 07-09 10:29

    物聯(lián)網(wǎng)未來發(fā)展趨勢如何?

    、設(shè)備和資源連接在一起,實現(xiàn)城市管理的智能化和高效化。智慧城市可以解決交通擁堵、能源浪費等城市化問題,提升居民的生活質(zhì)量和城市的可持續(xù)發(fā)展。 醫(yī)療保?。何锫?lián)網(wǎng)技術(shù)在醫(yī)療保健領(lǐng)域的應(yīng)用也將成為未來
    發(fā)表于 06-09 15:25

    0.1-3.0 GHz 四位數(shù)字衰減器 (1 dB LSB) skyworksinc

    電子發(fā)燒友網(wǎng)為你提供()0.1-3.0 GHz 四位數(shù)字衰減器 (1 dB LSB)相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有0.1-3.0 GHz 四位數(shù)字衰減器 (1 dB LSB)的引腳圖、接線圖、封裝手冊
    發(fā)表于 05-26 18:29
    0.1-3.0 GHz <b class='flag-5'>四位</b>數(shù)字衰減器 (1 dB LSB) skyworksinc

    淺析口千兆PoE網(wǎng)卡:應(yīng)用、技術(shù)未來趨勢

    深入探討口千兆PoE網(wǎng)卡的定義、應(yīng)用場景、關(guān)鍵技術(shù)以及未來發(fā)展趨勢,力求對其進行全面而專業(yè)的分析。一、定義與核心功能
    的頭像 發(fā)表于 05-14 14:39 ?1611次閱讀
    淺析<b class='flag-5'>四</b>口千兆PoE網(wǎng)卡:應(yīng)用、<b class='flag-5'>技術(shù)</b>與<b class='flag-5'>未來</b>趨勢
    黄大仙区| 东辽县| 仪陇县| 忻州市| 繁昌县| 加查县| 长子县| 高雄市| 南投市| 丰原市| 益阳市| 宽城| 天镇县| 连南| 遂平县| 鄱阳县| 西和县| 庆城县| 藁城市| 嘉定区| 伽师县| 盐山县| 瑞金市| 吉林市| 韩城市| 萨迦县| 滦南县| 大名县| 温泉县| 长治县| 名山县| 哈巴河县| 闵行区| 弥勒县| 扎鲁特旗| 海宁市| 静宁县| 桃园县| 邮箱| 泽库县| 洞口县|