個人覺得這么些語言值得學(xué)習(xí):
C: 沒啥說的,碼農(nóng)不懂 C 都不好意思自稱 IT 工作者。錦上添花可以折騰 下 C++,我個人很不喜歡 C++。 Java: 碼農(nóng)必備屠龍技,類似的還有 C#,選一個就可以了。流行的依賴虛擬機 運行時、字節(jié)碼形式發(fā)布應(yīng)用的語言實現(xiàn),值得了解。 構(gòu)建在 jvm 上的 scala 可以試試,據(jù)說有點意思。 Perl: 類似的有 Python/Ruby,至于 Tcl 就不提了,語言設(shè)計的比較簡陋,PHP 則 一般不當作通用的腳本語言用。作為碼農(nóng)密技,還是很有必要備一個的。 OCaml: 實用的函數(shù)式編程語言,就我所知好像是唯一比較流行的能順利生成很小的高效 可執(zhí)行程序的函數(shù)式語言實現(xiàn)。Haskell 這方面還比較差,一個 Hello world 都能有 12 MB。 類似的還有 F#,MS 出品,據(jù)說是 OCaml 的改良品。 Lisp: 彪悍的語言不需要評論。 Erlang: 語法很樸實,重點在于編寫應(yīng)用的框架、思路,很值得學(xué)習(xí)。 JavaScript:在一個啥編程環(huán)境都沒裝的機器上,無聊之余十有八九能在瀏覽器里堆砌 JS 自娛自樂,把玩 jQuery 等 JS 庫。 1.每一種程序都有其發(fā)展的歷程,沒有任何一種程序是萬能的,比如說我們都知道的C語言,開發(fā)C的初衷就是為了讓程序員能脫離那種原始的匯編的環(huán)境,可以在高級語言環(huán)境中對內(nèi)存地址進行控制,所以C語言在底層操作上來講要優(yōu)越于其他高級語言;比如Pasical語言的初衷就是為了程序設(shè)計中的教學(xué)使用,所以Pasical語言的語法結(jié)構(gòu)很嚴謹;比如Fortran語言,開發(fā)的初衷就是為了工程計算,所以他的數(shù)學(xué)邏輯工程邏輯功能模塊就相當強大,等等………… 2.現(xiàn)在的語言已經(jīng)發(fā)展到面向?qū)ο蟮母呒壵Z言,像我們現(xiàn)在所熟知的Java、.Net、Delphi 等語言,他們開發(fā)應(yīng)用軟件來說基本沒有太大的區(qū)別,因為他們的庫都已經(jīng)很豐富,我們開發(fā)起來也相對較簡單一些,他們的差距也就緊緊在于市場占有率和所在公司開發(fā)選擇問題上了。還有另外一個就是一些數(shù)據(jù)庫編程的語言比如SQL、PB等語言,他們的數(shù)據(jù)庫功能相當強大,由于微軟產(chǎn)品的市場占有,所以大家比較傾向于SQL語言,因為他的應(yīng)用面要廣一些,但是不乏有些朋友會基于一些其他的想法選擇其他類型的數(shù)據(jù)庫編程語言。解釋類語言,作為B/S開發(fā)模式的語言,也是根據(jù)其市場占有規(guī)模來分,一般來講市場占有率越高的語言程序,那么它的庫要豐富一些,我們操作起來要相對容易些。所以說,現(xiàn)在流行的應(yīng)用軟件開發(fā)的語言來講,我們一般考慮的是市場占有率高的,就會有更多的工作機會來等待我們;但是一些市場占有率稍低的開發(fā)語言(有自己特色的),工作機會自然少一些,但是報酬相對要高一些,物以稀為貴嘛! 3. 各種語言的選擇 如果編寫對性能要求苛刻,或和操作系統(tǒng)結(jié)合緊密的程序,必然選擇C。 如果編寫到處可用的程序,選Java。 如果編寫大程序,可能的話盡量用腳本語言如Python、Ruby,不行了再用Java和C。因為腳本語言帶來了生產(chǎn)力。 編寫文本的處理程序用Perl或Ruby。 編寫知識的處理程序用prolog。 編寫最靈活,最模糊的程序用Lisp。 編寫office程序用vba。 編寫服務(wù)器端程序,PHP、(采用自己熟悉的語言來寫,例如Perl、Python、Ruby)CGI、ASP、(熟悉Java就用)JSP都是選擇。 編寫數(shù)據(jù)庫程序用vb或delphi。 如果要追求性能和程序的能力,要完全發(fā)揮操作系統(tǒng)的能力,使用C/C++語言是合適的。在Windows環(huán)境下用VC,在Unix-like環(huán)境下用gcc。 如果不是追求和操作系統(tǒng)完美結(jié)合,而只是性能,又要追求跨平臺性,那么仍然選擇C,但可以選擇跨平臺的庫,如qt、gtk、fox、wxWindows。如果要編寫游戲也有跨平臺選擇:SDL。 如果不滿意C領(lǐng)域標準的不統(tǒng)一,不滿意C的容易出錯,不滿意C的面向?qū)ο筇卣鞑粡氐?。如果不在乎跨平臺,Windows平臺可以選擇C#,maC平臺可以選擇CoCo。如果需要跨平臺,可以選擇Java。 如果需要跨平臺,又要廣泛的支持的話,選擇Java。 在Unix-like下,最方便的工具語言是Perl,它有強大的社區(qū)和代碼庫的支持。 如果只作為簡單應(yīng)用的工具語言,Python和Ruby是更好的選擇,他們的跨平臺移植性好,應(yīng)用也比較廣泛。其中Python更適合入門和交流,長期使用也不錯。Ruby是對Python不滿意的另一個選擇,它提供了很多額外的功能。 如果要選擇一個程序的嵌入語言,原來有Lisp、Basic和Java,現(xiàn)在還可以選擇Python和Ruby。 如果在要求動態(tài)解釋執(zhí)行語言,而又不想學(xué)其他語言的話,C程序員的選擇是pike,Java程序員的選擇是beanshell。 在Java平臺,又想用腳本語言的話,可以用Python。 最正統(tǒng)的基于文檔的語言或叫動態(tài)頁面語言是JavaScript。 最專門的服務(wù)器端語言是PHP,當然也有很多其他選擇。 XML語言以XUL為最著名,dtml也算一個,你自己也可以用XML作為自己特殊用途的語言。比如jedit就用XML作為一種模式定制語言。XML語言是一種比較先進的趨勢,比現(xiàn)有的語言在特殊領(lǐng)域更高效。 要找容易實現(xiàn)的語言,Lisp和Tcl是選擇。 Lisp的數(shù)據(jù)和程序融為一體的能力和自由是其他語言都沒有的?,F(xiàn)在出現(xiàn)了一個Lisp的現(xiàn)代化的變種:REBOL。 如果有基于事實的編程的需要的話,prolog和Clips是必然。 4.其實說到最后,也許大家都已經(jīng)迷糊了,因為我自己也迷糊了(不要扔我!誰???怎么還有雞蛋?!*—%##*),不過只需要一個簡單的道理:選擇什么方向(數(shù)據(jù)庫、應(yīng)用軟件、底層開發(fā)等等),那要看我們對什么感興趣,對什么有一種親切感;選擇好了方向,在選擇需要那個具體的語言,那就要看市場占有,公司發(fā)展前景,我們需要得到的利潤回報等因素(不過,作為同種類的語言,一個真正的程序員是可以很好的跨越這種平臺的,也就是說你最好不要只學(xué)習(xí)一種語言)! 5.如果你為了掙錢,就學(xué)Java C# VB 之類的快速開發(fā)工具; 如果你是為了掙錢還想搞搞技術(shù), 就學(xué)C++之類的語言; 如果你想搞系統(tǒng)開發(fā), 你就要從硬件,匯編,一點一點學(xué)起了. |
|
來自: rookie > 《技術(shù)帖》