誰是代替C語言的“潛力股”?
在去年十一月的時候,我參與了《Which language has the brightest future in replacement of C between D,Go and Rust?And Why?》(譯文:《D、GO、Rust 誰會在未來取代 C?為什麼?》)這篇文章的翻譯工作。但是依我看D語言和Rust很難成為代替C語言的語言。雖然不能否認從Rust 精確定義的語言和技術方法的深度都可以看出,它一門很好的語言。但是複雜語法讓很多程式設計師敬而遠之。
有潛力但力不從心的Java
不得不說,就Java良好的跨平臺性這一點來說,Java還是有潛力取代C語言的。但是自從Java隨著太陽公司(SUN)被甲骨文公司(ORACLE)收購以來,就顯得有一些力不從心。特別是最近甲骨文和谷歌之間的一些事情,讓Java顯得有些尷尬。
如果我們把衡量一個程式語言能不能成為像C一樣的語言,除了執行速度和庫的豐富之外,我們還必須考慮,這個語言能不能寫編譯器、作業系統和資料庫。 顯然的我們考慮速度的話,那麼核心是效率優先的,除了彙編,似乎並沒有什麼語言有可能比C效率更高。但是並不是說Java不能寫,至少效率不如C。(Jnode作業系統除啟動程式之外由Java編寫,啟動程式由組合語言編寫)
成長中的Go
Go目前是定位在伺服器端的程式語言。它專門針對多處理器系統應用程式的程式設計進行了優化,使用Go編譯的程式可以媲美C或C++程式碼的速度,而且更加安全、支援並行程式。
並且Go已經實現了編譯器。但是如果一個領域中沒有現成的庫的話,上手都是問題。作為一個年輕的程式語言, Go需要的是時間。
C語言的親兒子C++
C++進一步擴充和完善了C語言,是一種物件導向的程式設計語言。一般大部分的C程式碼可以很輕易的在C++中正確編譯,不過仍有少數差異,導致某些有效的C程式碼在C++中失效,或者是在C++中有不同的行為。最常見的差異之一是,C允許從void*隱式轉換到其它的指標型別,可是C++並不允許。
作為C語言的親生骨肉,C++並不是那麼好上手,並且自從1983年C++誕生以來的,C++似乎一直也沒有代替C語言,雖然最開始的一段時間炒的挺火的。但是最近好像又出現走下坡路的趨勢了。
C語言會退役嗎
雖然很多語言都會說,它們的執行速度和效率和C一樣快。庫和C一樣豐富。但是C語言就像是組合語言一樣,即使很少使用,也不會面臨退役。何況就目前而言C語言的壟斷地位雖然不斷被挑戰,但也從未被超越。
相關文章
- Java、Python到底誰是最好的程式語言?JavaPython
- python和c語言的區別是什麼PythonC語言
- c語言是如何處理函式呼叫的?C語言函式
- 《最後的咒語》:或許是目前最有潛力的戰棋Rogue遊戲遊戲
- C語言與嵌入式C語言的區別C語言
- 近50年來最具影響力的10種程式語言,都是誰發明的?
- OpenAI 是怎麼“壓力測試”大型語言模型的?OpenAI模型
- 阿里巴巴和亞馬遜誰更有增長潛力?阿里亞馬遜
- c語言if語句是如何變成彙編程式碼的?C語言
- go語言與c語言的相互呼叫GoC語言
- C語言C語言
- 聊聊C語言/C++—程式和程式語言C語言C++
- 物聯網NB-IoT技術,智慧燃氣領域的潛力股!
- Python和C語言區別是什麼?PythonC語言
- C語言的函式C語言函式
- c語言的基礎C語言
- c語言的陣列C語言陣列
- c語言巨集的使用C語言
- 有用的C語言工具C語言
- Java Streams 的潛力Java
- C語言的角落——這些C語言不常用的特性你知道嗎?C語言
- C語言:一種高效、易學的程式語言C語言
- c語言是如何解析表示式語句"2+3*4;"的?C語言
- C語言 typedefC語言
- C語言(一)C語言
- C語言: returnC語言
- C語言字串C語言字串
- 中國廠商又搶佔了一條出海“潛力股”賽道
- C++和c語言的分別C++C語言
- C/C++語言的學習方向C++
- C語言學習方法,怎麼學習C語言?C語言
- Go是Google的語言,而不是我們的語言Go
- 那些主流程式語言的知識,C語言(Ⅰ)C語言
- 存在可能替代C語言的其他語言嗎? -Erik EngheimC語言
- 關於C語言的常量C語言
- 分析C語言的宣告(2)C語言
- 如何用最短的時間學會C語言,並掌握C語言的精髓所在?C語言
- 邏輯式程式語言極簡實現(使用C#) - 2. 一道邏輯題:誰是凶手C#
- 1901:The C programming language !(C語言)C語言