【51CTO.com快譯】不可否認(rèn),想要成為一名優(yōu)秀的程序員確實(shí)是需要掌握多種編程語言。通過這幾年的自虐式學(xué)習(xí),我也慢慢的掌握了這些編程語言。鬼知道這過程多么痛苦,但也因?yàn)樗鼈儯視?huì)獲得比別人更多的機(jī)會(huì)。接下來要為大家,介紹七款讓我又愛又恨的編程語言! 寫這篇文章的原因: 1.給新人學(xué)習(xí)編程語言的一些建議。 2.因?yàn)樗鼈兇_實(shí),能讓我們賺更多的錢。(我就是那么俗!) 3.我要吐槽他們?。。。。。。ㄎ艺娴姆浅?yán)肅....) (申明:大家可以當(dāng)娛樂看一下,對(duì)一些細(xì)節(jié)也希望大家不要過于較真!) 1.C語言 難度系數(shù):5星 吐槽系數(shù):4星 推薦指數(shù):4星 C語言給我的感覺,就是一位神秘莫測而又高冷型的女生形象。這是因?yàn)閏語言相比其他編程語言難度高一些,這也就多了一絲神秘,每當(dāng)我以為我快要接近它時(shí),它又狠心的將我推開!狠心的C!語!言! 我無法拒絕C語言的原因:UNIX由C編寫而成,其運(yùn)行在大部分手機(jī)與大多數(shù)云環(huán)境當(dāng)中,這意味著必須有人繼續(xù)使用星號(hào)與大括號(hào)進(jìn)行開發(fā),否則這一切都將無法為繼。另外,還有設(shè)備驅(qū)動(dòng)程序、嵌入式程序以及Linux/Unix代碼庫的維護(hù)工作——好了,這個(gè)憂傷的話題到此結(jié)束。 接下來輪到我最開心的環(huán)節(jié),我!要!開!始!吐!槽! 作為擁有“便攜式匯編語言”頭銜的C語言,絕對(duì)充斥著各種問題!相信沒有人會(huì)喜歡編寫,大量獨(dú)立的頭文件,也更沒有幾個(gè)人能在使用預(yù)處理器的時(shí)候保持平和心態(tài)。 從理論上講,我們應(yīng)該能夠利用指針的數(shù)學(xué)能力,完成無比睿智的壯舉,但很少有人能超越已經(jīng)存在的數(shù)據(jù)結(jié)構(gòu)。事實(shí)上,鼓搗指針往往正是代碼崩潰的起點(diǎn)。即使大家自身水平能夠輕松搞定指針,但也需要編寫冗長的注釋加以記錄,這相當(dāng)讓人抓狂。另外,我想問一下各位,有人幾個(gè)人能記住編寫C代碼所應(yīng)當(dāng)遵循的全部最佳實(shí)踐嗎?例如避免一切潛在的安全漏洞,好吧,我個(gè)人不太行。 2.JavaScript 難度系數(shù):4星 吐槽系數(shù):4星 推薦指數(shù):4星 JavaScript給我的感覺,就是一位悲觀型的女生形象。為什么這樣說呢,誰叫它們總是用小括號(hào)、中括號(hào)與大括號(hào)包裹著自己呢! 我無法拒絕JavaScript的原因:互聯(lián)網(wǎng)以及無數(shù)瀏覽器仍然堅(jiān)持使用JavaScript,而Node.js的出現(xiàn)甚至迫使我們在服務(wù)器端也要使用JavaScript。至少在可預(yù)見的未來,JavaScript還將不斷折磨我們。 接下來輪到我最開心的環(huán)節(jié),我!要!開!始!吐!槽!哈哈~ JavaScript的締造者們希望打造一款現(xiàn)代化語言。遺憾的是,他們的成果逼迫我們不斷使用小括號(hào)、中括號(hào)與大括號(hào)來完成正確的嵌套關(guān)系。而匿名函數(shù)、閉包與JSON數(shù)據(jù)結(jié)構(gòu)則讓我們的小指變得越來越發(fā)達(dá)。 另外,我們還需要關(guān)注很多奇怪的細(xì)節(jié)。如果x作為字符串包含字符1,那么x+1將產(chǎn)生字符串11,而x-1則會(huì)產(chǎn)生數(shù)字0。誰還會(huì)記得false、null、NaN以及undefined之間的區(qū)別呢?它們聽起來很像,但JavaScript為什么非要對(duì)此進(jìn)行區(qū)分?為什么不能把它們合并起來? 3.PHP 難度系數(shù):3星 吐槽系數(shù):3星 推薦指數(shù):4星 PHP給我的感覺是一位單純乖巧型女生,至于原因PHP相比其他語言更簡單,PHP性能足夠好,熱部署、易修改,我們也不用那么費(fèi)心啦~ PHP其實(shí)并不能算是真正的計(jì)算機(jī)語言,而更像是一款用于向靜態(tài)HTML中添加智能機(jī)制的工具。大家可以將信息存儲(chǔ)在數(shù)據(jù)庫中并為其匹配靜態(tài)標(biāo)簽。雖然還有更多功能,但總體來看PHP的基本作用就是對(duì)我們提取自數(shù)據(jù)庫的字符串進(jìn)行粘接。 但爭議歸爭議,大多數(shù)Web仍然由PHP構(gòu)建而成。在WordPress、Joomla以及Drupal中,大多數(shù)內(nèi)容都通過PHP代碼進(jìn)行交付。另外,F(xiàn)acebook也是由PHP編寫而成。幸運(yùn)的是,F(xiàn)acebook打造的HipHop Virtual Machine啟發(fā)了Zend,而PHP 7.0也是由此誕生。這些新型PHP引擎通常速度更快,但這同時(shí)意味著我們未來仍然得活在PHP的陰影當(dāng)中。 4.Cobol 難度系數(shù):3星 吐槽系數(shù):2星 推薦指數(shù):3星 Cobol給我的感覺是一位很受寵的富家型女生的形象,至于原因是Cobol能得到很多有強(qiáng)大身份的人喜愛。 Cobol誕生于1959年,這種早應(yīng)該過時(shí)的語言,存在著數(shù)以百計(jì)限制詞匯。然而Cobol是數(shù)據(jù)處理領(lǐng)域最為廣泛的程序設(shè)計(jì)語言,也是第一個(gè)廣泛使用的高級(jí)編程語言。并且,支持者的Cobol的開發(fā)者們,會(huì)從其它語言中汲取靈感并充實(shí)到Cobol上,因此Cobol的版本還在不斷地更新中。 在企業(yè)管理中,數(shù)值計(jì)算并不復(fù)雜,但數(shù)據(jù)處理信息量卻很大,許多人會(huì)購買一臺(tái)大型計(jì)算機(jī)并運(yùn)行Cobol代碼。截至目前,Dice.com網(wǎng)站上仍有543個(gè)崗位包含“Cobol”一詞。從保險(xiǎn)公司到國防承包商,眾多東家仍然喜歡使用Cobol,因此想要投身其中的求職者顯然別無選擇。 5.XSLT 難度系數(shù):3星 吐槽系數(shù):4星 推薦指數(shù):2星 XSLT給我的感覺是一位很會(huì)偽裝的腹黑型女生的形象,至于原因是不了解它們會(huì)以為它們很方便,了解后就會(huì)發(fā)現(xiàn)它其實(shí)就是一個(gè)大“坑”! 每個(gè)人在初上手XSLT時(shí)都喜歡它,它的函數(shù)型語言能夠?qū)崿F(xiàn)XML轉(zhuǎn)換。然而一旦超出搜索與替換范疇,它的功能限制性就開始暴露出來。最令人難以忍受的是,XSLT的變量與其它語言中的變量在概念上就有所區(qū)別,這瞬間把程序員們弄成了數(shù)學(xué)家——甚至出現(xiàn)了與之相關(guān)的玄學(xué)理論。 XML也許將逐步被JSON等更為高效的數(shù)據(jù)格式所替代,但它目前仍然擁有相當(dāng)旺盛的生命力。雖然大家可以跳過XSLT直接編寫代碼以進(jìn)行文本解析,不過請相信我,這種作法耗費(fèi)的時(shí)間比學(xué)習(xí)XSLT更長。 6.Java 難度系數(shù):4星 吐槽系數(shù):4星 推薦指數(shù):5星 Java給我的感覺是一位邋遢學(xué)霸型女生的形象。 虛擬機(jī)與庫概念可以追溯至上世紀(jì)九十年代,但語法則早在上世紀(jì)七十年代即與C語言一同出現(xiàn)。自動(dòng)內(nèi)存管理看起來很美,直到惡心的垃圾回收機(jī)制毀掉這一切。 Java程序員們一直在抱怨這方面問題,而且其中一部分,也確實(shí)被甲骨文所解決。然而,解決的過程又帶來了新問題。一部分新型代碼及庫無法在舊有虛擬機(jī)上運(yùn)行。我就經(jīng)歷過這樣的困擾,事實(shí)上Java 1.4之后的每個(gè)版本都像是一種完全不同的語言。 但這一切都不重要。Java是Web與移動(dòng)手機(jī)的基石,它也是高校當(dāng)中教授的第一門語言。相關(guān)代碼庫愈發(fā)龐大,其價(jià)值也遠(yuǎn)遠(yuǎn)超過其它語言。我們能怎么辦?忍著吧。 7.Python 難度系數(shù):4星 吐槽系數(shù):3星 推薦指數(shù):4星 Java給我的感覺是一位萌萌的蘿莉型女生的形象。 這是一種適合年輕人學(xué)習(xí)的現(xiàn)代語言。其很少用到標(biāo)點(diǎn)符號(hào),因此代碼看起來更加簡潔。問題在哪?首先,Python 2.7與3.0之間存在巨大差異。雖然發(fā)展是必要的,但步子邁得太大無疑容易扯著蛋。我們永遠(yuǎn)需要關(guān)注當(dāng)前設(shè)備上使用的到底是哪個(gè)Python版本,同時(shí)認(rèn)真數(shù)清一切代碼縮進(jìn)、大括號(hào)以及空格等等。 同樣的,這些抱怨毫無意義。Python擁有大批受眾,特別是“軟科學(xué)家”群體。生物學(xué)家與經(jīng)濟(jì)學(xué)家將Python視為最強(qiáng)語言,有些人甚至建議在股票與債券的說明文件中添加Python代碼,這樣銀行家們就能夠通過Python看懂其中真正的含義——而不被那幫律師騙子所蒙蔽。 好消息是,閱讀Python代碼確實(shí)要比閱讀法律文件更容易。這是種進(jìn)步,而且是種我們無法抗拒的進(jìn)步…… 原文鏈接:http://www./article/3072163/application-development/7-programming-languages-we-love-to-hate-but-cant-live-without.html 原文標(biāo)題:7 programming languages we love to hate -- but can’t live without 原文作者:Peter Wayner 【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】 本文為原作者看法,不代表51CTO傳媒立場。 |
|