程序員應該掌握哪些語言?

我們知道隨著技術的發展 或某些頂級公司的需求 可能會產生各種個樣的編程 語言 但語言本身都是大同小異的 更多的是 在某種環境 某種需求下 我們選擇相應的編程語言 你認為哪些語言是作為一個優秀的程序開發人員 必須要掌握的 呢 或著強烈建議掌握的


母語、英語和數學。


類比到人類語言。

學一門世界通用的或者使用人群很多的語言,如中文,英文(C,C++,JAVA)。這足以讓你與很多人交流(與程序員交流,工作使用)。

有興趣可以學一門優雅,有趣的語言,如法語(python等)。成為一個有趣的人,或者在特殊場合用到,可能會收到奇效。(寫個爬蟲,腳本之類的)

再或者成為一個炫酷的geek,學一門脫離人類邏輯的語言,如我們寢室大神熱衷的精靈語(彙編,機器碼...)。優雅的裝逼,對整個世界,對人類語言學理解的更加透徹。(理解計算機底層原理,寄存器內存存取,定址等等)

不過會了語言也沒多大用,正如我們老師所說,會中文的十幾億,能寫出優美文章的不多。所以會了一門語言之後,多coding,懂得編程思想,熟知演算法設計,解決一個又一個遇到的問題才更重要。

共勉。


彙編(備註:至少具備會讀的能力),C,C++(我知道列出來可能又會引起非議,不過當我看見題主說優秀程序員的時候,我還是忍不住把C++從與Java/C#並列的位置單獨提了出來),一門面向對象語言如Java/C#,一門腳本語言如Python/Ruby/Perl,熟悉一門函數式語言如Haskell


英語不好掌握再多的語言有個毛用,基本上等於接觸新思想和自學的能力為零。


PHP是世界上最好的語言,沒有之一。 :)


英語


倚天屠龍記某片段:

張三丰:忌兒,來,我教你一套劍法。

無忌:。。。。

(此處略去半小時)

張三丰:無忌孩兒,你看懂了么?

無忌:看懂了八九成。

張三丰:嗯,好,我在演習一遍,你可看好了。

無忌:。。。。

。。。。(此處省略半小時)

張三丰:我演習完了,你還記得多少?

無忌:大約一半吧。

張三丰:嗯,(點點頭),那好,我就再教你一遍。

(此處省略二十五分鐘)

張三丰:現在呢?

無忌:忘的差不多了。

張三丰:嗯,可以了,現在可以去跟他對陣了。

===========我不叫分割線===============

金庸老先生把理解的最深境界給寫出來了,達到最理想的境界就是,我不用管我用的什麼,他用什麼,只要問題出來了,我能夠很流利的解決了,就ok了。

。。。。話說怎麼越答越覺著跑題了呢。


Stroustrup老爺子推薦的5種語言:C++ Java Python Ruby JavaScript

Bjarne Stroustrup: The 5 Programming Languages You Need to Know


英語。


語言只是描述實現的一種手段 , it從業者要掌握的核心價值更重要的是操作系統 ,編譯器 ,演算法 ,體系結構等 ,這些內功的修為用什麼語言都可以描述,個人更推薦用英語 ,數學去描述 ,掌握好英語 ,數學和漢語,其他小種語言對你只是個小兒科


first of all English Language


你幹啥學啥唄。不談需求談結果都是耍流氓


鳥語 狗語


優秀的程序員都是學會了獨孤九劍的,沒有特定的招式,全在於對敵之時

當你發現,你的編程思想達到一定的高度之後,語言這東西就不再是你的瓶頸

任何語言在經過短暫的熟悉之後,都會被你用來編寫出絢爛的程序的!


正常人能夠看得懂的語言


c/c++ Java Python JavaScript ruby


靜態語言(C++/Java),動態語言(Python/Ruby),有精力再加上一門函數式語言(Haskell/Lisp)。只要熟悉了這些programming paradigm,其他語言學起來會很順


隨便一門語言。

要達到熟練使用的程度。

剩下的就是職業道德操守。


易語言


世界上只有兩種語言,一種叫c語言,另一種叫LISP。


不需要語言

只需要

在任何場景下完成對既定目標的需求進行抽象,利用已經抽象好的工具解決目標問題。

一般有如下手段

1.框架和庫,針對已經存在的東西進行改進和妥協。比如Java那一堆庫。

2.擴展語義,C++ 和 javaScript 都在試圖這麼干。比如奇幻的C++模板方法和最近流行的各種javaScript技術。

3.重新定義一門更合適該場景的工具,比如很火的Go,Dart等


推薦閱讀:

為什麼很多公司做c++不用智能指針,也不自己封裝一個好用的?
完全沒接觸過編程怎樣自學編程?
為什麼幾乎所有的GUI界面都採用事件驅動編程模型?
有誰可以介紹一些團隊任務分配管理軟體?
如何編寫一個硬體模擬器?

TAG:軟體開發 | 編程語言 | 信息技術IT |