Ads 468x60px

##EasyReadMore##

17 7月, 2013

常用的脚本语言的比较 perl phthon tcl

今天看xilinx的工程,裡面的實現是用perl來做的系統調用。順便學習一下腳本語言。這裡貼出來,以備以後學習。
perl

perl的最大特點是有強大的字符串模式匹配,是最好的文本文件的讀取和生成語言。
perl具有很大的自由性,像英語一樣有很大的隨意性,
perl有一個強大的數據庫接口和其他各種接口。
perl有最大量的程序庫。
perl不適合編寫大程序。
perl有一個著名的缺點是難懂,也有一個著名的優點是簡練。

php

我感到php是個怪胎,本來perl加嵌入html的功能就完全能實現php的功能,還要另創一種語言,加重了大家的學習負擔。
php可以嵌入html,更容易編寫服務器端程序。
php天然和web服務器以及mysql數據庫相結合。
php可以動態生成圖像。

python

首先,python是和basic一樣面向初學者的語言,和英語一樣容易懂。
python具有和java一樣的最豐富的語法。
python有和perl類似的簡單性,但沒有模式匹配。
python適合編寫大程序。
python有和lisp相似的地方,它有將字符串作為程序執行的eval函數,可以對一個對象的所有數據進行保存,可以把函數作為參數傳給另一個函數。
python具有非常好的擴充性,python程序可以和c程序,以及java程序很好地結合。

tcl

tcl具有最簡單的語法,最好的和其他程序交互的能力,有編寫圖形界面程序的tk。

javascript

編寫動態網頁的最佳工具。

lisp

lisp的語法非常簡單,只有簡單的函數和參數的語句結構。
lisp數據和程序的界限模糊。
lisp可以深度嵌套。

prolog

prolog是一種專門的語言。專門用來處理知識。
我感覺prolog是一種數據庫的處理工具。
也是根據一些知識衍生出更多知識的推理工具。

我為什麼選擇了python
首先聲明,我編程只編應用程序,就是代替自己工作的小程序。如果編寫系統程序總會用到c或java的。

我喜歡腳本語言,腳本語言不用編譯就可以運行,非常便於修改,而編程序是一種經常性的活動,程序編完後總在不斷的修改中,沒必要搞的很隆重,還要編譯。另外,腳本程序每個使用的人都可以隨手拿來修改,不會出現還要去找源代碼的情況。因此,c和java就被排除了。

我喜歡簡單的語言,不喜歡為了編寫簡單的程序而去學習大量複雜的規定,需要大量的學習才會的語言不是好語言,是把人當機器看。c和java都有嚴格但羅索的語法,有永遠學不完的函數、類、庫。讓人看到就頭大。而perl有各種怪裡怪氣的速記符號,程序常常讓人頭暈。簡單的含義除了容易學,還要功能豐富,常用到的東西要早就準備好,不用每個人都去寫同樣的數據結構程序等。python有豐富的數據類型,有完備的面向對象的結構,有規則表達式等各種方便編程的模塊。這個邏輯就是程序做的多,人做的就少,如果程序做的少,就要人做的多。這就是界面友好的問題。容易上手,功能豐富是程序設計的很重要的目標,windows就是靠這個流行的。而python也很好的體現了這點。而perl象unix的emac之類其它工具一樣,功能強大,但太難學,太難懂。是比較違背人性的。

關於性能。現在cpu已經很強大了。除了很大的程序和系統程序,沒必要關心性能。

關於功能。如果不是編寫系統程序和貼近系統的程序,沒必要使用操作系統特別提供的功能。c是可以幹任何事情,但它編程效率低,複雜。

至於我為什麼不用vb,因為vb太龐大了。我沒必要實現一個小功能啟動這麼龐大的程序。太誇張。另外,vb沒有類繼承,雖然是應用編程,但如果要編稍微大的程序,總會用到類繼承的。

python得強大得擴展能力使對python得學習不會浪費。python經過簡單得處理能使用各種得c和c++庫,也可以被c和c++調用。python可以直接使用java得類,也可以直接被java調用。這樣,對python、java、c得學習和使用經驗都不會被浪費,還能相互補充。python可以提高java和c得編程效率,java和c可以補充python功能上得不足。python還可以和tcl直接交互,這種功能是內置得。期待python能簡單的調用perl和php得功能。能使用lisp和prolog更好。

http://www.eefocus.com/giema/blog/12-02/238663_78a5b.html

 

0 意見:

張貼留言

 
Blogger Templates