本文新鏈接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, 也就是說給定題目,讓用戶來解題,支持如上列出的多種語言,但不支持第三方庫。
這個(gè)編程語言排行也是根據(jù)用戶解題時(shí)所用語言而制作出來的。所以這個(gè)排行無法看作是計(jì)算機(jī)行業(yè)對編程語言的需求。
就個(gè)人體驗(yàn)而言,在其上解題的用戶有以下幾種特征:
- 學(xué)習(xí)編程;
- 熟悉一種新的程序語言;
- 應(yīng)聘相應(yīng)工作(CodeEval會定期舉行解題贏取面試機(jī)會的活動)。
對于第一種用戶,他們使用的語言可能比較基本和常見,不會使用網(wǎng)絡(luò)端常見的Ruby,PHP,Perl等語言。
而第二種用戶,是已經(jīng)掌握了一至二種語言,需要練習(xí)第三種語言,純?yōu)閵蕵?。往往會使用一些與主流程序語言,或者其工作中常用的程序語言所不同的。
第三種用戶,為了獲取面試機(jī)會,一定會選取高效快速的程序語言。
再者,由于解題多用到命令行文件輸入,就筆者經(jīng)驗(yàn)(C/C++/C#/Java/Python/JavaScript/PHP),Python的文件操作最簡單快捷。對于字符串轉(zhuǎn)浮點(diǎn)整形等也是相當(dāng)輕松。有些題目甚至Python只需一個(gè)函數(shù)就解決了,比如將輸入文本的字母大寫轉(zhuǎn)成小寫,小寫轉(zhuǎn)成大寫。
之所以Python為何能成為榜首,可以看出:一是由于其簡單易學(xué),二是由于其方便簡潔的文本文檔的操作方式,三是豐富的內(nèi)置函數(shù)。
Code Eval對程序的硬性限制只有一條(除去編譯錯(cuò)誤),就是運(yùn)行時(shí)間不得超過10秒。但就其簡單和中級的題(占總題量70%左右)來看,要寫出超過10秒運(yùn)行的程序也難。
在挑戰(zhàn)題目時(shí),用戶也不許要考慮內(nèi)存,CPU運(yùn)算速度,網(wǎng)絡(luò),硬盤操作等問題。(具體CodeEval的編譯環(huán)境配置未知)
綜上,Python遠(yuǎn)較其它語言更適合進(jìn)行解題。但鄙人在日常使用Python時(shí),深受其速度拖累,核心算法還是首選C++或Java。
總而言之,這個(gè)排行榜只是一種興趣級別的語言排行,而非企業(yè)應(yīng)用級的排行。對于沒有計(jì)算機(jī)學(xué)科基礎(chǔ),但又對編程感興趣的同學(xué),可以先從Python學(xué)起;Python作為興趣級別的使用已經(jīng)足夠了,只不過以后要轉(zhuǎn)C/C++可能會很不適應(yīng)。 _

英文報(bào)道:點(diǎn)我