30種編程語言的比較選擇問題

30種編程語言的比較選擇問題

ID:17902648

大?。?4.41 KB

頁數(shù):10頁

時(shí)間:2018-09-09

30種編程語言的比較選擇問題_第1頁
30種編程語言的比較選擇問題_第2頁
30種編程語言的比較選擇問題_第3頁
30種編程語言的比較選擇問題_第4頁
30種編程語言的比較選擇問題_第5頁
資源描述:

《30種編程語言的比較選擇問題》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、30種編程語言的比較選擇問題本文涉及到的編程語言:C、C++、Java、C#、Prolog、VB、Scala、Clojure、Haskell、Ada、Python、Ruby、Pascal(Delphi)、Fortran、Lisp、matlab、Perl、Erlang、Boo、Tcl、Bash、Cshell、Objective-C、PHP、PL-SQL、Transact-SQL、ASP、JSP、Lua、smalltalk、R、D,golang,rust涉及到的工具:sed、awk、grep我們現(xiàn)在學(xué)一門語言,大部分是要用到了才

2、學(xué)(基本上是中國的公司用什么我們學(xué)什么),基于興趣的不多。比如,大頭肯定是C++和java,因?yàn)檫@個(gè)最容易混飯吃。最近多玩用了Erlang,還有不少公司跟風(fēng)上了Erlang,讓這個(gè)沉默了好久的語言忽然被明星了。大公司一般除了C++外,都會招Java,事實(shí)上,互聯(lián)網(wǎng)公司,Java占了半壁江山(當(dāng)然,沒選java架構(gòu)的除外,有不少.net族的)。所以,生活在貧困線上的廣大中國程序猿很少有人會去看看諸如scala之類的玩意。不過作為膠水,python、perl還是有一定的用戶量的。隨著互聯(lián)網(wǎng)迭代速度的加快,很多公司甚至用pytho

3、n直接寫大吞吐的后臺,騰訊的python情結(jié)就比較重。而隨著網(wǎng)絡(luò)安全重要性的提高,大部分的網(wǎng)絡(luò)安全從業(yè)者選擇了python作為攻擊式的語言,因?yàn)榭煊址奖?。要不很難應(yīng)對變化更快的poc。而隨著開源軟件的興起,storm,kafka等也使用了小眾的clojure,scala等。但是我們看到在最核心的nginx,ats,lvs等基礎(chǔ)架構(gòu),還是c一支獨(dú)大。最多有在之上的lua插件系統(tǒng)(lua真是個(gè)好伴侶)似乎,我們生活中只有這么幾種語言。。。貌似,遇到一個(gè)問題,我們該選擇什么語言呢?雖然每個(gè)語言本質(zhì)上都是圖靈完備的,但是能用prol

4、og寫出來的東西,如果用別的語言寫,會無比痛苦。這就是不同語言存在的原因:不同的問題,不同思考方式(編程范式)?!そ鉀Q問題case:已知大量事實(shí),和事實(shí)之間的約束,要求挖掘關(guān)系。果斷用prolog族語言。例如,漢諾塔、地圖著色、數(shù)獨(dú)問題、八皇后問題等這種考驗(yàn)智商,并且需要從已知規(guī)則中發(fā)現(xiàn)模式的問題。擁有一大堆已知案例的應(yīng)用(例如大部分的人工智能情況)除非你是研究者,程序員一般是遇不到這種問題的。當(dāng)然頂級的程序員也確實(shí)得具備解決這些問題的能力。但是他們就算解決也是用c解決的。這屬于叫好不叫座的科研型語言?!?yīng)用程序case:從

5、小到超大型應(yīng)用程序,非完全互聯(lián)網(wǎng)應(yīng)用這也是大部分軟件公司遇到的情況。一般有幾種沒辦法分出高下的解決方案:C++,Java,C#,VB。當(dāng)然,這里面可以有CLR和JVM的不同衍生。例如,理論上,你也可以用scala來代替(不過估計(jì)大型公司不會冒這個(gè)險(xiǎn))。還是在理論上,你也可以用函數(shù)式編程的Clojure和Haskell來做(估計(jì)沒人會那么傻)。還是在理論上,也可以用Ada這種強(qiáng)悍的通用語言,但估計(jì)沒人愿意接受比C++還復(fù)雜的編程語言。理論上(基本只能在理論上),不嫌棄的話smalltalk也行。還是在理論上,python、ru

6、by等配合一定的圖形界面庫也可以勝任(但項(xiàng)目大到一定的程度是,你會欲哭無淚)。但是,我另起一行。有個(gè)語言:D語言。我個(gè)人不認(rèn)為不可以列入首選名單。但是貌似知名度不行啊。。。。企業(yè)支持少啊。。。。。確實(shí)是門優(yōu)秀的語言。C++太尾大不掉,需要一種語言,讓C++成為純粹的C++。最近谷歌強(qiáng)勢的推出了golang,背景是后臺程序員C++寫的好的太缺,python寫的后臺實(shí)在是效率不行。于是一個(gè)在這之間的,注重工程管理的,并且是全靜態(tài)編譯的golang誕生了,你會發(fā)現(xiàn)其擁有C++匹配的效率,也擁有python般豐富的編程庫。其go和c

7、hannel機(jī)制著實(shí)讓人著迷,一出來就吸引了大量的后臺開發(fā)人員,有的公司甚至后臺全面轉(zhuǎn)向go。但是其之前版本的內(nèi)存回收機(jī)制比較爛,所以也有無數(shù)坑。現(xiàn)在的golang已經(jīng)基本解決了這些問題,編譯器也用golang重新實(shí)現(xiàn)了??梢哉f已經(jīng)產(chǎn)品化了。與golang競爭搶這個(gè)市場的還有rust,這是一個(gè)為并行而生,意在取代c++的編程語言。與golang的定位是相同的,但是目的是不同的。rust復(fù)雜,很復(fù)雜,上手難,但是一旦你掌握,這將是一個(gè)很強(qiáng)大的武器。已經(jīng)有公司放棄golang轉(zhuǎn)向rust的。但是這個(gè)語言的致命缺陷就是復(fù)雜,我們已

8、經(jīng)有一個(gè)復(fù)雜的C++了,他啥都能干,還要一個(gè)rust做什么?當(dāng)然,我不能把rust拍死,畢竟這門語言的牛逼程度時(shí)比較逼近C++的。不過我高度懷疑其會較好不叫座。稍小一點(diǎn)規(guī)模的,無法接受面向?qū)ο蟮某绦騿T,有不少用C的。雖然OOP程序員看他們像是不開化的人,但是他們有他們的哲學(xué)(我從嵌入式開發(fā)

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時(shí)可能會顯示錯(cuò)亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時(shí)聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。