容易學習的Python語言
還記得幾年前一個美國教授談到編程時說,編程是對人的智力的浪費。我當時深有同感,編程中確實有大量費力同時又相當瑣碎的事。當然現在看來教授的話有些偏激,畢竟在“編程機器”發明前,還需要千萬個程式員的辛勤工作。
電腦業經過了pc革命,又迎來了網路革命,下一個大的革命也許就是智能革命。但在智能時代到來之前,還是有很多有意義的改進工作可做,近年發展的一些半自動開發工具一定程度上降低了勞動強度,對程式語言的改進一直也在進行。
對於編程來說,程式語言不是關鍵性的因素,但對工作效率卻有不可低估的影響。經過測試證明一些script語言(如python,perl等)和傳統的語言(如c,c++)相比,開發速度有5倍以上的差距。
在這裡我向大家推薦Python語言,我主要談它的兩個特點:
—— 容易學習
我講我自己的一點親身感受。當我瞭解了script語言的好處後,我就決定學習一門script語言,學什麼好呢?自然的我選擇了名氣最大的perl,我買了一本《perl 24小時教程》,但我折騰了差不多半個月也不敢說掌握了。在有些泄氣的同時我想到了曾在網上看到的Python語言,一天無聊,我憑猜測鍵入了Python.Org,果然這裡是Python的主網站。讀了它的簡介後我很快就被吸引住了,我立刻下載了軟體,經過三個小時的實驗,運行一些小程式,我感覺已經基本上領會了Python, 容易學習,的確名不虛傳。下面是同一個函數兩種語言版本的對比(聲明:我無意貶低Perl的價值,它的流行已經證明了自己):
#————— Python version.——————
def pairwiseSum(list1, list2):
result = []
for i in range(len(list1)):
result.append(list1[i] + list2[i])
return result
#————— Perl version. ———————
sub pairwiseSum {
my($arg1, $arg2) = @_;
@list1 = @$arg1; @list2 = @$arg2;
for($i=0; $i < length(@list1); $i++) {
push(@result, $list1[$i] + $list2[$i]);
}
return(/@result);
}
Python提供了一個互動式環境,我想這是它容易學習的主要原因之一,就像以前的Basic和一些資料庫語言環境(如dbase,sql等)一樣,正如一個資深程式員所說,軟體的複雜是因為千萬件事堆在一起,互動式環境恰好可以讓我們把程式分解開,我們可以實驗每一個不清楚的語言成分,同時這也是一個很好的測試平台。
——Python的另一個重要特徵是容易閱讀
這是設計者的設計目標之一,這得益於它的文法簡潔,用縮排格式代替了括弧,程式短小精悍(比其它一些語言短一半到三分之二),同時語言直截了當,接近自然語言,符號的使用符合常識和直覺,比較少專門定義的特殊符號,這也是Python容易學習的原因之一。
程式的容易閱讀是很重要的,程式越大就越發重要,除非你想把自己搞暈。如果說對個人來說還不是如此關鍵的話,對於一個團體和社區來說就可以說是太重要了,無論是開發,維護還是軟體品質都將受益匪淺,而且可促進交流提高,在這個網路時代其價值就越發顯示出來。
我們是在寫程式,畢竟不是在搞加密。
參考網站:
http://www.python.org
http://python123.yeah.net
作者:陳革
2000.10.3