5 款讓我又愛又恨的編程語言!

Java技術(shù)棧
www.javastack.cn
關(guān)注閱讀更多優(yōu)質(zhì)文章
不可否認(rèn),想要成為一名優(yōu)秀的程序員確實(shí)是需要掌握多種編程語言。通過這幾年的自虐式學(xué)習(xí),我也慢慢的掌握了這些編程語言。
鬼知道這過程多么痛苦,但也因?yàn)樗鼈儯視?huì)獲得比別人更多的機(jī)會(huì)。接下來要為大家,介紹五款讓我又愛又恨的編程語言!
1.C語言

C語言給人的感覺,就是一位神秘莫測(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代碼庫(kù)的維護(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)。即使大 家自身水平能夠輕松搞定指針,但也需要編寫冗長(zhǎng)的注釋加以記錄,這相當(dāng)讓人抓狂。
另外,我想問一下各位,有人幾個(gè)人能記住編寫C代碼所應(yīng)當(dāng)遵循的全部最佳 實(shí)踐嗎?例如避免一切潛在的安全漏洞,好吧,我個(gè)人不太行。
2.JavaScript

JavaScript給人的感覺,就是一位悲觀型的女生形象。為什么這樣說呢,誰叫它們總是用小括號(hào)、中括號(hào)與大括號(hào)包裹著自己呢!
無法拒絕JavaScript的原因:互聯(lián)網(wǎng)以及無數(shù)瀏覽器仍然堅(jiān)持使用JavaScript,而Node.js的出現(xiàn)甚至迫使我們?cè)诜?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

PHP給的感覺是一位單純乖巧型女生,至于原因PHP相比其他語言更簡(jiǎn)單,PHP性能足夠好,熱部署、易修改,我們也不用那么費(fèi)心啦~

PHP其實(shí)并不能算是真正的計(jì)算機(jī)語言,而更像是一款用于向靜態(tài)HTML中添加智能機(jī)制的工具。大家可以將信息存儲(chǔ)在數(shù)據(jù)庫(kù)中并為其匹配靜態(tài)標(biāo)簽。雖然還有更多功能,但總體來看PHP的基本作用就是對(duì)我們提取自數(shù)據(jù)庫(kù)的字符串進(jìn)行粘接。
但爭(zhēng)議歸爭(zhēng)議,大多數(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.Java

Java給我的感覺是一位邋遢學(xué)霸型女生的形象。虛擬機(jī)與庫(kù)概念可以追溯至上世紀(jì)九十年代,但語法則早在上世紀(jì)七十年代即與C語言一同出現(xiàn)。自動(dòng)內(nèi)存管理看起來很美,直到惡心的垃圾回收機(jī)制毀掉這一切。
Java程序員們一直在抱怨這方面問題,而且其中一部分,也確實(shí)被甲骨文所解決。然而,解決的過程又帶來了新問題。一部分新型代碼及庫(kù)無法在舊有虛擬機(jī)上運(yùn)行。我就經(jīng)歷過這樣的困擾,事實(shí)上Java 1.4之后的每個(gè)版本都像是一種完全不同的語言。

但這一切都不重要。Java是Web與移動(dòng)手機(jī)的基石,它也是高校當(dāng)中教授的第一門語言。相關(guān)代碼庫(kù)愈發(fā)龐大,其價(jià)值也遠(yuǎn)遠(yuǎn)超過其它語言。我們能怎么辦?忍著吧。
5.Python

Python給我的感覺是一位萌萌的蘿莉型女生的形象。這是一種適合年輕人學(xué)習(xí)的現(xiàn)代語言。其很少用到標(biāo)點(diǎn)符號(hào),因此代碼看起來更加簡(jiǎn)潔。問題在哪?首先,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://codebay.cn/post/5953.html






關(guān)注Java技術(shù)棧看更多干貨


