為了選擇一個合適的指令碼語言學習,今天查了不少有關Perl,Python,Ruby,Javascript的東西,可是發現各大陣營的人都在吹捧自己喜歡的語言,不過最沒有爭議的應該是Javascript現階段還不適合用來做獨立開發,它的天下還是在web應用上。
我
主要是想做資料採礦演算法的研究,應該會處理大量的文本。提到文本處理,相信大部分人都會說應該用Perl。的確,Perl的文本處理很強大,但是它的文法
給人的感覺太亂了,我之前把Perl的基本文法學完了,也用它做了一些簡單的文本處理工作,但是到現在,用起來還是不那麼順手。貌似在Unix或
Linux上做系統管理Perl是最好的選擇。
Python據說吸收了Perl的一些東西,其非常特別的一點應該是它的文法非常規範吧,寫出來的程式一定是格式優美的,由於自己沒有研究過,也不知道它到底適合用來做什麼,摘抄了下面的特點:
- 物件導向的指令碼語言
- 自由的,可移植的,功能強大的,可以與其它語言混合編程
- 系統軟體的指令碼
- 圖形使用者介面,可以開發圖形介面
- 組件整合,支援COM、JAVA
- 快速原型
- Internet指令碼
- 影像處理、人工智慧、分布式對象
- RedHat公司的Linxu安裝工具使用Python
- MS公司曾發不過部分使用Python寫的程式
- Yahoo!在大量Internet服務中使用Python
- 美國國家宇航局把Python使用者任務控制系統的實現
- 製作《侏羅紀公園》的Industrial Light and Magic公司用Python產生標誌的商業動畫。
Ruby,我是在為一個公司做RoR開發的時候剛接觸的,我只做了一個簡單的模組,由於時間上的原因沒有繼續參與項目,因此對Ruby也是停留在懂基本語
法的階段,不過它給我的印象不錯。也許是因為它相比以上兩個語言來說是最新的吧,應該吸收了不少前輩身上的優點,容易上手,功能也很強大。
查了半天資料眼睛都看花了,還是弄得我不知道選擇哪個好。當然,每個都學點不是問題,可我現在是想找一個作為重點研究對象,要達到精通的程度。
實在沒辦法,我在搜尋引擎裡進行了實驗,看現在哪個語言的技術人員需求量大:
在google中搜尋關鍵詞“XXX招聘”:
- 約有540,000項符合Perl招聘
- 約有500,000項符合Python招聘
- 約有515,000項符合Ruby招聘
- 約有1,280,000項符合javascript招聘
在baidu中搜尋關鍵詞“XXX招聘”:
- Perl招聘:找到相關網頁約534,000篇
- Python招聘: 找到相關網頁約338,000篇
- Ruby招聘:找到相關網頁約400,000篇
- Javascript招聘: 找到相關網頁約2,390,000篇
儘管javascript的需求量最大,但不適合我要做的工作,故不考慮。
其
他三種語言,在google和baidu中的分部基本一致,Perl最多,Ruby置中,Python最少;考慮到語言出現的先後會對其技術需求產生影
響,Perl是最古老的,Python置中,Ruby最年輕;再考慮到語言本身的文法特點,Perl最晦澀,Python和Ruby都比較整潔。
綜合考慮,我偏向於深入學習Ruby。
那就這樣吧,畢竟不是什麼生死決策,沒必要反覆猶豫。語言本身沒有優劣之分,關鍵在於應用這門語言的人對它的熟練程度。就像一個牛人說的:“我用純C語言照樣寫出完美的OO程式”。