編程語言介紹_第1頁
編程語言介紹_第2頁
編程語言介紹_第3頁
編程語言介紹_第4頁
編程語言介紹_第5頁
已閱讀5頁,還剩24頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

編程語言介紹目錄[隱藏]1開放源代碼的必要性2各種語言的選擇3各種語言的選擇4我為什么選擇了Python5Ruby和Python的比較5.1Python和Ruby的相同點(diǎn)5.2和Python相比Ruby的優(yōu)點(diǎn)5.3和Python相比Ruby的不足5.4Python和Ruby的語言的選擇6多腳本語言的大統(tǒng)一及疑問.NET介紹7.1.NET所實(shí)現(xiàn)的Java的功能7.2.NET未實(shí)現(xiàn)的Java功能7.3.NET實(shí)現(xiàn)的Java不具備的功能7.4相對vs6的改進(jìn)XML各種技術(shù)介紹9最先進(jìn)的XML格式圖形界面程序開發(fā)工具一XUL10最接近人類語言的編程語言一REBOL11最具有現(xiàn)代感的Lisp解釋器DrSchemeeiffel語言印象mozartoz語言14各種語言的選擇和語言之間的關(guān)系14.1一般是使用什么軟件,就用什么軟件的語言14.2然后看處理什么樣類型的數(shù)據(jù)14.3從語言特點(diǎn)來說14.4C語言是最普及的語言,但C語言有一些缺點(diǎn),因此,就產(chǎn)生了很多改進(jìn)C的語言14.5關(guān)于圖形用戶界面的選擇14.6discuss15文學(xué)編程和CWEB介紹16貢獻(xiàn)[編輯]開放源代碼的必要性在介紹編程語言之前,先說說開放源代碼的必要性?,F(xiàn)在,在軟件生產(chǎn)領(lǐng)域存在巨大的智力浪費(fèi),大家把大量的精力用在編寫別人已經(jīng)實(shí)現(xiàn)的程序代碼上??纯矗谋揪庉嬈饔卸嗌?,看看ftp程序有多少,看看字處理程序有多少,這些程序雖然有差別,但主要的功能都是一樣的。要實(shí)現(xiàn)個(gè)性化的功能,在已有的軟件基礎(chǔ)上修改會節(jié)省多少時(shí)間呀!而每個(gè)程序各編一套,又浪費(fèi)多少時(shí)間?如果,沒有這些重復(fù)的工作量,世界上的程序員至少可以節(jié)省80%的工作量。同時(shí),開放源代碼也方便了大家的交流,閱讀源代碼應(yīng)該是最直接最有效的學(xué)習(xí)途徑,尤其是比較專業(yè)的領(lǐng)域。要開放源代碼,下面幾點(diǎn)比較重要:語言要流行。語言的函數(shù)和類庫統(tǒng)一。語言的語法和編譯器要統(tǒng)一。編譯器是否開放源代碼。API是否開放源代碼。語言的可重用性、功能、友好性。語言統(tǒng)一:如果大家都用一種編程語言,都用同樣的函數(shù),同樣的類庫,那么,大家的共同語言就會很多。大家只要學(xué)會一種語言,一套函數(shù),一套類庫,就可以相互讀懂源代碼,這樣,學(xué)習(xí)量是最少的;但是語言統(tǒng)一根本是不可能的事,因?yàn)楦鞣N語言都有其特色,如果取了其中一個(gè)優(yōu)點(diǎn),通常就會犧牲另一個(gè)優(yōu)點(diǎn)??墒菍W(xué)習(xí)新的API浪費(fèi)程序員大量的時(shí)間和精力,尤其是當(dāng)這個(gè)API有大量和其他API重復(fù)的功能的時(shí)候。要增加代碼的可重用性,要從下面幾點(diǎn)著手:代碼的可讀性。如格式、是否接近英語語法和單詞。代碼的表達(dá)能力,也就是簡單性,能用最少的語句和單詞實(shí)現(xiàn)同樣的功能。代碼的結(jié)構(gòu)性,如函數(shù)、模塊、類。語言功能的強(qiáng)大從下面幾點(diǎn)來說:是否擁有大量的庫支持。這是最重要的,要求編寫任何功能的程序都有強(qiáng)大的庫支持。語法功能是否強(qiáng)大,比如是否有出錯(cuò)處理。是否有指針。語言的友好性:語言包的大小,語言包越小,學(xué)習(xí)越簡單。語言是否有友好的編輯調(diào)試環(huán)境。語言的可視化和集成編程環(huán)境。[編輯]各種語言的選擇如果編寫對性能要求苛刻,或和操作系統(tǒng)結(jié)合緊密的程序,必然選擇C。如果編寫到處可用的程序,選Java。如果編寫大程序,可能的話盡量用腳本語言如Python、Ruby,不行了再用Java和C。因?yàn)槟_本語言帶來了生產(chǎn)力。編寫文本的處理程序用Perl或Ruby。編寫知識的處理程序用prolog。編寫最靈活,最模糊的程序用Lisp。編寫office程序用vba。編寫服務(wù)器端程序,PHP、(采用自己熟悉的語言來寫,例如Perl、Python、Ruby)CGI、ASP、(熟悉Java就用)JSP都是選擇。編寫數(shù)據(jù)庫程序用vb、PowerBuiler或delphi。進(jìn)行算法研究、設(shè)計(jì),用Pascal。[編輯]各種語言的選擇如果要追求性能和程序的能力,要完全發(fā)揮操作系統(tǒng)的能力,使用C/C++語言是合適的。在Windows環(huán)境下用VC,在Unix—like環(huán)境下用gcc。如果不是追求和操作系統(tǒng)完美結(jié)合,而只是性能,又要追求跨平臺性,那么仍然選擇C,但可以選擇跨平臺的庫,如qt、gtk、fox、wxWidgets。如果要編寫游戲也有跨平臺選擇:SDL。如果不滿意C領(lǐng)域標(biāo)準(zhǔn)的不統(tǒng)一,不滿意C的容易出錯(cuò),不滿意C的面向?qū)ο筇卣鞑粡氐?。如果不在乎跨平臺,Windows平臺可以選擇C#,mac平臺可以選擇Cocoa(Objective—C)。如果需要跨平臺,可以選擇Java。如果需要跨平臺,又要廣泛的支持的話,選擇Java。在Unix—like下,最方便的工具語言是Perl,它有強(qiáng)大的社區(qū)和代碼庫的支持。如果只作為簡單應(yīng)用的工具語言,Python和Ruby是更好的選擇,他們的跨平臺移植性好,應(yīng)用也比較廣泛。其中Python更適合入門和交流,長期使用也不錯(cuò)。Ruby是對Python不滿意的另一個(gè)選擇,它提供了很多額外的功能。如果要選擇一個(gè)程序的嵌入語言,原來有Lisp、Basic和Java,現(xiàn)在還可以選擇Python和Ruby。如果在要求動態(tài)解釋執(zhí)行語言,而又不想學(xué)其他語言的話,C程序員的選擇是pike,Java程序員的選擇是beanshello在Java平臺,又想用腳本語言的話,可以用Pythono最正統(tǒng)的基于文檔的語言或叫動態(tài)頁面語言是JavaScripto最專門的服務(wù)器端語言是PHP,當(dāng)然也有很多其他選擇。XML語言以XUL為最著名,dtml也算一個(gè),你自己也可以用XML作為自己特殊用途的語言。比如jedit就用XML作為一種模式定制語言。XML語言是一種比較先進(jìn)的趨勢,比現(xiàn)有的語言在特殊領(lǐng)域更高效。要找容易實(shí)現(xiàn)的語言,Lisp和Tcl是選擇。Lisp的數(shù)據(jù)和程序融為一體的能力和自由是其他語言都沒有的?,F(xiàn)在出現(xiàn)了一個(gè)Lisp的現(xiàn)代化的變種:REBOLo如果有基于事實(shí)的編程的需要的話,prolog和Clips是必然。[編輯]我為什么選擇了Python首先聲明,我編程只編應(yīng)用程序,就是代替自己工作的小程序。如果編寫系統(tǒng)程序總會用到C或Java的。我喜歡腳本語言,腳本語言不用編譯就可以運(yùn)行,非常便于修改,而編程序是一種經(jīng)常性的活動,程序編完后總在不斷的修改中,沒必要搞的很隆重,還要編譯。另外,腳本程序每個(gè)使用的人都可以隨手拿來修改,不會出現(xiàn)還要去找源代碼的情況。因此,C/C++和Java就被排除了。我喜歡簡單的語言,不喜歡為了編寫簡單的程序而去學(xué)習(xí)大量復(fù)雜的規(guī)定,需要大量的學(xué)習(xí)才會的語言不是好語言,是把人當(dāng)機(jī)器看。C/C++和Java都有嚴(yán)格但羅索的語法,有永遠(yuǎn)學(xué)不完的函數(shù)、類、庫。讓人看到就頭大。而Perl有各種怪里怪氣的速記符號,程序常常讓人頭暈。簡單的含義除了容易學(xué),還要功能豐富,常用到的東西要早就準(zhǔn)備好,不用每個(gè)人都去寫同樣的數(shù)據(jù)結(jié)構(gòu)程序等。Python有豐富的數(shù)據(jù)類型,有完備的面向?qū)ο蟮慕Y(jié)構(gòu),有規(guī)則表達(dá)式等各種方便編程的模塊。這個(gè)邏輯就是程序做的多,人做的就少,如果程序做的少,就要人做的多。這就是界面友好的問題。容易上手,功能豐富是程序設(shè)計(jì)的很重要的目標(biāo),Windows就是靠這個(gè)流行的。而Python也很好的體現(xiàn)了這點(diǎn)。而Perl象Unix的emaCs之類其它工具一樣,功能強(qiáng)大,但太難學(xué),太難懂。是比較違背人性的。關(guān)于性能?,F(xiàn)在Cpu已經(jīng)很強(qiáng)大了。除了很大的程序和系統(tǒng)程序,沒必要關(guān)心性能。關(guān)于功能。如果不是編寫系統(tǒng)程序和貼近系統(tǒng)的程序,沒必要使用操作系統(tǒng)特別提供的功能。C是可以干任何事情,但它編程效率低,復(fù)雜。至于我為什么不用vb,因?yàn)関b太龐大了。我沒必要實(shí)現(xiàn)一個(gè)小功能啟動這么龐大的程序。太夸張。另外,vb沒有類繼承,雖然是應(yīng)用編程,但如果要編稍微大的程序,總會用到類繼承的。Python得強(qiáng)大得擴(kuò)展能力使對Python得學(xué)習(xí)不會浪費(fèi)。Python經(jīng)過簡單得處理能使用各種得C和C++庫,也可以被C和C++調(diào)用。Python可以直接使用Java得類,也可以直接被Java調(diào)用。這樣,對Python、Java、C得學(xué)習(xí)和使用經(jīng)驗(yàn)都不會被浪費(fèi),還能相互補(bǔ)充。Python可以提高Java和C得編程效率,Java和C可以補(bǔ)充Python功能上得不足。Python還可以和Tcl直接交互,這種功能是內(nèi)置得。期待Python能簡單的調(diào)用Perl和PHP得功能。能使用Lisp和prolog更好。[編輯]Ruby和Python的比較[編輯]Python和Ruby的相同點(diǎn)都強(qiáng)調(diào)語法簡單,都具有更一般的表達(dá)方式。Python是縮進(jìn),Ruby是類Basic的表達(dá)。都大量減少了符號。都是動態(tài)數(shù)據(jù)類型。都是有豐富的數(shù)據(jù)結(jié)構(gòu)。都具有C語言擴(kuò)展能力,都具有可移植性,比Perl的可移植性更好。也都可以作為嵌入語言。都是面向?qū)ο蟮恼Z言,都可以作為大項(xiàng)目的開發(fā)工具。都有豐富的庫支持。也有最寬松的版權(quán)許可,除了一些工具屬于GNU世界。都有Lisp特色的eval函數(shù),也都能把函數(shù)作為參數(shù)。也有圖形界面的Ruby的專門編輯器。都獲得了廣泛的C庫的支持。如qt、gtk、tk、SDL、FOX等,Ruby計(jì)劃實(shí)現(xiàn)SWIG接口。都有完善的文檔。[編輯]和Python相比Ruby的優(yōu)點(diǎn)具有正則表達(dá)式和嵌入HTML的功能。Python也有正則表達(dá)式,但沒有Ruby的應(yīng)用方便和廣泛。Python的嵌入HTML項(xiàng)目才剛起步。Ruby還有apaChe的mod模塊。Ruby本身也實(shí)現(xiàn)和很多Unix工具,如raCC,doCtools。比Python更親近Linux。比Python功能更完整的面向?qū)ο蟮恼Z法。Ruby的整個(gè)庫都是具有類繼承的結(jié)構(gòu)。他的基本的數(shù)據(jù)類型和運(yùn)算符都是可以重載的。Ruby主要的功能都是通過對象的方法調(diào)用來實(shí)現(xiàn)的,而不是函數(shù)。Python也在向這方面發(fā)展,但沒有Ruby做的徹底。Ruby的類是更規(guī)范的單繼承,還有接口等概念的實(shí)現(xiàn)。Python可以實(shí)現(xiàn)在列表內(nèi)的條件語句、循環(huán)語句,而Ruby用''塊”的方式來實(shí)現(xiàn)這個(gè)功能,比Python的更靈活,更具有通用性。Ruby具有類似Lisp的徹底的函數(shù)方式的條件語句、循環(huán)語句等。語句的表達(dá)能力更強(qiáng)。附帶一些Unix工具,如raCC等。[編輯]和Python相比Ruby的不足最大的不足正是因?yàn)镽uby的強(qiáng)大所引起的。它沒有Python的簡單性好。比較復(fù)雜的面向?qū)ο笳Z法、、、塊”語法的引入、正則表達(dá)式的引入、一些簡寫標(biāo)記都增加了語言的復(fù)雜性。Python的縮進(jìn)表達(dá)方式比Ruby的Basic的表達(dá)方式更讓人悅目,Ruby程序的滿眼的end讓人不舒服。當(dāng)然,Ruby認(rèn)為end的方式比Python更先進(jìn)。Ruby還沒有Python的、'自省”的能力,沒有從程序文件中生成文檔的能力。Ruby支持不及Python廣。國際化支持在Ruby的計(jì)劃中。這是因?yàn)镽uby的歷史比Python要短造成的。[編輯]Python和Ruby的語言的選擇從簡單的就是好的來說,選Python是沒錯(cuò)的。Python適合尋找簡單語言的人,這很可能造成Python更流行,因此也有更多的支持。但如果要追求更強(qiáng)大的語法功能,對編程語言感興趣,想了解各種編程概念的人,則Ruby是好的選擇。Ruby和Python都想取代Perl,解決Perl的缺點(diǎn)一一面向?qū)ο蟛蛔?,但Python用是方法是混合面向?qū)ο蠛统绦蚴降某淌秸Z言,Ruby是允許自己這個(gè)面向?qū)ο笳Z言扮成程序式的程式語言,[編輯]多腳本語言的大統(tǒng)一及疑問現(xiàn)在各種腳本語言太多了,有必要進(jìn)行整合,parrot是一個(gè)好的想法。.NET也是好的想法。它為各種腳本提供了一個(gè)統(tǒng)一的虛機(jī),為各種腳本語言提供了基于''類”的相互調(diào)用,為各種腳本提供了統(tǒng)一的類庫。現(xiàn)在各種腳本語言只是提供了對C語言的交互性,這種交互也是費(fèi)勁的和效果不好的。比如Python、Perl、Ruby等都提供了對C的交互功能。腳本語言之間的交流障礙重重。而類似.NET的東西,提供了非常容易的各種腳本的相互利用的途徑,避免了很多的代碼的重復(fù)編寫。這種標(biāo)準(zhǔn)平臺的力量是很大的,這種標(biāo)準(zhǔn)平臺為什么沒有在開源領(lǐng)域首先出現(xiàn)呢?眾多的腳本正是開源的特點(diǎn)和優(yōu)勢,為什么這種問題要微軟來解決呢?前面有人提出了類似的問題,在Linux中為什么至今沒有好用的類似ODBC的東西呢?可能這種整合只有商業(yè)公司有能力實(shí)現(xiàn)吧。我的理解是,如果有創(chuàng)新思想的人都拿他的想法去賣錢了,因此,在開源中只剩下了模仿的人。kde是模仿Windows,koffice是模仿office,Linux是模仿Unix,gcc、bash等也全都是模仿,以及gstep等,還有freedos、atheos等也是模仿,wxWindows、SDL也是模仿。我想知道開源社區(qū)有沒有自己的創(chuàng)新?我所知道的創(chuàng)新是zope,但zope最初也是商業(yè)產(chǎn)品,后來才開源的。Perl是創(chuàng)新,Python是創(chuàng)新,但還有什么呢?是不是開源領(lǐng)域只有hacker,沒有Creator?[編輯].NET介紹[編輯].NET所實(shí)現(xiàn)的Java的功能可控代碼跨平臺的虛機(jī)和偽碼免費(fèi)贈送命令行編譯器純面向?qū)ο笳Z言對XML和XMLwebserviCes的支持和jsp對應(yīng)的asp.NET網(wǎng)頁上的程序一套統(tǒng)一的中間件環(huán)境。asp.NET跟jsp不是同一個(gè)層次上的web技術(shù),asp.NET使用完善的事件響應(yīng)機(jī)制,WinForms類似的WebForm技術(shù),只有JSF跟Asp.NET有可比性。[編輯].NET未實(shí)現(xiàn)的Java功能免費(fèi)的集成開發(fā)環(huán)境多廠家支持,跨平臺的成熟度免費(fèi)的IDE,#develop,ASP.NET的有MS的WebMatrix而免費(fèi)開源的CLR實(shí)現(xiàn),有MS自己的XP,F(xiàn)reeBSD,MacOS下的實(shí)現(xiàn)(原理演示不能進(jìn)行商業(yè)應(yīng)用),Novell下的Mono項(xiàng)目,已經(jīng)發(fā)布了Beta1版本,在2004—6—30將會發(fā)布Release1;還有GNU的一個(gè).NET實(shí)現(xiàn)!?。劬庉嫞?NET實(shí)現(xiàn)的Java不具備的功能多語言支持強(qiáng)大的集成開發(fā)環(huán)境。在Windows上媲美本機(jī)程序的速度。對COM的支持,對vs的繼承對widowsform、webform、服務(wù)器端程序的圖形直觀編程。[編輯]相對vs6的改進(jìn)統(tǒng)一了集成開發(fā)環(huán)境,使C++程序也具有了vb的友好性。[編輯]XML各種技術(shù)介紹XML:XML是統(tǒng)一格式的結(jié)構(gòu)化數(shù)據(jù)的文本文件?;赬ML的程序,數(shù)據(jù)結(jié)構(gòu)是開放的,方便不同程序處理同一種文件,這樣,程序之間可以達(dá)到高水平的協(xié)作。XML現(xiàn)在成為了各行各業(yè)統(tǒng)一數(shù)據(jù)格式的基礎(chǔ)。XML發(fā)展出了完善的語法,它用DTD或XMLscheme來界定XML的標(biāo)記語言。用uri來唯一確定一個(gè)XML格式。用Css或XLT來轉(zhuǎn)換XML格式,xlink和xpointer等來建立XML的鏈接,用xpath來定位XML中的數(shù)據(jù)。xHTML:是嚴(yán)格符合XML格式的HTML。RDF:基于XML的元數(shù)據(jù)描述語言。方便交換結(jié)構(gòu)化數(shù)據(jù)。方便交換知識。RDF是用主語、謂語、賓語來描述知識的。SVG:XML格式的矢量圖形格式。SMILE:XML格式的各種多媒體在時(shí)間線上的協(xié)同。xmath:XML格式的公式描述語言。XML—rpC和soap:以http協(xié)議和XML格式來進(jìn)行網(wǎng)絡(luò)程序之間的消息通訊。XUL:netscape的mazilla使用的程序界面語言,基于XML格式,比HTML強(qiáng)大的多的描述圖形界面的XML語言。它用Css來換膚,用DTD來實(shí)現(xiàn)多語言界面,用JavasCript來實(shí)現(xiàn)程序邏輯,以此編寫跨平臺的可方便定制界面的程序,現(xiàn)在這個(gè)程序API功能已經(jīng)很強(qiáng)大了,整個(gè)mazilla程序就是基于XUL的。xaml:MS在LongHorn平臺的最新編程語言,將統(tǒng)一Windows與Web編程,直接使用LongHorn下的瀏覽器進(jìn)行執(zhí)行,跟XUL有類比性[編輯]最先進(jìn)的XML格式圖形界面程序開發(fā)工具一XUL大家知道netsCape程序,一個(gè)僅次于ie得瀏覽器,也有很多人知道Mozilla,netsCape得開放源代碼版本。但很多人只是使用Mozilla,不知道Mozilla另一個(gè)重要得功能——程序開發(fā)。在netsCape開放源代碼后三年Mozilla得1。0版還沒有問世,很多人譏笑他的超慢得開發(fā)速度,實(shí)際上,Mozilla醞釀出了一個(gè)超酷得新產(chǎn)品,可以看作是軟件開發(fā)工具發(fā)展得另一個(gè)里程碑?,F(xiàn)在基于瀏覽器得三層開發(fā)結(jié)構(gòu)非常流行,微軟的.NET的思路就是基于這個(gè)結(jié)構(gòu)得。另外,不考慮服務(wù)器結(jié)構(gòu),就是基于網(wǎng)頁得JavaScript小程序也對人很有吸引力,這些產(chǎn)品得思路都是以HTML為用戶界面,但開發(fā)人員常??鄲烙贖TML太簡陋。而Mozilla得XUL解決了這個(gè)問題。XUL是對HTML的擴(kuò)展,完全兼容于HTML,XUL基于XML格式對HTML進(jìn)行了擴(kuò)展,實(shí)現(xiàn)了完整、強(qiáng)大得圖形用戶界面設(shè)計(jì)功能??梢栽O(shè)計(jì)出復(fù)雜得圖形界面程序。實(shí)際上mazilla整個(gè)就是由XUL設(shè)計(jì)的。XUL用Css來控制界面風(fēng)格、用DTD來替代字符串,方便的實(shí)現(xiàn)本地化,用JavasCript來對用戶界面的操作作出反應(yīng),提供基本的邏輯編程,JavaScript通過對象文檔接口DOM來動態(tài)控制用戶界面。同時(shí)JavasCript通過調(diào)用Mozilla提供的豐富的底層API來實(shí)現(xiàn)強(qiáng)大的功能。Mozilla提供了功能強(qiáng)大的API可以進(jìn)行文件操作、網(wǎng)絡(luò)操作、圖形操作等各種操作,并且這種API是完全跨平臺的。最后,Mozilla用RDF格式來存儲獨(dú)立于界面的數(shù)據(jù)。總結(jié):XUL由于兼容HTML,提供了最強(qiáng)大的用戶界面的定制,DTD提供了最方便的本地化。XUL、JavasCript、RDF提供了顯示、邏輯、數(shù)據(jù)的分離。Mozilla的底層API提供了跨平臺的強(qiáng)大編程能力。希望大家都來關(guān)心Mozilla。[編輯]最接近人類語言的編程語言一REBOLREBOL的詳細(xì)資料見www.REBOL.org。這里談一下我的印象。REBOL的缺點(diǎn)是明顯的。它是一個(gè)商業(yè)公司的產(chǎn)品。它只是象Java一樣免費(fèi)使用。但不開放源代碼。并且它的數(shù)據(jù)庫連接的函數(shù)庫是收費(fèi)的。但它的優(yōu)點(diǎn)也十分明顯,如果因?yàn)椴皇情_放源代碼軟件而不能放心使用,也可以欣賞和借鑒它的種種特點(diǎn),并且了解了REBOL肯定還會忍不住使用它。首先REBOL是一個(gè)Lisp語言的替代品,它能實(shí)現(xiàn)Lisp的所有能力。他具有Lisp語言的數(shù)據(jù)和程序同等處理的特點(diǎn),也有語句和表達(dá)式的統(tǒng)一。但大大打破了Lisp的局限。它允許中綴運(yùn)算符的形式,沒有滿眼的括號,和一般編程語言的表達(dá)方法完全一樣。同時(shí)具有豐富的庫,有完全的圖形界面庫,完全的網(wǎng)絡(luò)庫。因?yàn)槭且粋€(gè)公司的產(chǎn)品,也保證了庫的統(tǒng)一。REBOL自稱為網(wǎng)絡(luò)編程語言,它的網(wǎng)絡(luò)編程能力很強(qiáng),一般一個(gè)語句就可以下載一個(gè)文件,或下載一個(gè)網(wǎng)頁,或接受一個(gè)郵件。REBOL一個(gè)神奇的特點(diǎn)是它的圖形界面設(shè)計(jì),它的界面編程非常簡單,完全不用語句和函數(shù),而是和HTML一樣只要表達(dá)核心內(nèi)容就行了。這得益于REBOL的''方言”能力。REBOL內(nèi)置了''方言"能力。就是象yacc一樣的語言解析能力。可以隨時(shí)擴(kuò)展''子語言氣REBOL內(nèi)置了幾十種數(shù)據(jù)類型,用它編程,語句肯定是最精煉的。REBOL可以實(shí)現(xiàn)Java一樣的網(wǎng)絡(luò)下載程序運(yùn)行的能力,也有砂箱功能。它比Java更進(jìn)一步,有自己的桌面,在桌面上可以任意啟動各個(gè)REBOL程序,它的桌面象HTML一樣有豐富的表達(dá)形式和超鏈接。鏈接到有REBOL功能的網(wǎng)站上就可以象瀏覽網(wǎng)頁一樣使用各種程序。由于REBOL語言比Java要簡練的多,同時(shí)是不用編譯的腳本語言,它的程序文件非常小,更適合網(wǎng)絡(luò)傳輸。因?yàn)镽EBOL有這樣神奇的功能,它自稱internet操作系統(tǒng)。因?yàn)镽EBOL是腳本語言,因此它天然是跨平臺的。它有很多操作系統(tǒng)的實(shí)現(xiàn)。還有一個(gè)特點(diǎn),REBOL語言自身只是一個(gè)幾百k的可執(zhí)行文件,因此REBOL程序的發(fā)布是非常簡單的。[編輯]最具有現(xiàn)代感的Lisp解釋器DrSchemeLisp是一個(gè)古老的計(jì)算機(jī)編程語言,給人的印象是速度慢,輸入輸出能力弱,沒有圖形界面,自身攜帶的庫太少,很多功能不能實(shí)現(xiàn)。這一切在DrScheme手中改變了。DrScheme具有大量的現(xiàn)代語言具有的功能,比如作為嵌入腳本的能力,圖形界面的編程能力,面向?qū)ο蟮哪芰ΓM件編程能力,正則表達(dá)式能力,XML能力,作為web服務(wù)器和客戶端來輸入輸出能力及其它網(wǎng)絡(luò)能力,產(chǎn)生獨(dú)立可執(zhí)行文件的能力。一個(gè)集成的編輯調(diào)試環(huán)境。不過它的程序執(zhí)行速度還是稍慢。當(dāng)然,它具有所有Scheme的優(yōu)點(diǎn),語法的宏定義能力,命名空間能力,數(shù)據(jù)和程序不分的能力,堆棧式內(nèi)存管理,無窮嵌套,用''表”來表現(xiàn)所有語句和數(shù)據(jù)的簡單方式,也天然帶有程序環(huán)境的永恒存在能力。這些特點(diǎn)好像正在最新出現(xiàn)的編程語言中出現(xiàn)。好像目前的編程語言的發(fā)展趨勢是從C語言的方式向具有更多Lisp特點(diǎn)的方向發(fā)展。就像Windows逐漸具有了越來越多的Unix早已實(shí)現(xiàn)的功能。才知道Lisp的編程環(huán)境已經(jīng)這么好了。[編輯]eiffel語言印象印象深的是它是全開發(fā)周期的語言,并且是在開發(fā)周期可回溯的。它的ContraCt和Ada類似。eiffel是和C++類似的編譯的面向?qū)ο笳Z言,不過更簡單,能夠多繼承。eiffel是C語言的面向?qū)ο缶幊痰拇嫖?。[編輯]mozartoz語言oz介紹它是面向?qū)ο蟮?、能夠邏輯編程的、并發(fā)分布的語言。我對oz印象最深的是它的多線程能力。一個(gè)簡單的Case語句,就可以啟動多個(gè)線程。另外,它也是一個(gè)prolog的代替物,可以編寫分布并發(fā)的人工智能程序。[編輯]各種語言的選擇和語言之間的關(guān)系[編輯]一般是使用什么軟件,就用什么軟件的語言就拿我用的軟件舉例:使用excel,就用vba編程。使用autoCad就用autoLisp編程使用zope就用Python編程如果使用gimp就用Python或sCheme編程使用gnomeoffice就用Python或Basic編程使用blender就用Python編程[編輯]然后看處理什么樣類型的數(shù)據(jù)如果處理文件的操作就用shell語言。比如bash如果處理文本文件,就用Perl或awk,如果喜歡Perl的風(fēng)格,又象編大程序,就要用Ruby如果處理數(shù)據(jù)庫,簡單的用sed。否則用sql。如果是對象數(shù)據(jù)庫,可以使用Python+ZODB、或Lua、fish如果一般的數(shù)據(jù)庫不能滿足要求,需要做專家系統(tǒng),就用prolog如果處理結(jié)構(gòu)化文本,如XML,就用xslt。處理HTML,客戶端用JavasCript,服務(wù)器端用PHP如果處理類似語言分析的文本,就用yacc如果處理出來的結(jié)果是打印文檔或屏幕文檔,就用tex如果是圖像、動畫或其它二進(jìn)制的文件,一般用C語言。如果處理的問題和操作系統(tǒng)底層打交道,用C語言[編輯]從語言特點(diǎn)來說如果極端要求運(yùn)行中的多線程的并發(fā)和分布,可以考慮oz語言。如果極端重視文檔,希望把程序的文檔寫出來了,程序也幾乎就完成了,那么用Cweb復(fù)雜的程序,在編寫之前需要做uml的文檔。如果要編寫規(guī)模較大的程序或打算只學(xué)一種編程語言,就要用Python如果編寫程序來處理復(fù)雜的數(shù)據(jù)結(jié)構(gòu)和算法,就用Lisp和scheme(喜歡Lisp的風(fēng)格,并希望更簡單,用REBOL)如果想最簡單的實(shí)現(xiàn)一個(gè)語言來作為嵌入語言,就用Tcl,如果Tcl有局限,就用Lua[編輯]C語言是最普及的語言,但C語言有一些缺點(diǎn),因此,就產(chǎn)生了很多改進(jìn)C的語言因?yàn)镃不能編寫大程序,就產(chǎn)生了C++因?yàn)镃++還有指針等缺點(diǎn),就產(chǎn)生了Java如果不喜歡C++的各種缺點(diǎn),又想使用一個(gè)編譯型語言,就選擇eiffelC語言的一個(gè)缺點(diǎn)是標(biāo)準(zhǔn)庫規(guī)模小,不能解決所有的問題,就產(chǎn)生了大量不兼容的庫,導(dǎo)致了很多不可移植的程序。如果想要一個(gè)和C用樣級別的可移植的編程語言,就選擇Ada。Ada的圖形用戶界面庫和各種和操作系統(tǒng)相關(guān)的庫都是標(biāo)準(zhǔn)化的,可以選擇不同賣家的解決方案。是軍隊(duì)要求的標(biāo)準(zhǔn)編程語言。如果不喜歡C語言的繁瑣,希望常做的事編程能夠簡單,那么可以用Python。完成同樣的工作,Python代碼行數(shù)是C的幾分之一。C風(fēng)格的腳本化語言是Javascript,pike[編輯]關(guān)于圖形用戶界面的選擇最簡單的圖形界面接口是tk,可以在各種平臺上可用如果有更高的要求使用gtk。gtk移植性差些。一個(gè)以移植性為目標(biāo)的開源C庫是wxwindow如果希望簡單的編程,要求不很高,可以用XUL跨平臺的圖形用戶結(jié)構(gòu)是Java的awt和swing。如果不跨平臺,還有ibm的Java解決方案。如果對商業(yè)編程語言不排斥,可以用qt,因?yàn)閝t的程序,如果商業(yè)使用是要付費(fèi)的。如果要編寫全屏的文本界面程序,emacs是最權(quán)威的。我們可以回憶,turboC的編程環(huán)境和圖形用戶界面一樣友好。它就是全屏的文本用戶界面。如果編寫office家族類似的程序,在openoffice上也是可以考慮的選擇。gtk也可以。[編輯]discussmaddog(journeyman)06/12/0310:55Re:各種語言的選擇和語言之間的關(guān)系[re:nonametomz1]回復(fù)>如果處理結(jié)構(gòu)化文本,如XML,就用xslt。XML本身也算吧.>處理HTML,客戶端用JavasCript,服務(wù)器端用PHPPHP不是唯一.>如果處理出來的結(jié)果是打印文檔或屏幕文檔,就用tex超強(qiáng).>如果是圖像、動畫或其它二進(jìn)制的文件,一般用C語言。>如果處理的問題和操作系統(tǒng)底層打交道,用C語言我會在C/C++里面選C++>如果極端要求運(yùn)行中的多線程的并發(fā)和分布,可以考慮oz語>>言。20年以后的語言.>如果編寫程序來處理復(fù)雜的數(shù)據(jù)結(jié)構(gòu)和算法,就用Lisp和〉sChemeLisp也是讓人喜歡.>如果要編寫全屏的文本界面程序,emaCs是最權(quán)威的。我們>>可以回憶,turboC的編程環(huán)境和圖形用戶界面一樣友好。它〉就是全屏的文本用戶界面。哈,EmaCs.也許,語言是用來超越的.許多應(yīng)用就需要不同語言混合.把Python嵌到應(yīng)用程序中,我覺得很誘人.[編輯]文學(xué)編程和CWEB介紹CWEB是tex的作者創(chuàng)立的一種編程語言。tex是主流的文檔打印標(biāo)準(zhǔn)和文檔生成工具。tex及相關(guān)的metafont就是用Cweb編寫的軟件,同時(shí)tex體現(xiàn)了Cweb的編程特點(diǎn)。CWEB的編程思想叫''文學(xué)編程”。實(shí)際應(yīng)該叫''文章編程”,因?yàn)楹臀膶W(xué)關(guān)系不大,反而和學(xué)術(shù)著作類似。主要思想就是:編程應(yīng)該象寫學(xué)術(shù)著作那樣,有整體構(gòu)思,以部、章、節(jié)、子節(jié)、子子節(jié)那樣逐級豐富。這實(shí)際和我們說的自頂向下”的編程方法類似。但、、自頂向下”只是一種軟件工程的方式,它是以編寫文檔的方式實(shí)現(xiàn)的,沒有和編程語言結(jié)合起來。CWEB用我的說法是用編程語言實(shí)現(xiàn)了''自頂向下”。CWEB的實(shí)現(xiàn)方式是''宏替換”,就是逐級用更具體的內(nèi)容來代替較概括較簡略的內(nèi)容。我們使用的編程工具“makerw實(shí)際就是一種宏替換工具(我沒用過maker,只是聽說)。zope的TAL語言是一種替換工具,但不是宏替換工具,因?yàn)樗膬?nèi)容不是可執(zhí)行的,如果內(nèi)容是可執(zhí)行的,那么它也可以叫宏替換Dictionaries字典PriorityQueues堆GraphDataStructures圖SetDataStructures集合Kd-Trees線段樹NumericalProblems數(shù)值問題SolvingLinearEquations線性方程組BandwidthReduction帶寬壓縮MatrixMultiplication矩陣乘法DeterminantsandPermanents彳亍歹。式ConstrainedandUnconstrainedOptimization最值問題LinearProgramming線性規(guī)戈ijRandomNumberGeneration隨機(jī)數(shù)生成FactoringandPrimalityTesting因子分解/質(zhì)數(shù)判定ArbitraryPrecisionArithmetic高精度計(jì)算KnapsackProblem背包問題DiscreteFourierTransform離散Fourier變換CombinatorialProblems組合問題Sorting排序Searching查找MedianandSelection中位數(shù)GeneratingPermutations排歹。生成GeneratingSubsets子集生成GeneratingPartitions戈ij分生成GeneratingGraphs圖的生成CalendricalCalculations日期JobScheduling工程安排Satisfiability可滿足性GraphProblems--polynomial圖論-多項(xiàng)式算法ConnectedComponents連通分支TopologicalSorting拓?fù)渑判騇inimumSpanningTree最小生成樹ShortestPath最短路徑TransitiveClosureandReduction傳遞閉包Matching匹配EulerianCycle/ChinesePostmanEuler回路/中國郵路EdgeandVertexConnectivity害U邊/割點(diǎn)NetworkFlow網(wǎng)絡(luò)流DrawingGraphsNicely圖的描繪DrawingTrees樹的描繪PlanarityDetectionandEmbedding平面性檢測和嵌入GraphProblems--hard圖論-NP問題Clique最大團(tuán)IndependentSet獨(dú)立集VertexCover點(diǎn)覆蓋TravelingSalesmanProblem旅行商問題HamiltonianCycleHamilton回路GraphPartition圖的劃分VertexColoring點(diǎn)染色EdgeColoring邊染色GraphIsomorphism同構(gòu)SteinerTreeSteiner樹FeedbackEdge/VertexSet最大無環(huán)子圖ComputationalGeometry計(jì)算幾何ConvexHull凸包Triangulation三角剖分VoronoiDiagramsVoronoi圖NearestNeighborSearch最近點(diǎn)對查詢RangeSearch范圍查詢PointLocation位置查詢IntersectionDetection碰撞測試BinPacking裝箱問題Medial-AxisTransformation中軸變換PolygonPartitioning多邊形分割SimplifyingPolygons多邊形化簡ShapeSimilarity相似多邊形MotionPlanning運(yùn)動規(guī)劃MaintainingLineArrangements平面分割MinkowskiSumMinkowski和SetandStringProblems集合與串的問題SetCover集合覆蓋SetPacking集合配置StringMatching模式匹配ApproximateStringMatching模糊匹配TextCompression壓縮Cryptography密碼FiniteStateMachineMinimization有窮自動機(jī)簡化LongestCommonSubstring最長公共子串ShortestCommonSuperstring最短公共父串DP DynamicProgramming 動態(tài)規(guī)劃recursion 遞歸編程詞匯A2AintegrationA2A整合abstract抽象的abstractbaseclass(ABC)抽象基類abstractclass抽象類abstraction抽象、抽象物、抽象性access存取、訪問accesslevel訪問級另Uaccessfunction訪問函數(shù)account賬戶action動作activate激活active活動的actualparameter實(shí)參adapter適配器add-in插件address地址addressspace 地址空間address-ofoperator取地址操作符ADL(argument-dependentlookup)ADO(ActiveXDataObject)ActiveX數(shù)據(jù)對象advanced 高級的aggregation聚合、聚集algorithm算法alias別名align排列、對齊allocate分配、配置allocator分配器、配置器anglebracket尖括號annotation注解、評注API(ApplicationProgrammingInterface)應(yīng)用(程序)編程接口appdomain(applicationdomain)應(yīng)用域application應(yīng)用、應(yīng)用程序applicationframework應(yīng)用程序框架appearance夕卜觀append附加architecture架構(gòu)、體系結(jié)構(gòu)archivefile歸檔文件、存檔文件argument引數(shù)(傳給函式的值)。參見parameterarray數(shù)組arrowoperator箭頭操作符ASP(ActiveServerPage)活動服務(wù)器頁面ASP.NETworkerprocessASP.NET工作者進(jìn)程assembly裝配件、配件assemblylanguage匯編語言assemblymanifest裝配件清單assert(ion)斷言assign賦值assignment賦值、分配assignmentoperator賦值操作符associated相關(guān)的、相關(guān)聯(lián)的associativecontainer關(guān)聯(lián)式容器(對應(yīng)sequentialcontainer)asynchronous異步的atomic原子的atomicoperation原子操作attribute特性、屬性authenticationservice驗(yàn)證服務(wù)authorization授權(quán)audio音頻A.I.人工智能B2BintegrationB2B整合、B2B集成(business-to-businessintegration)background背景、后臺(進(jìn)程)backwardcompatible向后兼容、向下兼容backup備份backupdevice備份設(shè)備backupfile備份文件bandwidth帶寬baseclass基類basetype基類型batch批處理BCL(baseclasslibrary)基類庫binary二進(jìn)制binarysearch二分查找binarytree二叉樹binaryfunction雙參函數(shù)binarylargeobject二進(jìn)制大對象binaryoperator二元操作符binding綁定bit位bitmap位圖bitwise按位...bitwisecopy為單元進(jìn)行復(fù)制;位元逐一復(fù)制,按位拷bitwiseoperation按位運(yùn)算block塊、區(qū)塊、語句塊bookkeeping簿記boolean布林值(真假值,true或false)border邊框boundschecking邊界檢查boxing裝箱、裝箱轉(zhuǎn)換brace(curlybrace)大括號、花括號bracket(squarebrakcet)中括號、方括號breakpoint斷點(diǎn)browserapplications瀏覽器應(yīng)用(程序)browser-accessibleapplication可經(jīng)由瀏覽器訪問的應(yīng)用程序build編連(專指編譯和連接built-in內(nèi)建、內(nèi)置bus總線business業(yè)務(wù)、商務(wù)(看場合)businessLogic業(yè)務(wù)邏輯businessrules業(yè)務(wù)規(guī)貝【Jbuttons按鈕bug臭蟲by/through通過byte位元組(由8bits組成)cache高速緩存calendar日歷call調(diào)用callback回調(diào)call-levelinterface(CLI)調(diào)用級接口(CLI)calloperator調(diào)用操作符candidatekey候選鍵(fordatabase)cascadingdelete級聯(lián)刪除(fordatabase)cascadingupdate級聯(lián)更新(fordatabase)casting轉(zhuǎn)型、造型轉(zhuǎn)換catalog目錄chain鏈(functioncalls)character字符characterformat字符格式characterset 字符集CHECKconstraintsCHECK約束(fordatabase)checkpoint檢查點(diǎn)(fordatabase)checkbox復(fù)選框checkbutton復(fù)選按鈕childclass子類CIL(commonintermediatelanguage)通用中間語言、通用中介語言class類classdeclaration類聲明classdefinition類定義classderivationlist類繼承歹。表classfactory類廠classhierarchy類層次結(jié)構(gòu)classlibrary類庫classloader類裝載器classtemplate類模板classtemplatepartialspecializations類模板部分特化classtemplatespecializations類模板特化classification分類clause子句clientapplication客戶端應(yīng)用程序clientcursor客戶端游標(biāo)(fordatabase)codepage代碼頁cleanup清理、清除CLI(CommonLanguageInfrastructure)通用語言基礎(chǔ)設(shè)施client客戶、客戶端clientarea客戶區(qū)client-server客戶機(jī)/服務(wù)器、客戶端/服務(wù)器clipboard剪貼板clone克隆CLS(commonlanguagespecification)通用語言規(guī)范codeaccesssecurity代碼訪問安全COFF(CommonObjectFileFormat) 通用對象文件格式collection集合COM(ComponentObjectModel)組件對象模型combobox組合框commandline命令行comment注釋commit提交(fordatabase)communication通訊compatible兼容compiletime編譯期、編譯時(shí)compiler編譯器component組件compositeindex復(fù)合索弓I、組合索弓I(fordatabase)compositekey復(fù)合鍵、組合鍵(fordatabase)composition復(fù)合、組合concept概念concrete具體的concreteclass具體類concurrency并發(fā)、并發(fā)機(jī)制constraint約束(fordatabase)configuration配置、組態(tài)connection連接(fordatabase)connectionpooling連接池console控制臺constant常量construct構(gòu)件、成分、概念、構(gòu)造(forlanguage)constructor(ctor)構(gòu)造函數(shù)、構(gòu)造器container容器containment包容context環(huán)境、上下文control控件cookie(不譯)copy拷貝CORBA通用對象請求中介架構(gòu)(CommonObjectRequestBrokerArchitecture)cover覆蓋、涵蓋create/creation 創(chuàng)建、生成crosstabquery 交叉表查詢(fordatabase)CRTP(curiouslyrecurringtemplatepattern)CTS(commontypesystem)通用類型系統(tǒng)cube多維數(shù)據(jù)集(fordatabase)cursor光標(biāo)cursor游標(biāo)(fordatabase)custom定制、自定義data數(shù)據(jù)dataconnection數(shù)據(jù)連接(fordatabase)DataControlLanguage(DCL)數(shù)據(jù)控制語言(DCL)(fordatabase)DataDefinitionLanguage(DDL)數(shù)據(jù)定義語言(DDL)(fordatabase)datadictionary數(shù)據(jù)字典(fordatabase)datadictionaryview數(shù)據(jù)字典視圖(fordatabase)datafile數(shù)據(jù)文件(fordatabase)dataintegrity數(shù)據(jù)完整性(fordatabase)datamanipulationlanguage(DML)數(shù)據(jù)操作語言(DML)(fordatabase)datamart數(shù)據(jù)集市(fordatabase)datapump數(shù)據(jù)抽取(fordatabase)datascrubbing數(shù)據(jù)清理(fordatabase)datasource 數(shù)據(jù)源(fordatabase)Datasourcename(DSN)數(shù)據(jù)源名稱(DSN)(fordatabase)datawarehouse數(shù)據(jù)倉庫(fordatabase)dataset數(shù)據(jù)集(fordatabase)database數(shù)據(jù)庫(fordatabase)databasecatalog數(shù)據(jù)庫目錄(fordatabase)databasediagram數(shù)據(jù)關(guān)系圖(fordatabase)databasefile 數(shù)據(jù)庫文件(fordatabase)databaseobject數(shù)據(jù)庫對象(fordatabase)databaseowner數(shù)據(jù)庫所有者(fordatabase)databaseproject數(shù)據(jù)庫工程(fordatabase)databaserole 數(shù)據(jù)庫角色(fordatabase)databaseschema數(shù)據(jù)庫模式、數(shù)據(jù)庫架構(gòu)(fordatabase)databasescript數(shù)據(jù)庫腳本(fordatabase)data-bound數(shù)據(jù)綁定(fordatabase)data-awarecontrol數(shù)據(jù)感知控件(fordatabase)datamember數(shù)據(jù)成員、成員變量dataset數(shù)據(jù)集(fordatabase)datasource數(shù)據(jù)源(fordatabase)datastructure數(shù)據(jù)結(jié)構(gòu)datatable 數(shù)據(jù)表(fordatabase)datagram 數(shù)據(jù)報(bào)文DBMS(databasemanagementsystem)數(shù)據(jù)庫管理系統(tǒng)(fordatabase)DCOM(distributedCOM)分布式COMdeadlock死鎖(fordatabase)deallocate歸還debug 調(diào)試debugger調(diào)試器decay 退化decisionsupport決策支持declaration聲明declarativereferentialintegrity(DRI)聲明引用完整性(DRI)(fordatabase)deduction推導(dǎo)DEFAULTconstraint默認(rèn)約束(fordatabase)defaultdatabase默認(rèn)數(shù)據(jù)庫(fordatabase)defaultinstance默認(rèn)實(shí)例(fordatabase)defaultresultset默認(rèn)結(jié)果集(fordatabase)default缺省、默認(rèn)值defer推遲definition定義delegate委托delegation委托dependentnamedeploy部署dereference解引用dereferenceoperator(提領(lǐng))運(yùn)算子derivedclass派生類designbycontract契約式設(shè)計(jì)designpattern設(shè)計(jì)模式destroy銷毀destructor(dtor)析構(gòu)函數(shù)、析構(gòu)器device設(shè)備DHTML(dynamicHyperTextMarkupLanguage)動態(tài)超文本標(biāo)記語言dialog對話框digest摘要digital數(shù)字的DIME(DirectInternetMessageEncapsulation)直接Internet消息封裝directive(編譯)指示符directory目錄dirtypages臟頁(fordatabase)dirtyread臟讀(fordatabase)disassembler反匯編器DISCO(DiscoveryofWebServices)WebServices的查找disk盤dispatch調(diào)度、分派、派發(fā)(我喜歡''調(diào)度”)DISPID(DispatchIdentifier)分派標(biāo)識符distributedcomputing分布式計(jì)算distributedquery 分布式查詢(fordatabase)DNA(DistributedinterNetApplication)分布式網(wǎng)間應(yīng)用程序document文檔DOM(DocumentObjectModel)文檔對象模型dotoperator(圓)點(diǎn)操作符driver驅(qū)動(程序)DTD(documenttypedefinition)文檔類型定義double-bytecharacterset(DBCS)雙字節(jié)字符集(DBCS)dump轉(zhuǎn)儲dumpfile轉(zhuǎn)儲文件dynamiccursor 動態(tài)游標(biāo)(fordatabase)dynamicfilter 動態(tài)篩選(fordatabase)dynamiclocking動態(tài)鎖定(fordatabase)dynamicrecovery動態(tài)恢復(fù)(fordatabase)dynamicsnapshot動態(tài)快照(fordatabase)dynamicSQLstatements動態(tài)SQL語句(fordatabase)dynamicassembly動態(tài)裝配件、動態(tài)配件dynamicbinding動態(tài)綁定EAI(enterpriseapplicationintegration)企業(yè)應(yīng)用程序集成(整合)EBCO(emptybaseclassoptimization)空基類優(yōu)化(機(jī)制)e-business電子商務(wù)EDI(DlectronicDataInterchange)電子數(shù)據(jù)交換efficiency效率efficient高效end-to-endauthentication端對端身份驗(yàn)證enduser最終用戶engine弓I擎entity實(shí)體encapsulation封裝enclosingclass外圍類別(與巢狀類別nestedclass有關(guān))enum(enumeration)枚舉enumerators枚舉成員、枚舉器equal相等equality相等性equalityoperator等號操作符errorlog錯(cuò)誤日志(fordatabase)escapecode轉(zhuǎn)義碼escapecharacter轉(zhuǎn)義符、轉(zhuǎn)義字符exclusivelock排它鎖(fordatabase)explicittransaction顯式事務(wù)(fordatabase)evaluate評估event事件eventdriven事件驅(qū)動的eventhandler事件處理器evidence證據(jù)exception異常exceptiondeclaration異常聲明exceptionhandling異常處理、異常處理機(jī)制exception-safe異常安全的exceptionspecification異常規(guī)范exit退出explicit顯式explicitspecialization顯式特化export導(dǎo)出expression表達(dá)式facility設(shè)施、設(shè)備fatclient胖客戶端feature 特性、特征fetch提取field字段(java)field字段(fordatabase)fieldlength字段長度(fordatabase)file文件filter篩選(fordatabase)finalization終結(jié)firewall防火墻finalizer終結(jié)器firmware固件flag標(biāo)記flashmemory閃存flush刷新font字體foreignkey(FK)外鍵(FK)(fordatabase)form窗體formalparameter形參forwarddeclaration前置聲明forward-only只向前的forward-onlycursor只向前游標(biāo)(fordatabase)fragmentation碎片(fordatabase)framework框架fullspecialization完全特化function函數(shù)functioncalloperator(即operator())函數(shù)調(diào)用操作符functionobject函數(shù)對象functionoverloadedresolution函數(shù)重載決議functionality功能functiontemplate函數(shù)模板functor仿函數(shù)GAC(globalassemblycache)全局裝配件緩存、全局配件緩存GC(Garbagecollection) 垃圾回收(機(jī)制)、垃圾收集(機(jī)制)game游戲generate生成generic泛化的、一般化的、通用的genericalgorithm通用算法genericity泛型getter(相對于setter)取值函數(shù)global全局的globalobject全局對象globalscoperesolutionoperator全局范圍解析操作符grant 授權(quán)(fordatabase)granularity粒度group 組、群groupbox分組框GUI圖形界面GUID(GloballyUniqueIdentifier)全球唯一標(biāo)識符handshaking握手handle句柄handler處理器hard-coded硬編碼的hard-copy截屏圖harddisk硬盤hardware硬件hashtable散列表、哈希表headerfile頭文件heap堆helpfile幫助文件hierarchy層次結(jié)構(gòu)、繼承體系hierarchicaldata階層式數(shù)據(jù)、層次式數(shù)據(jù)hook鉤子Host(application)宿主(應(yīng)用程序)hotkey熱鍵hyperlink超鏈接HTML(HyperTextMarkupLanguage)超文本標(biāo)記語言HTTPpipelineHTTP管道HTTP(HyperTextTransferProtocol)超文本傳輸協(xié)議icon圖標(biāo)IDE(IntegratedDevelopmentEnvironment)集成開發(fā)環(huán)境IDL(InterfaceDefinitionLanguage)接口定義語言identifier標(biāo)識符idletime空閑時(shí)間ifandonlyif當(dāng)且僅當(dāng)IL(IntermediateLanguage)中間語言、中介語言image圖象IME輸入法immediatebase直接基類immediatederived直接派生類immediateupdating即時(shí)更新(fordatabase)implicittransaction隱式事務(wù)(fordatabase)incrementalupdate增量更新(fordatabase)index索弓|(fordatabase)implement實(shí)現(xiàn)implementation實(shí)現(xiàn)、實(shí)現(xiàn)品implicit隱式import導(dǎo)入incrementoperator增加操作符infiniteloop無限循環(huán)infiniterecursive無限遞歸information 信息infrastructure基礎(chǔ)設(shè)施inheritance 繼承、繼承機(jī)制inline內(nèi)聯(lián)inlineexpansion內(nèi)聯(lián)展開initialization初始化initializationlist初始化列表、初始值列表initialize初始化innerjoin 內(nèi)聯(lián)接(fordatabase)in-placeactive現(xiàn)場激活instance 實(shí)例instantiated 具現(xiàn)化、實(shí)體化(常應(yīng)用于template)instantiation具現(xiàn)體、具現(xiàn)化實(shí)體(常應(yīng)用于template)integrate 集成、整合integrity 完整性、一致性integrityconstraint完整性約束(fordatabase)interprocesscommunication(IPC)進(jìn)程間通訊(IPC)interacts交互interface接口forGUI界面interoperability互操作性、互操作能力interpreter解釋器introspection自省invariants不變性invoke調(diào)用isolationlevel隔離級另U(fordatabase)iterate迭代iterative反復(fù)的、迭代的iterator迭代器iteration迭代(回圈每次輪回稱為一個(gè)iteration)item 項(xiàng)、條款、項(xiàng)目JITcompilationJIT編譯即時(shí)編譯key 鍵(fordatabase)keycolumn鍵歹。(fordatabase)laser 激光latebinding遲綁定leftouterjoin左向外聯(lián)接(fordatabase)level 階、層例highlevel高階、高層library庫lifetime生命期、壽命link 連接、鏈接linkage 連接、鏈接linker 連接器、鏈接器literalconstant字面常數(shù)list列表、表、鏈表listbox列表框livelock活鎖(fordatabase)load裝載、加載loadbalancing負(fù)載平衡loader裝載器、載入器local局部的localobject 局部對象lock鎖log日志login登錄loginsecuritymode登錄安全模式(fordatabase)lookuptable查找表(fordatabase)loop循環(huán)loosecoupling松散耦合lvalue 左值machinecode機(jī)器碼、機(jī)器代碼macro 宏maintain維護(hù)managedcode受控代碼、托管代碼ManagedExtensions受控?cái)U(kuò)充件、托管擴(kuò)展managedobject受控對象、托管對象manglednamemanifest清單manipulator操縱器(iostream預(yù)先定義的一種東西)many-to-manyrelationship多對多關(guān)系(fordatabase)many-to-onerelationship多對一關(guān)系(fordatabase)marshal列集member成員memberaccessoperator成員取用運(yùn)算子(有dot和arrow兩種)memberfunction成員函數(shù)memberinitializationlist成員初始值歹。表memberwise以member為單元…、members逐一…memberwisecopymemory內(nèi)存memoryleak內(nèi)存泄漏menu菜單message消息messagebased基于消息的messageloop消息環(huán)messagequeuing消息隊(duì)歹。metadata元數(shù)據(jù)metaprogramming元編程method方法micro微middleware中間件middletier中間層modeling建模modelinglanguage建模語言modifier修飾字、修飾符modem調(diào)制解調(diào)器module模塊mostderivedclass最底層的派生類mouse鼠標(biāo)mutable可變的mutex互斥元、互斥體multidimensionalOLAP(MOLAP)多維OLAP(MOLAP)(fordatabase)multithreadedserverapplication多線程服務(wù)器應(yīng)用程序multiuser多用戶multi-tasking多任務(wù)multi-thread多線程multicastdelegate組播委托、多點(diǎn)委托namedparameter命名參數(shù)namedpipe命名管道namespace名字空間、命名空間native 原生的、本地的nativecode本地碼、本機(jī)碼NativeImageGenerator(NGEN)本地映像生成器nestedclass嵌套類nestedquery嵌套查詢(fordatabase)nestedtable嵌套表(fordatabase)network網(wǎng)絡(luò)networkcard網(wǎng)卡nondependentnameobject對象objectbased基于對象的objectfile目標(biāo)文件objectmodel對象模型objectoriented面向?qū)ο蟮膐bjectpooling對象池化ODBCdatasourceODBC數(shù)據(jù)源(fordatabase)ODBCdriver ODBC驅(qū)動程序(fordatabase)ODR(one-definitionrule)OLEAutomationobjectsOLE自動化對象(fordatabase)OLEAutomationserverOLE自動化服務(wù)器(fordatabase)OLEDBconsumerOLEDB使用者(fordatabase)OLEDBforOLAP用于OLAP的OLEDB(fordatabase)OLEDBproviderOLEDB提供者(fordatabase)one-to-manyrelationship一對多關(guān)系(fordatabase)one-to-onerelationship一對一關(guān)系(fordatabase)onlineanalyticalprocessing(OLAP) 聯(lián)機(jī)分析處理(OLAP)(fordatabase)onlineredolog 聯(lián)機(jī)重做日志(fordatabase)onlinetransactionprocessing(OLTP)聯(lián)機(jī)事務(wù)處理(OLTP)(fordatabase)OpenDataServices(ODS)開放式數(shù)據(jù)服務(wù)(ODS)(fordatabase)OpenDatabaseConnectivity(ODBC)開放式數(shù)據(jù)庫連接(ODBC)(fordatabase)operand操作數(shù)operatingsystem(OS)操作系統(tǒng)operation操作operator操作符、運(yùn)算符option選項(xiàng)optimizer優(yōu)化器outerjoin夕卜聯(lián)接(fordatabase)overflow上限溢位(相對于underflow)overhead額外開銷overload重載overloadresolution重載決議overloadedfunction重載的函數(shù)overloadedoperator被重載的操作符override覆寫、重載、重新定義package包packaging打包palette調(diào)色板parallel并行parameter參數(shù)、形式參數(shù)、形參parameterlist參數(shù)列表parameterize參數(shù)化parentclass父類parentheses 圓括弧、圓括號parse解析parser解析器part零件、部件partialspecialization局部特化passbyaddress傳址(函式引數(shù)的傳遞方式)(非正式用語)passbyreference傳地址、按引用傳遞passbyvalue按值傳遞pattern模式PDA(personaldigitalassistant)個(gè)人數(shù)字助理PE(PortableExecutable)file可移植可執(zhí)行文件performance性能persistence持久性PInvoke(platforminvokeservice)平臺調(diào)用服務(wù)pixel像素placementdeleteplacementnewplaceholder占位符platform平臺POD(plainolddata(type))POI(pointofinstantiation)pointer指針poll輪詢pooling池化polymorphism多態(tài)popup彈出式port端口postfix后綴precedence優(yōu)先序(通常用于運(yùn)算子的優(yōu)先執(zhí)行次序)prefix前綴preprocessor預(yù)處理器primarykey(PK)主鍵(PK)(fordatabase)primarytable主表(fordatabase)primarytemplate原始模板primitivetype原始類型print打印printer打印機(jī)procedure過程procedural過程式的、過程化的process進(jìn)程profile評測profiler效能(性能)評測器program程序programmer程序員programming編程、程序設(shè)計(jì)progressbar進(jìn)度指示器project項(xiàng)目、工程property屬性protocol協(xié)議pseudocode偽碼qualified經(jīng)過資格修飾(例如加上scope運(yùn)算子)qualifiednamequalifier修飾符quality質(zhì)量queue隊(duì)歹。racecondition競爭條件(多線程環(huán)境常用語)radian弧度radiobutton單選按鈕raise 引發(fā)(常用來表示發(fā)出一個(gè)exception)randomnumber隨機(jī)數(shù)range范圍、區(qū)間rank等級raw未經(jīng)處理的readOnly只讀record記錄(fordatabase)recordset記錄集(fordatabaserecursive遞歸re-direction重定向refactoring重構(gòu)refer引用、參考reference引用、參考referencecounting引用計(jì)數(shù)referentialintegrity(RI)引用完整性(RI)(fordataba

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論