本文新鏈接http://cn.abnerchou.me/2014/02/23/fa87ae80/
首先了解下CodeEval是做什么的:
A tool for auto evaluating programming challenges in C/C++/Java/Python/ Ruby/PHP/Perl/ Scala/Clojure/C#/Tcl/ JavaScript/ Haskell/Go/ Bash/Lua and many more.
重點(diǎn)是這個(gè)Programming Challenges溅话, 也就是說(shuō)給定題目条霜,讓用戶來(lái)解題,支持如上列出的多種語(yǔ)言碌尔,但不支持第三方庫(kù)溜歪。
這個(gè)編程語(yǔ)言排行也是根據(jù)用戶解題時(shí)所用語(yǔ)言而制作出來(lái)的赌髓。所以這個(gè)排行無(wú)法看作是計(jì)算機(jī)行業(yè)對(duì)編程語(yǔ)言的需求祝钢。
就個(gè)人體驗(yàn)而言,在其上解題的用戶有以下幾種特征:
- 學(xué)習(xí)編程吱窝;
- 熟悉一種新的程序語(yǔ)言讥邻;
- 應(yīng)聘相應(yīng)工作(CodeEval會(huì)定期舉行解題贏取面試機(jī)會(huì)的活動(dòng))。
對(duì)于第一種用戶院峡,他們使用的語(yǔ)言可能比較基本和常見(jiàn)兴使,不會(huì)使用網(wǎng)絡(luò)端常見(jiàn)的Ruby,PHP照激,Perl等語(yǔ)言发魄。
而第二種用戶,是已經(jīng)掌握了一至二種語(yǔ)言俩垃,需要練習(xí)第三種語(yǔ)言励幼,純?yōu)閵蕵?lè)。往往會(huì)使用一些與主流程序語(yǔ)言口柳,或者其工作中常用的程序語(yǔ)言所不同的苹粟。
第三種用戶,為了獲取面試機(jī)會(huì)跃闹,一定會(huì)選取高效快速的程序語(yǔ)言嵌削。
再者,由于解題多用到命令行文件輸入望艺,就筆者經(jīng)驗(yàn)(C/C++/C#/Java/Python/JavaScript/PHP),Python的文件操作最簡(jiǎn)單快捷苛秕。對(duì)于字符串轉(zhuǎn)浮點(diǎn)整形等也是相當(dāng)輕松。有些題目甚至Python只需一個(gè)函數(shù)就解決了荣茫,比如將輸入文本的字母大寫(xiě)轉(zhuǎn)成小寫(xiě)想帅,小寫(xiě)轉(zhuǎn)成大寫(xiě)。
之所以Python為何能成為榜首啡莉,可以看出:一是由于其簡(jiǎn)單易學(xué),二是由于其方便簡(jiǎn)潔的文本文檔的操作方式旨剥,三是豐富的內(nèi)置函數(shù)咧欣。
Code Eval對(duì)程序的硬性限制只有一條(除去編譯錯(cuò)誤),就是運(yùn)行時(shí)間不得超過(guò)10秒轨帜。但就其簡(jiǎn)單和中級(jí)的題(占總題量70%左右)來(lái)看魄咕,要寫(xiě)出超過(guò)10秒運(yùn)行的程序也難。
在挑戰(zhàn)題目時(shí)蚌父,用戶也不許要考慮內(nèi)存哮兰,CPU運(yùn)算速度毛萌,網(wǎng)絡(luò),硬盤(pán)操作等問(wèn)題喝滞。(具體CodeEval的編譯環(huán)境配置未知)
綜上阁将,Python遠(yuǎn)較其它語(yǔ)言更適合進(jìn)行解題。但鄙人在日常使用Python時(shí)右遭,深受其速度拖累做盅,核心算法還是首選C++或Java。
總而言之窘哈,這個(gè)排行榜只是一種興趣級(jí)別的語(yǔ)言排行吹榴,而非企業(yè)應(yīng)用級(jí)的排行。對(duì)于沒(méi)有計(jì)算機(jī)學(xué)科基礎(chǔ)滚婉,但又對(duì)編程感興趣的同學(xué)图筹,可以先從Python學(xué)起;Python作為興趣級(jí)別的使用已經(jīng)足夠了让腹,只不過(guò)以后要轉(zhuǎn)C/C++可能會(huì)很不適應(yīng)婿斥。 _
英文報(bào)道:點(diǎn)我