最「全能」的程式設計語言是什嗎?

來源:互聯網
上載者:User
最全能的程式設計語言是……

回複內容:

題主是想挑個頭讓咱們這幫程式員互相撕,然後他在暗處偷偷笑而已。真沒哪個語言在我印象裡是全能的, 比如C雖然是進階"機器語言", 但是很多時候開發一些東西會很不方便啊.
如果真要比全能性的話, C/C++還算是比較全能的了, 但是(二進位)跨平台就不如JVM上的那些語言們, 也不如指令碼語言.
C/C++當然可以用作Web服務, Apache就是90%以上的C寫成的, 用C++當然更可以,
C++還可以用Qt來建立GUI應用, 可以用NDK做安卓開發,
但是C++開發的周期不是一般的長, 而且包也沒Java多, 所以寫C++的感覺就是自己造輪子. 在我不知道有stl之前, 連vector都照著.NET/Java裡面的List自己實現了一個. 從Java/C#轉過來的人想死的心都要有了. 當然這年頭牛人都是自己寫自己用的舒服的API的, 那麼這一點姑且算個優點.
當然你硬要說寫作業系統核心之類的, 那我也沒辦法, 指令碼語言比如Python目前連編譯到native的編譯器實現都還沒有呢, 要寫kernel我覺得不可能...
所以儘可能地就是利用現有的工具, 把事情做好, 語言不難學, 最誇張的時候一天學了三個, 現在都不屑於羅列自己都學過哪些語言了 真正有用就好.

現在總結一下, 如果你有一個緊急的任務要你學一門新語言, 基本上除了Haskell或是Lisp(Scheme/Common/Clojure) 基本上可以從這樣的sequence入手:
0.搞清楚Hello World程式的結構, 只有一行的除外
1.搞清楚指令碼語言還是bytecode還是Native, 編譯器/解譯器/運行環境長啥樣 代碼裡哪些是注釋編譯器會忽視, 哪些代碼是預先處理
2.看好是動態類型還是靜態類型, 是強型別還是弱類型, 變數如何聲明, 命名規範有哪些, 整數和浮點數有沒有明顯的區分, 比如3/2是等於1還是1.5 整數範圍多少, 有沒有溢出風險
3.學+ - * / 之類的運算子, 有沒有++自增運算子, 能不能用 i += 1, 以及 Math library, && & || | << >> >>> ^ 能不能正常用
4.流程式控制制 if...else if...else switch for foreach while 等等, 這個我想說下, 現在很多語言不能把for loop寫的像C一樣, 這一點很不爽
4.看函數的聲明, 是否需要傳回型別聲明, 是否需要聲明函數原型, 是否預設引用傳值, 是否支援重載之類 是否支援遞迴, 函數能不能放進一個變數裡
5.看基本的數組等資料結構, 數組到底是指標還是對象, 有那些Collection, 如果有內建的資料結構可以說是新手最喜歡的東西了
6.看字串的表示處理, 字串是指標還是對象
7.異常處理, 有沒有checked exception, 怎麼拋異常又怎麼抓
8.有沒有OOP, 支不支援繼承封裝多態, class是怎麼聲明的, 如果是靜態類型怎麼用泛型/模板
沒有OOP的有沒有struct, union? 還是全部都有?
9.支不支援顯式指標, 是否支援不安全的程式碼, 記憶體管理(malloc free new delete), 記憶體回收
10. Lambda運算式, 函數指標/引用, 以及閉包函數, 他們是不是僅僅是文法糖? (比如Java 8就大體上是文法糖) function callback這個東西啊, 一顆賽艇!
11. 多線程, Concurrency, Synchronization
12. 檔案IO, stdio

還有什麼補充?
基本上就這樣.
這麼長的答案沒這麼個段子有點不像話...:

我的意思不是說C語言已經不要學了, C語言是編程之根本我們能不學? 我就明確告訴你這一點.
不要想搞個大新聞, 說C語言已經要沒用了, 再把K&R批判一番. 你們呐 naive.
難道不是注釋語言???

無害性 支援任何編譯器

跨平台可移植性 分布式

面向理解

文法隨意易理解 可讀性高

比任何機器,彙編,進階語言簡單易學不是English嗎?c, 有機器語言的地方,就有c
python,指令碼語言中的瑞士軍刀python不行我直播日電燈泡0101010101010110101010101010101010很明顯是brainfuck。。運算能力等同於圖靈機,能實現任意語言的演算法大多數程式設計語言都是圖靈等價的。所以一種語言能乾的事情其他語言也能幹。
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.