chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

3天內不再提示

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

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

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

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

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

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

編程語言設計的關鍵原則

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

Guido van Rossum認為:

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

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

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

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

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

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

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

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

他補充說,

“大量的重新設計就像是說,我們該用哪根柱子支撐一切?新的設計是面向對象的嗎?是在詞法作用域內重新設計,還是在更大的范圍內?每片信息的正確的支柱是什么?如果我們根本沒有支柱的話,該如何創(chuàng)建?”

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

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

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

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

于是,Python團隊決定重新構建Python的整個類型,并進行了大量的清理。因此,他們將函數int更改為類int的指定符。現在,調用這個類意味著構造該類的實例。

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

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

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

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

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

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

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

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

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

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

編程語言設計的未來

在談論到編程語言設計的未來時,James Gosling分享了編程中一個未充分探索的領域——編寫使用GPU的代碼。他強調說,目前我們的編程語言都無法直接利用GPU,我們應該加大這個領域的發(fā)展。

Anders Hejlsberg表示,編程語言不會像硬件或所有其他技術那樣快速地變化。就發(fā)展速度而論,編程語言更像是數學和人腦。他說:“我們仍然在使用50年前發(fā)明的語言進行編程,所有的函數式編程原理都是50多年前的研究成果?!?/p>

但是,他也相信,如今的編程語言趨于多范式,不會嚴格區(qū)分面向對象編程或函數式編程等類別。

“語言正在走向多范式。我覺得我們不應該再說我只喜歡面向對象的編程、命令式編程或函數式編程語言?!?/p>

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

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

    關注

    10

    文章

    1956

    瀏覽量

    36665
  • 代碼
    +關注

    關注

    30

    文章

    4900

    瀏覽量

    70756
  • python
    +關注

    關注

    56

    文章

    4827

    瀏覽量

    86766

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    CES Asia 2025蓄勢待發(fā),聚焦低空經濟與AI,引領未來產業(yè)新變革

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

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

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

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

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

    淺析口千兆PoE網卡:應用、技術未來趨勢

    深入探討口千兆PoE網卡的定義、應用場景、關鍵技術以及未來發(fā)展趨勢,力求對其進行全面而專業(yè)的分析。一、定義與核心功能
    的頭像 發(fā)表于 05-14 14:39 ?296次閱讀
    淺析<b class='flag-5'>四</b>口千兆PoE網卡:應用、<b class='flag-5'>技術</b>與<b class='flag-5'>未來</b>趨勢

    四位數碼管12個引腳怎么分配

    在電子顯示技術中,四位數碼管作為一種常見的顯示器件,廣泛應用于各種數字顯示系統(tǒng)。其通過控制不同段(A-G)的發(fā)光二極管(LED)來顯示數字或字符。對于具有12個引腳的四位數碼管,合理的引腳分配
    的頭像 發(fā)表于 01-30 15:00 ?1.5w次閱讀

    如何選擇適合自己的編程語言

    在當今這個技術日新月異的時代,編程語言的選擇對于軟件開發(fā)者來說至關重要。不同的編程語言有著不同的優(yōu)勢和適用場景,因此,選擇合適的
    的頭像 發(fā)表于 11-15 09:37 ?1926次閱讀

    MCU編程語言和開發(fā)環(huán)境介紹

    微控制器單元(Microcontroller Unit,簡稱MCU)是嵌入式系統(tǒng)的核心,廣泛應用于各種電子產品中。隨著技術發(fā)展,MCU編程語言和開發(fā)環(huán)境也在不斷進步,以適應不同的應用
    的頭像 發(fā)表于 11-01 11:51 ?2199次閱讀

    MEMS產業(yè)火熱!未來怎么發(fā)展?四位院士解讀

    MEMS集微傳感器、微執(zhí)行器和微能源等形成獨立智能系統(tǒng),融合微電子技術和微機械技術,演化而成新興產業(yè)。MEMS制造技術廣泛應用于航空航天、汽車、生物醫(yī)療、消費電子等領域,對我國關鍵產業(yè)、經濟發(fā)
    的頭像 發(fā)表于 10-24 16:13 ?763次閱讀

    plc編程語言編程相關技巧有哪些

    PLC(可編程邏輯控制器)編程語言及相關編程技巧是工業(yè)自動化領域中不可或缺的知識。 一、PLC編程語言
    的頭像 發(fā)表于 10-21 16:56 ?1117次閱讀

    高燃回顧|第三屆OpenHarmony技術大會精彩瞬間

    第三屆OpenHarmony技術大會圓滿落幕 全球開源精英齊聚 共同展示OpenHarmony技術、生態(tài)、人才的最新進展 見證OpenHarmony南北向生態(tài)繁榮 共繪開源生態(tài)發(fā)展藍圖
    發(fā)表于 10-16 18:47

    請回答OpenHarmony | 關于開源生態(tài)的未來想象,我們現場回答

    第三屆OpenHarmony技術大會即將啟幕 今年相聚,OpenHarmony又迎來了怎樣的突破與發(fā)展? 在萬物智聯(lián)的時代,如何通過技術創(chuàng)新引領智能
    發(fā)表于 10-12 00:09

    國產8單片機在國內的應用情況及發(fā)展趨勢!

    隨著科技的迅速發(fā)展,單片機作為電子產品的核心控制器,其應用領域不斷擴大。特別是國產8單片機,因其低成本、易編程及良好的兼容性,越來越受到國內電子產品開發(fā)者和企業(yè)的青睞。英銳恩科技的小篇將跟大家
    發(fā)表于 09-26 16:09

    紅外熱成像技術將迎來新的發(fā)展機遇

    日前,由中國光學工程學會紅外技術及應用專業(yè)委員會聯(lián)合成員單位舉辦的“第五屆紅外技術及其應用大會”在上海隆重舉行。各大高校院所、行業(yè)專家、企業(yè)技術代表相聚一堂,
    的頭像 發(fā)表于 09-03 09:57 ?826次閱讀

    創(chuàng)投專家共聚西井科技,探討AI技術未來發(fā)展

    為進一步助力“上海硅巷”高質量發(fā)展,日前,一場主題為“垂類‘AI+’如火如荼 見證范式革命”的創(chuàng)投沙龍活動在西井科技舉行,來自垂直人工智能領域勇于創(chuàng)新的專家、投資機構以及企業(yè)代表共聚一堂,共同探討AI
    的頭像 發(fā)表于 08-13 10:17 ?682次閱讀

    倉頡語言書籍申請

    這兩個語言一些性能優(yōu)缺點之后,我發(fā)現倉頡語言未來的趨勢,倉頡語言的高效編程、輕松并發(fā)、全場景應用開發(fā)的特點我特別感興趣。 作為華為自主研
    發(fā)表于 08-06 08:37