Python編程語言使用者心得
Python編程語言在當(dāng)前的編程人員中已經(jīng)有很廣泛的應(yīng)用。其實Python編程語言我很早就聽說它了,但是一直到現(xiàn)在我才有了一些對Python編程語言的使用心得。下面就和大家來分享一下。
早在1998年,我在玩Linux的時候,就接觸過它,但是我對Python的印象僅僅停留在它是一種流行的面向?qū)ο蟮哪_本語言的認(rèn)識上。
zope,基于Python編程語言的app server,早在2000年我就已經(jīng)對它如雷貫耳了,但是我對zope的印象僅僅停留在它是一種類似Apache HTTPD Server,AOL Server之類的web server上。
今年ozzzzzz多次向我提到Python和zope,聽得我耳朵都起了老繭了,dlee又建議我開設(shè)Python版面,雖然我沒有答應(yīng),但是架不住朋友們的左勸右勸,終究對Python這門語言有了好奇心。
幾天前,當(dāng)我漫不經(jīng)心的瀏覽了Python編程語言和zope的網(wǎng)站之后,我突然有了一種“眾里尋它千百度,那人卻在燈火闌珊處”的感覺,悔不迭錯過了那么多次相逢的機(jī)會。
對于軟件開發(fā),我和ozzzzzz有一個共識,就是腳本解釋弱類型語言在開發(fā)效率上遠(yuǎn)遠(yuǎn)超過編譯強(qiáng)類型語言,從軟件開發(fā)角度來說,腳本語言具備天然的開發(fā)效率上的優(yōu)勢,這是由語言的內(nèi)在屬性決定的。
例如我們可以比較一下Web編程使用PHP和Servlet/JSP,比較一下Windows桌面應(yīng)用使用VB和VC/Delphi,比較一下Unix環(huán)境下面Shell和C/Java,比較一下數(shù)據(jù)庫環(huán)境下面的PL/SQL和JDBC/SQLJ。
我雖然使用Java開發(fā)軟件已經(jīng)有5年的歷史了,但是能不用Java的時候,我一定不會用Java的。如果搭建一個小型的網(wǎng)站,我一定選擇PHP而不是Java;如果針對數(shù)據(jù)庫的小型編程,我一定使用PL/SQL而不是Java;如果是桌面應(yīng)用,我一定選擇VB而不是Java;如果是Unix環(huán)境我寧愿選擇shell,perl甚至PHP,而不是Java。
做為一種嚴(yán)謹(jǐn)?shù)模幾g式的,面向?qū)ο笳Z言,Java總是給我一種須正襟危坐,須一板一眼的按照OOAD的原則編程,才敢在鍵盤上敲下字符的感覺。即使編寫一個最小規(guī)模的程序,我也不能夠接受把所有的code塞到main里面的做法。Java似乎以不怒自威的威嚴(yán)使我不敢隨意編碼,不敢玷污Java的嚴(yán)謹(jǐn)。于是我即使寫一個很簡單的JDBC程序,也要一板一眼的try catch finally,一層層的處理Connection,PreparedStatement和ResultSet。 #t#
誠然,如果開發(fā)規(guī)模比較大的項目,或者開發(fā)自有的軟件產(chǎn)品,必須應(yīng)該按照嚴(yán)謹(jǐn)?shù)姆绞?,此時Java也是最適合的語言。但是我不想活的那么累,很多人也不想活的那么累,于是大家都懷念起來腳本語言的好來。對于小規(guī)模的應(yīng)用,使用腳本語言快速簡單完成的事情,當(dāng)你使用Java的時候,你陷入了過多的層層代碼包圍中去。于是groovy出現(xiàn)了,bean shell出現(xiàn)了。大家終于明白,編譯語言不是軟件開發(fā)的全部,腳本語言才是最適合程序員的語言。
我喜歡Python編程語言語言,喜歡的沒邊,Java是我的職業(yè),但是我從來都沒有在內(nèi)心深處喜歡過它的語法,我更加討厭C++變本加厲的復(fù)雜。我鐘愛的語言包括小學(xué)就接觸的BASIC和Logo,畢業(yè)以后才掌握的Unix Shell和PHP,Perl,PL/SQL。幾乎我接觸過的每種腳本語言,我都有濃厚的興趣和感情,除了VBA是一個例外。
看看Java里面長長的對象,方法和屬性命名,看看Java編程冗長的調(diào)用語句和愚蠢的對象賦值和經(jīng)常長達(dá)幾十行的getter/setter,我會時不時從心底泛起惡心的感覺,雖然我經(jīng)常也是這種惡心感覺的制造者。但是惡心歸惡心,我知道Java有它不可取代的作用,PHP有它無法彌補(bǔ)的缺陷。大部分腳本語言,包括perl,PHP,PL/SQL,VBA都不是真正意義上的面向?qū)ο缶幊陶Z言,即使包括了部分面向?qū)ο笳Z言的特性,這注定了腳本語言不能夠承擔(dān)大型項目的開發(fā),甚至也不能夠充當(dāng)良好的可復(fù)用的組件存在。以上就是對Python編程語言的一些個人看法。