C語言:
C 語言是一種通用的淹接、面向過程式的計(jì)算機(jī)程序設(shè)計(jì)語言。1972 年叛溢,為了移植與開發(fā) UNIX 操作系統(tǒng)塑悼,丹尼斯·里奇在貝爾電話實(shí)驗(yàn)室設(shè)計(jì)開發(fā)了 C 語言。C 語言是一種通用的高級語言楷掉,最初是由丹尼斯·里奇在貝爾實(shí)驗(yàn)室為開發(fā) UNIX 操作系統(tǒng)而設(shè)計(jì)的厢蒜。C 語言最開始是于 1972 年在 DEC PDP-11 計(jì)算機(jī)上被首次實(shí)現(xiàn)。
在 1978 年,布萊恩·柯林漢(Brian Kernighan)和丹尼斯·里奇(Dennis Ritchie)制作了 C 的第一個公開可用的描述斑鸦,現(xiàn)在被稱為 K&R 標(biāo)準(zhǔn)愕贡。
UNIX 操作系統(tǒng),C編譯器巷屿,和幾乎所有的 UNIX 應(yīng)用程序都是用 C 語言編寫的固以。由于各種原因,C 語言現(xiàn)在已經(jīng)成為一種廣泛使用的專業(yè)語言攒庵。
易于學(xué)習(xí)嘴纺。
結(jié)構(gòu)化語言。
它產(chǎn)生高效率的程序浓冒。
它可以處理底層的活動栽渴。
它可以在多種計(jì)算機(jī)平臺上編譯。
C 語言是為了編寫 UNIX 操作系統(tǒng)而被發(fā)明的稳懒。
C 語言是以 B 語言為基礎(chǔ)的闲擦,B 語言大概是在 1970 年被引進(jìn)的。
C 語言標(biāo)準(zhǔn)是于 1988 年由美國國家標(biāo)準(zhǔn)協(xié)會(ANSI场梆,全稱 American National Standard Institute)制定的墅冷。
截至 1973 年,UNIX 操作系統(tǒng)完全使用 C 語言編寫或油。
目前寞忿,C 語言是最廣泛使用的系統(tǒng)程序設(shè)計(jì)語言。
大多數(shù)先進(jìn)的軟件都是使用 C 語言實(shí)現(xiàn)的顶岸。
當(dāng)今最流行的 Linux 操作系統(tǒng)和 RDBMS(Relational Database Management System:關(guān)系數(shù)據(jù)庫管理系統(tǒng)) MySQL 都是使用 C 語言編寫的腔彰。C 語言最初是用于系統(tǒng)開發(fā)工作,特別是組成操作系統(tǒng)的程序辖佣。由于 C 語言所產(chǎn)生的代碼運(yùn)行速度與匯編語言編寫的代碼運(yùn)行速度幾乎一樣霹抛,所以采用 C 語言作為系統(tǒng)開發(fā)語言。
C++:
C++ 是一種中級語言卷谈,它是由 Bjarne Stroustrup 于 1979 年在新澤西州美利山貝爾實(shí)驗(yàn)室開始設(shè)計(jì)開發(fā)的杯拐。C++ 進(jìn)一步擴(kuò)充和完善了 C 語言,是一種面向?qū)ο蟮某绦蛟O(shè)計(jì)語言世蔗,C++ 完全支持面向?qū)ο蟮某绦蛟O(shè)計(jì)端逼,包括面向?qū)ο箝_發(fā)的四大特性:封裝、抽象凸郑、繼承裳食、多態(tài)。C++ 可運(yùn)行于多種平臺上芙沥,如 Windows、MAC 操作系統(tǒng)以及 UNIX 的各種版本。C++ 是一種靜態(tài)類型的而昨、編譯式的救氯、通用的、大小寫敏感的歌憨、不規(guī)則的編程語言着憨,支持過程化編程、面向?qū)ο缶幊毯头盒途幊涛竦铡++ 被認(rèn)為是一種中級語言甲抖,它綜合了高級語言和低級語言的特點(diǎn)。C++ 進(jìn)一步擴(kuò)充和完善了 C 語言心铃,最初命名為帶類的C准谚,后來在 1983 年更名為 C++。C++ 是 C 的一個超集去扣,事實(shí)上柱衔,任何合法的 C 程序都是合法的 C++ 程序。
注意:使用靜態(tài)類型的編程語言是在編譯時(shí)執(zhí)行類型檢查愉棱,而不是在運(yùn)行時(shí)執(zhí)行類型檢查唆铐。
標(biāo)準(zhǔn)庫
標(biāo)準(zhǔn)的 C++ 由三個重要部分組成:
核心語言,提供了所有構(gòu)件塊奔滑,包括變量艾岂、數(shù)據(jù)類型和常量,等等朋其。
C++ 標(biāo)準(zhǔn)庫王浴,提供了大量的函數(shù),用于操作文件令宿、字符串等叼耙。
標(biāo)準(zhǔn)模板庫(STL),提供了大量的方法粒没,用于操作數(shù)據(jù)結(jié)構(gòu)等筛婉。
ANSI 標(biāo)準(zhǔn)
ANSI 標(biāo)準(zhǔn)是為了確保 C++ 的便攜性 —— 您所編寫的代碼在 Mac、UNIX癞松、Windows爽撒、Alpha 計(jì)算機(jī)上都能通過編譯。
由于 ANSI 標(biāo)準(zhǔn)已穩(wěn)定使用了很長的時(shí)間响蓉,所有主要的 C++ 編譯器的制造商都支持 ANSI 標(biāo)準(zhǔn)硕勿。
JAVA:
Java是由Sun Microsystems公司于1995年5月推出的Java面向?qū)ο蟪绦蛟O(shè)計(jì)語言和Java平臺的總稱。由James Gosling和同事們共同研發(fā)枫甲,并在1995年正式推出源武。
Java分為三個體系:
JavaSE(J2SE)(Java2 Platform Standard Edition扼褪,java平臺標(biāo)準(zhǔn)版)
JavaEE(J2EE)(Java 2 Platform,Enterprise Edition,java平臺企業(yè)版)
JavaME(J2ME)(Java 2 Platform Micro Edition粱栖,java平臺微型版)话浇。
2005年6月,JavaOne大會召開闹究,SUN公司公開Java SE 6幔崖。此時(shí),Java的各種版本已經(jīng)更名以取消其中的數(shù)字"2":J2EE更名為Java EE, J2SE更名為Java SE渣淤,J2ME更名為Java ME赏寇。
Java語言是簡單的:
Java語言的語法與C語言和C++語言很接近,使得大多數(shù)程序員很容易學(xué)習(xí)和使用价认。另一方面嗅定,Java丟棄了C++中很少使用的、很難理解的刻伊、令人迷惑的那些特性露戒,如操作符重載、多繼承捶箱、自動的強(qiáng)制類型轉(zhuǎn)換智什。特別地,Java語言不使用指針丁屎,而是引用荠锭。并提供了自動的廢料收集,使得程序員不必為內(nèi)存管理而擔(dān)憂晨川。
Java語言是面向?qū)ο蟮模?/b>
Java語言提供類证九、接口和繼承等面向?qū)ο蟮奶匦裕瑸榱撕唵纹鹨姽猜牵恢С诸愔g的單繼承愧怜,但支持接口之間的多繼承,并支持類與接口之間的實(shí)現(xiàn)機(jī)制(關(guān)鍵字為implements)妈拌。Java語言全面支持動態(tài)綁定拥坛,而C++語言只對虛函數(shù)使用動態(tài)綁定〕痉郑總之猜惋,Java語言是一個純的面向?qū)ο蟪绦蛟O(shè)計(jì)語言。
Java語言是分布式的:
Java語言支持Internet應(yīng)用的開發(fā)培愁,在基本的Java應(yīng)用編程接口中有一個網(wǎng)絡(luò)應(yīng)用編程接口(java net)著摔,它提供了用于網(wǎng)絡(luò)應(yīng)用編程的類庫,包括URL定续、URLConnection谍咆、Socket禾锤、ServerSocket等。Java的RMI(遠(yuǎn)程方法激活)機(jī)制也是開發(fā)分布式應(yīng)用的重要手段卧波。
Java語言是健壯的:
Java的強(qiáng)類型機(jī)制时肿、異常處理庇茫、垃圾的自動收集等是Java程序健壯性的重要保證港粱。對指針的丟棄是Java的明智選擇。Java的安全檢查機(jī)制使得Java更具健壯性旦签。
Java語言是安全的:
Java通常被用在網(wǎng)絡(luò)環(huán)境中查坪,為此,Java提供了一個安全機(jī)制以防惡意代碼的攻擊宁炫。除了Java語言具有的許多安全特性以外,Java對通過網(wǎng)絡(luò)下載的類具有一個安全防范機(jī)制(類ClassLoader),如分配不同的名字空間以防替代本地的同名類恳不、字節(jié)代碼檢查吴叶,并提供安全管理機(jī)制(類SecurityManager)讓Java應(yīng)用設(shè)置安全哨兵。
Java語言是體系結(jié)構(gòu)中立的:
Java程序(后綴為java的文件)在Java平臺上被編譯為體系結(jié)構(gòu)中立的字節(jié)碼格式(后綴為class的文件)竿秆,然后可以在實(shí)現(xiàn)這個Java平臺的任何系統(tǒng)中運(yùn)行启摄。這種途徑適合于異構(gòu)的網(wǎng)絡(luò)環(huán)境和軟件的分發(fā)。
Java語言是可移植的:
這種可移植性來源于體系結(jié)構(gòu)中立性幽钢,另外歉备,Java還嚴(yán)格規(guī)定了各個基本數(shù)據(jù)類型的長度。Java系統(tǒng)本身也具有很強(qiáng)的可移植性匪燕,Java編譯器是用Java實(shí)現(xiàn)的蕾羊,Java的運(yùn)行環(huán)境是用ANSI C實(shí)現(xiàn)的。
Java語言是解釋型的:
如前所述帽驯,Java程序在Java平臺上被編譯為字節(jié)碼格式龟再,然后可以在實(shí)現(xiàn)這個Java平臺的任何系統(tǒng)中運(yùn)行。在運(yùn)行時(shí)尼变,Java平臺中的Java解釋器對這些字節(jié)碼進(jìn)行解釋執(zhí)行利凑,執(zhí)行過程中需要的類在聯(lián)接階段被載入到運(yùn)行環(huán)境中。
Java是高性能的:
與那些解釋型的高級腳本語言相比享甸,Java的確是高性能的截碴。事實(shí)上,Java的運(yùn)行速度隨著JIT(Just-In-Time)編譯器技術(shù)的發(fā)展越來越接近于C++蛉威。
Java語言是多線程的:
在Java語言中日丹,線程是一種特殊的對象,它必須由Thread類或其子(孫)類來創(chuàng)建蚯嫌。通常有兩種方法來創(chuàng)建線程:其一哲虾,使用型構(gòu)為Thread(Runnable)的構(gòu)造子將一個實(shí)現(xiàn)了Runnable接口的對象包裝成一個線程丙躏,其二,從Thread類派生出子類并重寫run方法束凑,使用該子類創(chuàng)建的對象即為線程晒旅。值得注意的是Thread類已經(jīng)實(shí)現(xiàn)了Runnable接口,因此汪诉,任何一個線程均有它的run方法废恋,而run方法中包含了線程所要運(yùn)行的代碼。線程的活動由一組方法來控制扒寄。Java語言支持多個線程的同時(shí)執(zhí)行鱼鼓,并提供多線程之間的同步機(jī)制(關(guān)鍵字為synchronized)。
Java語言是動態(tài)的:
Java語言的設(shè)計(jì)目標(biāo)之一是適應(yīng)于動態(tài)變化的環(huán)境该编。Java程序需要的類能夠動態(tài)地被載入到運(yùn)行環(huán)境迄本,也可以通過網(wǎng)絡(luò)來載入所需要的類。這也有利于軟件的升級课竣。另外嘉赎,Java中的類有一個運(yùn)行時(shí)刻的表示,能進(jìn)行運(yùn)行時(shí)刻的類型檢查于樟。
Python:
Python 是一個高層次的結(jié)合了解釋性公条、編譯性、互動性和面向?qū)ο蟮哪_本語言隔披。
Python 的設(shè)計(jì)具有很強(qiáng)的可讀性赃份,相比其他語言經(jīng)常使用英文關(guān)鍵字,其他語言的一些標(biāo)點(diǎn)符號奢米,它具有比其他語言更有特色語法結(jié)構(gòu)抓韩。
Python 是一種解釋型語言:這意味著開發(fā)過程中沒有了編譯這個環(huán)節(jié)。類似于PHP和Perl語言鬓长。
Python 是交互式語言:這意味著谒拴,您可以在一個Python提示符,直接互動執(zhí)行寫你的程序涉波。
Python 是面向?qū)ο笳Z言:這意味著Python支持面向?qū)ο蟮娘L(fēng)格或代碼封裝在對象的編程技術(shù)英上。
Python 是初學(xué)者的語言:Python 對初級程序員而言,是一種偉大的語言啤覆,它支持廣泛的應(yīng)用程序開發(fā)苍日,從簡單的文字處理到 WWW 瀏覽器再到游戲。
1.易于學(xué)習(xí):Python有相對較少的關(guān)鍵字窗声,結(jié)構(gòu)簡單相恃,和一個明確定義的語法,學(xué)習(xí)起來更加簡單笨觅。
2.易于閱讀:Python代碼定義的更清晰拦耐。
3.易于維護(hù):Python的成功在于它的源代碼是相當(dāng)容易維護(hù)的耕腾。
4.一個廣泛的標(biāo)準(zhǔn)庫:Python的最大的優(yōu)勢之一是豐富的庫,跨平臺的杀糯,在UNIX扫俺,Windows和Macintosh兼容很好。
5.互動模式:互動模式的支持固翰,您可以從終端輸入執(zhí)行代碼并獲得結(jié)果的語言狼纬,互動的測試和調(diào)試代碼片斷。
6.可移植:基于其開放源代碼的特性倦挂,Python已經(jīng)被移植(也就是使其工作)到許多平臺畸颅。
7.可擴(kuò)展:如果你需要一段運(yùn)行很快的關(guān)鍵代碼,或者是想要編寫一些不愿開放的算法方援,你可以使用C或C++完成那部分程序,然后從你的Python程序中調(diào)用涛癌。
8.數(shù)據(jù)庫:Python提供所有主要的商業(yè)數(shù)據(jù)庫的接口犯戏。
9.GUI編程:Python支持GUI可以創(chuàng)建和移植到許多系統(tǒng)調(diào)用。
10.可嵌入:你可以將Python嵌入到C/C++程序拳话,讓你的程序的用戶獲得"腳本化"的能力