日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

linux寶庫/編程技術(shù)/各種語言的介紹

 todaytomo 2006-12-30
各種語言的介紹
2005-08-24 10:00 am
作者:linux寶庫 (http://www.)
來自:linux寶庫 (http://www.)
現(xiàn)存:http://www./3717.html
聯(lián)系:linuxmine#gmail.com

不明白?歡迎到 linux論壇 (http://bbs.) 參加討論!

各種語言的介紹:

在 介紹編程語言之前,先說說開放源代碼的必要性。現(xiàn)在,在軟件生產(chǎn)領(lǐng)域存在巨大的智利浪費(fèi),大家把大量的精力用在編寫別人已經(jīng)實(shí)現(xiàn)的程序代碼上??纯?,文本 編輯器有多少,看看ftp程序有多少,看看字處理程序有多少,這些程序雖然有差別,但主要的功能都是一樣的。要實(shí)現(xiàn)個性化的功能,在已有的軟件基礎(chǔ)上修改 會節(jié)省多少時間呀!而每個程序各編一套,又浪費(fèi)多少時間?如果,沒有這些重復(fù)的工作量,世界上的程序員至少可以節(jié)省80%的工作量。同時,開放源代碼也方 便了大家的交流,閱讀源代碼應(yīng)該是最直接最有效的學(xué)習(xí)途徑。尤其是比較專業(yè)的領(lǐng)域。

要開放源代碼,下面幾點(diǎn)比較重要:
×、語言要流行。
×、語言的函數(shù)和類庫統(tǒng)一。
×、語言的語法和編譯器要統(tǒng)一。
×、編譯器是否開放源代碼。
×、API是否開放源代碼。
×、語言的可重用性、功能、友好性。

語 言統(tǒng)一的必要性:如果大家都用一種編程語言,都用同樣的函數(shù),同樣的類庫,那么,大家的共同語言就會很多。大家只要學(xué)會一種語言,一套函數(shù),一套類庫,就 可以相互讀懂源代碼,這樣,學(xué)習(xí)量是最少的。學(xué)習(xí)新的API浪費(fèi)程序員大量的時間和精力,尤其是當(dāng)這個API有大量和其他API重復(fù)的功能的時候。

要增加代碼的可重用性,要從下面幾點(diǎn)著手:
×、代碼的可讀性。如格式、是否接近英語語法和單詞。
×、代碼的表達(dá)能力,也就是簡單性,能用最少的語句和單詞實(shí)現(xiàn)同樣的功能。
×、代碼的結(jié)構(gòu)性,如函數(shù)、模塊、類。

語言功能的強(qiáng)大從下面幾點(diǎn)來說:
×、是否擁有大量的庫支持。這是最重要的,要求編寫任何功能的程序都有強(qiáng)大的庫支持。
×、語法功能是否強(qiáng)大,比如是否有出錯處理。是否有指針。

語言的友好性:
×、語言包的大小,語言包越小,學(xué)習(xí)越簡單。
×、語言是否有友好的編輯調(diào)試環(huán)境。
×、語言的可視化和集成編程環(huán)境。

c語言:

從性能上說,除了匯編語言,c語言是最接近機(jī)器的語言。各種操作系統(tǒng)的編程接口的默認(rèn)語言都是c語言。因此,用c語言編程,可以最大限度發(fā)揮操作系統(tǒng)的能力。同時,由于絕大部分的商品軟件都是c實(shí)現(xiàn)的,都有c編程接口,可以說,沒有c不能實(shí)現(xiàn)的功能。

在linux環(huán)境中,c具有很好的開放源代碼的條件,它有統(tǒng)一的編譯器gcc,有強(qiáng)大但比較難掌握的編程環(huán)境emacs,有統(tǒng)一的API:posix和linux接口。并且編譯器和API是開放源代碼的。

在linux上編寫圖形界面程序,有兩個選擇KDE和gnome,KDE更成熟,gnome支持多語言和面向?qū)ο蟮某绦蜷g的協(xié)同。

在windows環(huán)境中,現(xiàn)在統(tǒng)一到了vc上,但有一個缺點(diǎn),windows的升級換代太快,從dos環(huán)境到windows31
,從windows31到windows95,到windows2000,到.net。API常常變換,這樣,在windows上的程序代碼的壽命會比較短。并且vc的編譯器和API太復(fù)雜,難于掌握。

同時,由于c具有現(xiàn)代語言的大量特征,現(xiàn)在常常代替pasical作為教學(xué)的編程語言。

實(shí)際上,如果不深入學(xué)習(xí),c也是一種很簡單的語言。不學(xué)basic,直接學(xué)c完全沒有問題。

和其他語言相比,c有多種編譯器,多種操作系統(tǒng)API,多種語法和函數(shù)。學(xué)習(xí)的難度大,統(tǒng)一性差。

和java相比,c的語法不夠豐富、現(xiàn)代。

java:

相對c,java作為現(xiàn)代語言,具有非常豐富的語法特征,如模塊和類,不像c隨操作系統(tǒng)和編譯器的不同有極大差異,java是一個公司的產(chǎn)品,具有唯一的API,因此,java程序員沒有語言隔閡。

相對跨平臺的語言來說,java具有最好的圖形界面編程API。

java所有的API都是類庫,相對c的函數(shù)來說,是非常大的進(jìn)步。java具有現(xiàn)代語言幾乎所有的特征。

perl:

perl的最大特點(diǎn)是有強(qiáng)大的字符串模式匹配,是最好的文本文件的讀取和生成語言。

perl具有很大的自由性,象英語一樣有很大的隨意性,

perl有一個強(qiáng)大的數(shù)據(jù)庫接口和其他各種接口。

perl有最大量的程序庫。

perl不適合編寫大程序。

perl有一個著名的缺點(diǎn)是難懂,也有一個著名的優(yōu)點(diǎn)是簡練。

php:

我感到php是個怪胎,本來perl加嵌入html的功能就完全能實(shí)現(xiàn)php的功能,還要另創(chuàng)一種語言,加重了大家的學(xué)習(xí)負(fù)擔(dān)。

php可以嵌入html,更容易編寫服務(wù)器端程序。

php天然和web服務(wù)器以及mysql數(shù)據(jù)庫相結(jié)合。

php可以動態(tài)生成圖像。

python:

首先,python是和basic一樣面向初學(xué)者的語言,和英語一樣容易懂。

python具有和java一樣的最豐富的語法。

python有和perl類似的簡單性,但沒有模式匹配。

python適合編寫大程序。

python有和lisp相似的地方,它有將字符串作為程序執(zhí)行的eval函數(shù),可以對一個對象的所有數(shù)據(jù)進(jìn)行保存,可以把函數(shù)作為參數(shù)傳給另一個函數(shù)。

python具有非常好的擴(kuò)充性,python程序可以和c程序,以及java程序很好地結(jié)合。

tcl:

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

javascript:

編寫動態(tài)網(wǎng)頁的最佳工具。

lisp:

lisp的語法非常簡單,只有簡單的函數(shù)和參數(shù)的語句結(jié)構(gòu)。

lisp數(shù)據(jù)和程序的界限模糊。

lisp可以深度嵌套。

prolog:

prolog是一種專門的語言。專門用來處理知識。

我感覺prolog是一種數(shù)據(jù)庫的處理工具。

也是根據(jù)一些知識衍生出更多知識的推理工具。

basic:

現(xiàn)在最著名的basic是vb,

basic是簡單的初級語言。

vb是快速的界面生成語言,是快速的數(shù)據(jù)庫程序開發(fā)語言。

vba是vb的應(yīng)用版,嵌入在offic中。編寫offic上的程序很好用。

vbscript是vb的腳本語言,可以產(chǎn)生服務(wù)器端和客戶端的動態(tài)網(wǎng)頁。

basic的丑陋在于參數(shù)還是默認(rèn)傳地址。太危險。

delphi:

和vb一樣是快速開發(fā)環(huán)境,但性能更好,功能更強(qiáng)大。

.net:

支持多種語言的統(tǒng)一的API類庫,

可以編寫webform程序,即所有的邏輯都在服務(wù)器端,傳到客戶端的是標(biāo)準(zhǔn)的html3.0,可以被各種瀏覽器支持。各程序組件間通過soap交換消息。

各種語言的選擇:

如果編寫對性能要求苛刻,或和操作系統(tǒng)結(jié)合緊密的程序,必然選擇c。

如果編寫到處可用的程序,選java。

如果編寫大程序,可能的化盡量用python,不行了再用java和c。因?yàn)閜ython帶來了生產(chǎn)力。

編寫文本的處理程序用perl。

編寫知識的處理程序用prolog。

編寫最靈活,最模糊的程序用lisp。

編寫office程序用vba。

編寫服務(wù)器端程序,php、perl、python、asp都是選擇。

編寫數(shù)據(jù)庫程序用vb或delphi。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多