久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

D語言、GO語言,、Rust語言,, 誰更有前途?

 天道酬勤YXJ1 2016-05-20

不要考慮我是 D 編程語言創(chuàng)造者之一的身份,。我會坦誠的回答這個問題,。我熟悉 Go語言 和 Rust語言,,并且知道 D語言 的缺點在哪里。我鼓勵人們在 Rust語言 和 Go語言 社區(qū)相似身份的人,,也可以提出他們誠懇的觀點,。接著,我們開始吧,。

首先,,C++ 在這個問題中也應該被提及。不管它是否取代 C,,或是成為取代 C 的候選人之一,,C++ 是這個等式的一個關鍵部分。它是最接近 C 的,,同時也是從 C 中來的,。在下面幾個問題中我會假設 C++ 是把取代 C 作為目標的。

每一個編程語言都有一些基礎優(yōu)勢(我稱之為“十倍優(yōu)勢”,,因為在一定的基準上比其他打確實效率更高)和數(shù)個挑戰(zhàn),。這些編程語言在未來能否取代 C 語言,取決于它們如何利用它們的十倍優(yōu)勢,,并且如何克服他們的數(shù)個挑戰(zhàn),。

先來探討 D語言

說起D,就像是領著你在我自己的屋子里游覽,, 我知道如何展示/隱藏干凈的/骯臟的角落,。跟其他兩個編程語言相比, 關于D ,,我能說的更多,。原因很簡單: 我了解 D語言 地更深入,直白地說:

D語言 的主要挑戰(zhàn)有以下:

  • 采用率不高 – 雖然名義上存在這么多年了,。 D語言 圈子里的知情人可能會說,, D語言 當前還是相對新的,且采用率也上漲了不是,。 而且,,這種看法依然存在, 而采用率是由認知驅動的,。所以經(jīng)理和軟件開發(fā)人員就覺得采用一種多年還沒有成熟的編程語言很擔心,。 未來, 時間會繼續(xù)對 D語言 帶來負面作用,,除非/直到 采用的人數(shù)有突飛猛進增長,。

  • D語言 和垃圾回收故事的微弱聯(lián)系。 垃圾回收是個偉大發(fā)明,,但是用在D 身上的決定卻立即使D 跟核心市場 – 現(xiàn)有 C 和C++程序員分離開,。對于這些程序員,, 黨派的分割線一貫都是“不想垃圾回收?不是個事兒,,你可用D with RAII 或手動管理風格,! ” 雖然這話沒錯,但是這很接近于沒用了,,因為標準庫對于其他內存管理風格基本不支持,,這就意味這,推定的用戶需要重新建整個核心基礎設施,。而且,,即使覺得使用垃圾回收沒關系,實現(xiàn)的質量也沒有什么可讓臉上貼金的,??傊梢赃@么說,, D語言 有 GC 的缺點,,但是沒有享有他的好處。

  • 一直缺乏前景,。 很少有公司支持 D語言,,D語言 是靠圈子流行起來的,圈里的工程敏感度高,,長期的前景,,魅力和領導力難。很長一段時間,, D語言 嘗試進行影響,, 公關,都取得了負面效果,, 第一個前景文檔 (http://wiki./Vision/2015H1) 是2015 年 1 月寫的,, 第二個迭代 (Vision/2015H2 – D Wiki) 是 4 個月后,一個周期是 6 個月,, 這真是最好 的諷刺。

當然啦,,還有其他的問題,, 但是其他問題要么是從這幾個問題上衍生出來的,要么就是有類似的影響

我認為 D 語言 10 倍的優(yōu)勢有以下(當我在下面說”十倍”的時候,,通俗來講意味著”一個數(shù)量級”)

  • 比C++快 10 倍的編譯速度,。相對于 C++ 和其他別的編程語言這種差距根本不可彌補。(Go語言 編譯的速度稍微比 D語言 快一點,,但是運行慢一點) 使用系統(tǒng)級編程語言快速編碼是一種深遠的變革,。結合 D 語言的抽象能力,,基本上可以把 D語言 作為一個很好的選擇編寫高度優(yōu)化的程序,原因很簡單,,實驗性成本很低,。

  • 比腳本編程語言快 10 倍的運行速度。D語言 的一個很好的用處是作為腳本編程語言使用處理一些簡單任務,,這在速度上的好處是巨大的,。當然,沒有”瓶頸期“的影響-如果一個腳本增長的很大,,D語言 總是有很有效和模塊化的機制提供,。當然,這值得懷疑,,比如 Python 已經(jīng)很多的庫可供選擇,,但是 10 倍的差距才是根本上的:系統(tǒng)級編程語言很難達到 D語言 的水平,但腳本編程語言很難突破與之的速度差距

  • 與 C 和 C++ 結合使用相對其他編程語言而言容易10 倍,。D語言 使用和 C 和 C++ 相同的內存布局,;它所做的是在它之上構建結構,但是更接近底層幾乎沒有花銷,,整個 C 的標準庫在語法和速度上不能更接近了,,它也同為 C++ 的標準庫,許多 C 的庫都很容易和 D語言 結合使用,。(https://github.com/D-Programming-Deimos),。它可以聲稱沒有其他編程語言能達到它整合的水平

  • 相比其他的系統(tǒng)級編程語言,產生式編程好上10倍,。D語言 的靜態(tài)內省,,編譯時間的評價,混合驅動程序變的很有效這對其他編程語言是很困難的,,無論是新的還是現(xiàn)存的,;在這場游戲中,Go語言 缺乏深度甚至不能抓住重點,;C++還在絕望的迷失之中,;而 Rust語言 還在嘗試之中。

說一下Go語言

這里再重申一下,,Go 語言是我唯一的選擇,,值得你為其付出。選擇 Go語言 主要有下面這些挑戰(zhàn):

  • 間接調用和垃圾收集帶來的本質上的性能下降,。事實上,,把 Go語言 改造成沒有間接函數(shù)調用和垃圾收集是沒有意義的,因為這些是其核心的功能。這些是提高核心性能指標的主要障礙,。Go語言 團隊的回應是,,戰(zhàn)術上會提高垃圾收集的性能。不過,,替換 C 語言這樣的挑戰(zhàn)不是通過一些戰(zhàn)術就可以完成的,。

  • 政治因素。 Go語言 的派別異常強大,,在不少問題上都各有堅持,,類似的問題有大有小。在比較大的問題中,,泛型的實現(xiàn)方式非常笨拙而低下,,使得泛型可以算是 Go語言的短板之一;在類似話題上的討論上,,都足以讓人郁悶不已,。我認為技術問題的政治因素在長期是一個極端的破壞因素,希望 Go語言 團隊能找到解決的方式,。

  • 簡化卻過于簡化,。Go 語言的精簡是很有名的 – 大家上手起來確實都很快。不過隨著時間推移,,這成為一個問題,;Go語言 程序徹底慢下來 – 程序員發(fā)現(xiàn)整天在寫同樣的東西,就像一只螞蟻做的那樣,,這是因為 Go 語言即使對很簡單的觀念和算法也沒法很好的進行抽象,。如果一個領域沒有現(xiàn)成的易用的庫,一般人是很難進入的,。程序員要是用過 Go語言 之后再也不想用了,,那感覺真不好。如果 Go語言 能讓那些總是重復工作的用戶改善一下處境就好了,。

我認為的 Go語言 的10倍優(yōu)勢如下:

  • 10倍更好的策略,。有一段時間 Go 語言宣稱要成為系統(tǒng)編程語言,不過后來它的屬地完全變成網(wǎng)絡服務領域,。這是一個前景非常光明的市場,,Go語言 團隊對此把握的很好(Go語言 團隊有著這方面的世界級的軟件開發(fā)人員)。這個市場非常熱,,一直由 Java EE 和一些運行緩慢的腳本語言占據(jù)著,,Go語言 在這個領域完全就是全新的選擇,不過現(xiàn)在已經(jīng)成為一個主要的選擇,,其低位已經(jīng)不可替代了。

  • 工程上的10倍優(yōu)勢。 Go 語言背后有一個純粹的軟件開發(fā)團隊,,這對編程語言的質量起著很大的幫助,,尤其是對于網(wǎng)絡庫和工具。優(yōu)秀的工程管理很好的彌補了編程語言能力上的一些不足,。

  • 10倍的品牌效應,。很多打算使用 Go 語言的用戶都是看在 Google 的份上。Google 出品,,似乎就意味著專業(yè),、高質量和穩(wěn)定。當然,,品牌不是全部,,不過這意味著 Go 語言只需要做到不錯就行,不需要做到完美,。品牌可以完成剩下的任務,。

最后但并非最不重要的 Rust語言

讓我再次提醒,這僅僅是我的意見,。我認為 Rust語言 正面臨一些有趣的挑戰(zhàn):

  • 不太和諧的個性,。閱讀任何數(shù)量的 Rust語言 程序讓人想起這個笑話“朋友別讓朋友翹腿的一天”的漫畫圖像(https://www.google.com/search?q=..)。把軀干放在瘦腿上的人,。Rust語言 把安全,、精確的內存管理置于其它一切之上。很少的問題域,,這意味著思考和編碼的大部分瑣碎的類似基本文書的工作(GC 語言實際上自動化消失了),。安全的,確定的內存回收是個大問題,,但并不是唯一的問題或者是程序中最重要的問題,。因此 Rust語言 在這個編程語言設計問題上消耗巨大。這是有趣的,,Rust語言 開始成長的其他方面的編程語言,;唯一的解決方案是發(fā)展編程語言,但問題仍然是抽象能否幫助處理各級資源的必要性,。

  • 外國的語法,。Rust語言 的語法是不同的,是沒有明顯優(yōu)勢的差異,。這是人來自 Algol-style 刺激性編程語言,,需要處理一個無緣無故地不同的語法來保證正確的資源簿記。

Rust語言 的 10 倍優(yōu)勢是:

  • 理論上要比其他快 10 倍,。在三者之中,,Rust語言 是其中唯一一款有世界一流水平的編程語言,。這些在它精確定義的編程語言和技術方法的深度都可以看得出。

  • 比其他系統(tǒng)程序設計編程語言好上 10 倍的安全性,。當然,,在這里我們只限于討論它在安全上的開支。

  • 性價比要比其他好 10 倍,。在很長一段時間里,,Rust語言 的 1.0 預覽版都是社區(qū)的寵兒,沒有一點錯誤:無論發(fā)生什么問題,,現(xiàn)有的 Rust語言 或者將來的 1.0 版本都會有解決的辦法?,F(xiàn)在,1.0 版本已經(jīng)結束了蜜月期,,人們的興趣發(fā)生了很明顯的下降(據(jù)我個人測算和估計),,但是它的影響仍將繼續(xù)存在。此外,,畢竟,,Rust語言 是一個正統(tǒng)的有實用價值的編程語言,它很容易將人們的熱情轉化實體的銷售,。

總而言之

無論是這幾種編程語言被定位于逐步替換 C,、C++ ,或者同時存在于程序庫中,,還是它們會成為未來項目的首選,,今天的人們還是會首先選擇 C 或 C++——這一切都取決于這些編程語言的能力,盡量發(fā)揮它們的長處并且在各自的挑戰(zhàn)中獲得突破,。

    本站是提供個人知識管理的網(wǎng)絡存儲空間,,所有內容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內容中的聯(lián)系方式,、誘導購買等信息,謹防詐騙,。如發(fā)現(xiàn)有害或侵權內容,,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多