- 簡(jiǎn)體
- 簡(jiǎn)體中文 English
我該學(xué)習(xí)什么編程語(yǔ)言_編程語(yǔ)言大比拼
網(wǎng)站制作公司尚品中國(guó)(m.yangsheng234.com):“我該學(xué)習(xí)什么語(yǔ)言?”進(jìn)來(lái)看看便知道了
機(jī)器語(yǔ)言:純粹的機(jī)器代碼
匯編語(yǔ)言:8086匯編、Win32匯編、.NET的匯編
高級(jí)語(yǔ)言:
Java、Basic、Pascal、Object Pascal、C、C++、C#、ASP、ASP.NET、Perl、PHP、SQL、FoRTRAN 等等
Visual Basic、Visual Basic.NET、Delphi、Visual C++、C++ Builder、C# Builder、Visual Foxpro 等等
上面一排都是純粹的編程語(yǔ)言,而下面一排都是經(jīng)過(guò)發(fā)展過(guò)后的編程語(yǔ)言(應(yīng)該可以這么說(shuō)吧)下面我們對(duì)各種語(yǔ)言進(jìn)行簡(jiǎn)單的介紹:
機(jī)器語(yǔ)言:機(jī)器語(yǔ)言是有0,1,0,1的二進(jìn)制代碼組成,可以有計(jì)算機(jī)直接執(zhí)行。效率最高,但是通用性不強(qiáng),對(duì)于不同的硬件需要不同的程序。說(shuō)白了,不適合人來(lái)編程。
匯編語(yǔ)言:效率稍微低于機(jī)器語(yǔ)言,通過(guò)簡(jiǎn)單的助記符來(lái)替代繁瑣而枯燥的0,1代碼。同樣的通用性不強(qiáng),對(duì)于不同的硬件需要設(shè)計(jì)不同語(yǔ)言。學(xué)習(xí)曲線比較大,需要硬件知識(shí)很多。介于其特殊的性質(zhì),在某些行業(yè)中得到廣泛的應(yīng)用。
高級(jí)語(yǔ)言:通過(guò)人類可以識(shí)別的自然語(yǔ)言(主要是英語(yǔ))來(lái)進(jìn)行編程,效率再次降低,但是程序編制難度和可讀性大幅提高??梢浦残院茫瑢?shí)用性較好。比較適合大規(guī)模開發(fā),是現(xiàn)在大多數(shù)人選擇的語(yǔ)言。而且Java語(yǔ)言的出現(xiàn)在一定程度上解決了由于平臺(tái)的不同所導(dǎo)致的移植困難的情況。對(duì)于企業(yè)來(lái)說(shuō)成本也大大降低了,現(xiàn)在市場(chǎng)上大多數(shù)的企業(yè)級(jí)應(yīng)用軟件幾乎都是由JAVA實(shí)現(xiàn)的,最近幾個(gè)月的統(tǒng)計(jì)結(jié)果表明,JAVA在開發(fā)市場(chǎng)所占的比例越來(lái)越大!
=======================================
Basic
微軟公司上個(gè)世紀(jì)八十年代(具體什么時(shí)候我不記得了)推出的計(jì)算機(jī)語(yǔ)言,當(dāng)時(shí)造成了計(jì)算機(jī)軟件開發(fā)世界的強(qiáng)烈震動(dòng),它的出現(xiàn)將很多程序員由枯燥的編碼中解放出來(lái),而有更多的精力來(lái)進(jìn)行程序結(jié)構(gòu)的開發(fā)。(因?yàn)槲液茉缜霸?jīng)學(xué)習(xí)過(guò)這個(gè)語(yǔ)言,對(duì)其有一定程度的了解)但是,它同C、Pascal語(yǔ)言一樣,是結(jié)構(gòu)化語(yǔ)言,在對(duì)待大型開發(fā)中會(huì)覺(jué)得逐漸力不從心,程序員需要關(guān)注的內(nèi)容實(shí)在太多了。其實(shí)現(xiàn)在來(lái)說(shuō),學(xué)習(xí)Basic已經(jīng)沒(méi)有什么意義了。因?yàn)樗母倪M(jìn)版本Visual Basic和Visual Basic.NET無(wú)論是在功能上還是在實(shí)用性上都大大地超過(guò)了他們的祖先。
--------------------------------------------------------------------------------------
多媒體和網(wǎng)絡(luò)時(shí)代中,C++,Delphi,Java,還是C#?
2002-07-13
在應(yīng)用領(lǐng)域,C/C++不算高級(jí)語(yǔ)言,對(duì)硬件和系統(tǒng)程序員才算。雖然C++首腦任務(wù)堅(jiān)稱C++的地位不會(huì)有太大變化,但.net和Java的對(duì)抗很可能最終將其踢出主賽局。
在多媒體、游戲等領(lǐng)域,據(jù)gamedev.net的資料,此領(lǐng)域以C++為主流。PS2,XBox等純游戲機(jī)上只有C/C++可用,幾乎所有的大游戲公司用C++,但近兩年有一些采用其他語(yǔ)言的嘗試??偟膩?lái)說(shuō),大部分是C++,有一些是用的Delphi,一小部分是VB,很少的Java。從很久之前起,個(gè)人和小團(tuán)體開發(fā)用VB的就較多,基本上都是不喜歡C/C++的人,現(xiàn)在因?yàn)榭紤]移植能力而轉(zhuǎn)向Delphi和Java,當(dāng)然也有轉(zhuǎn)用C++的。最近由于新技術(shù)出現(xiàn)較多,基于C++的支持庫(kù)變得更為復(fù)雜,于是出現(xiàn)很多對(duì)于Java替代C++的可行性的討論,有比較可靠的說(shuō)法是在較好的優(yōu)化下配合最新的JIT,可以達(dá)到同等C++程序速度的1/4,圖形密集程序在使用OpenGL生接口時(shí)與同等C++程序速度差不多,但Java3D接口很慢。現(xiàn)在有微軟在力推.NET平臺(tái),C++在此沒(méi)有什么優(yōu)勢(shì),可能對(duì)今后的局勢(shì)有較大的影響。
Pascal前途難料,蘋果出了基于FreeBSD核心的MacOS X,這回是徹底的C/C++系統(tǒng)了,CodeWarrior放棄了Pascal編譯器的開發(fā),主推C++、Objective-C、Java,只剩下Pascal社區(qū)和民間的編譯器在撐腰吶喊。Borland的OP倒是火得很,可惜Pascal沒(méi)有嚴(yán)格標(biāo)準(zhǔn),沒(méi)有其他編譯器能很好的兼容Borland的OP。
網(wǎng)絡(luò),當(dāng)前商家的淘金之地,繼瀏覽器之爭(zhēng)之后,微軟又被Sun的Java搶了先,不得不和與他一樣的behemoth搶奪地盤。C++默默地筑造著網(wǎng)絡(luò)的基礎(chǔ)。
C++:在傳統(tǒng)領(lǐng)域,如算法研究、數(shù)據(jù)計(jì)算、各種底層系統(tǒng),幾乎就是C/C++的天下,尤其在Unix類機(jī)器上。由于編程資源非常集中,以致很難不選擇C++。C++有統(tǒng)一的標(biāo)準(zhǔn),各種硬件平臺(tái)都有它的編譯器。有幾年歷史的大公司的軟件也大多是基于C++的,大量的編程庫(kù)資源也是基于C/C++的。理論上,C++能做任何事情。C++有強(qiáng)大的類型定義能力,如無(wú)所不包的對(duì)象模型、算符重載、模版、宏,可以對(duì)自己做擴(kuò)充和定義;另一方面,也導(dǎo)致C++異常復(fù)雜、難維護(hù),且編譯速度很慢。因此也有很多人把C++當(dāng)成更好的C用,不用C++中的復(fù)雜功能,這在游戲編程中很常見,因?yàn)樗麄兏敢獍汛蟛糠志Ψ旁趯?shí)現(xiàn)感興趣的功能而不是代碼上。而興趣在程式上的人則偏愛竭盡語(yǔ)言的能力,寫出各種高明的代碼,很可能是非常難懂的代碼,但非常高效好用,例如C++標(biāo)準(zhǔn)模版庫(kù)。在新興領(lǐng)域,C++的處境就比較艱難,沒(méi)有統(tǒng)一的高層工具庫(kù),而且工作量很大,而且是不必要又不得不的大。而且C++背后的權(quán)威人物Bjarne Stroustrup(就是在C++中加入dynamic_case<type>“這種丑陋語(yǔ)法”的人,用他自己的話說(shuō):P)拒絕改進(jìn)C++語(yǔ)言,只推動(dòng)改進(jìn)C++庫(kù)。所以C++的地位基本穩(wěn)定的固定,既不會(huì)消亡,也不會(huì)擴(kuò)大。其他評(píng)價(jià):黑客級(jí)人物必用,不適合入門教學(xué)用途。
Delphi:確切的說(shuō)是Object Pascal。簡(jiǎn)單直觀而又強(qiáng)大是最直接的理由。不需要去花多少心思考慮語(yǔ)言實(shí)現(xiàn),想什么寫什么,而又不失C++的高效,甚至某些部分執(zhí)行速度快過(guò)C++,如部分字符串操作和文件讀寫緩沖等,編譯速度狂快(由語(yǔ)言特性決定)。包含大量好的新語(yǔ)言特性,擁有既簡(jiǎn)潔又強(qiáng)大的運(yùn)行庫(kù)和對(duì)象庫(kù),直接集成COM、Corba、網(wǎng)絡(luò)組件、數(shù)據(jù)庫(kù),支持Windows、Linux,并即將支持.NET平臺(tái)。在Delphi社區(qū),對(duì)Delphi的支持是近乎狂熱的,成員們拿出自己最得意的源代碼來(lái)共享,如果你是新手,又想快速成為高手,Delphi是最佳選擇。但你來(lái)自C++背景,你會(huì)對(duì)begin..end、不能隨處聲明變量、沒(méi)有++運(yùn)算符等感到反感;如果你喜歡復(fù)雜的代碼且很熟悉STL并大量使用,你會(huì)因Delphi沒(méi)有模版而失望。Delphi提供了大部分的系統(tǒng)API接口,但也有很多欠缺,Delphi社區(qū)提供了大量的API接口或封裝,如DirectX(Delphi不需要導(dǎo)入庫(kù)和靜態(tài)庫(kù),百兆的C/C++SDK的Delphi版只有幾兆:P)、OpenGL1.2的接口和封裝,但一般會(huì)有幾種不同的版本,質(zhì)量好壞不一,當(dāng)然也未必比Borland提供的差,事實(shí)上Borland也用社區(qū)提供的源代碼。只有Borland一家做OP的編譯器,沒(méi)有業(yè)內(nèi)標(biāo)準(zhǔn),沒(méi)有其他選擇,雖有可部分兼容OP的FreePascal,可沒(méi)有了Delphi的庫(kù)的編譯器的吸引力就少了大半。由于Delphi剛興起沒(méi)幾年,使用它的公司還不多,組織倒有不少。如果你將找工作,一定弄清你要工作的領(lǐng)域是否多用Delphi,如數(shù)據(jù)庫(kù)領(lǐng)域就是。其他評(píng)價(jià):節(jié)省你一大筆時(shí)間,可以給你充分的機(jī)會(huì)改進(jìn)你的程序或出去玩;)。
Java:由C++簡(jiǎn)化而來(lái)。Sun對(duì)Java語(yǔ)言的設(shè)計(jì)上的確有很大創(chuàng)新,當(dāng)年博得一致的喝采。語(yǔ)言并不必須復(fù)雜才能強(qiáng)大,就像在微軟還是英雄的年代Bill Gates說(shuō)他能用Basic做到C能做到的任何事情。Java也正是如此。由虛擬機(jī)執(zhí)行Java程序,不依賴于平臺(tái),這是給程序員的一大福音。尤其對(duì)于互聯(lián)網(wǎng),Java是具有天生的資質(zhì)。但由于Sun的一些失誤,也使Java有了些不好的名聲和導(dǎo)致Java沒(méi)有達(dá)到預(yù)期的前景。一是Sun的虛擬機(jī)速度太慢且不好的垃圾收集算法導(dǎo)致寶貴的內(nèi)存資源極度浪費(fèi),除非空閑物理內(nèi)存大于程序所需全部?jī)?nèi)存,否則系統(tǒng)就會(huì)嚴(yán)重受垃圾收集的影響,這個(gè)弊病遭到強(qiáng)烈的抨擊?,F(xiàn)在的虛擬機(jī)技術(shù)要比以前強(qiáng)了不少,我個(gè)人覺(jué)得其他廠商提供的Java虛擬機(jī)都比Sun的好。二是糟糕的類庫(kù)。Sun對(duì)PC的了解遠(yuǎn)不如對(duì)他們的高端服務(wù)器和工作站,設(shè)計(jì)的類庫(kù)也是濃烈的Sun的味道,而且各部分風(fēng)格不一,似乎是很多缺少交流的人寫出的。熟悉PC編程的人會(huì)覺(jué)得極為羅索冗長(zhǎng)且怪異低效,以致出現(xiàn)很多其他替代類庫(kù)(微軟就做了兩套)。這個(gè)問(wèn)題到1.2版出臺(tái)時(shí)才有些改善。三是Sun拒將Java交給標(biāo)準(zhǔn)局,做虛擬機(jī)需Sun授權(quán)。因此,Java現(xiàn)在集中在電子商務(wù)領(lǐng)域,由于其跨平臺(tái)能力,其地位基本上是不可替代的。其他評(píng)價(jià):網(wǎng)絡(luò)應(yīng)用必學(xué)。
C#:新品種的C++,被稱作C++--??梢哉f(shuō)迎合了大部分C++程序員的愿望,即保持C++的強(qiáng)大又做了適度的簡(jiǎn)化,同時(shí)加入了時(shí)髦的語(yǔ)言特性,基于.NET平臺(tái),簡(jiǎn)單的說(shuō),太棒了。但是等等,C#并不完美,如果你是C++程序員,你未必完全喜歡它。而且由于C#是新東西,還沒(méi)有多少資源可用??傊@里還是未開墾的土地,雖然很有吸引力,但你必須對(duì)是否踏進(jìn)這片土地非常謹(jǐn)慎。如果你是決心跟著微軟走的,而且已有編程經(jīng)驗(yàn),那么可以放心地拿起C#。其他評(píng)價(jià):將來(lái)很可能是Java的勁敵,微軟的主要開發(fā)工具。
Pascal
結(jié)構(gòu)化語(yǔ)言,語(yǔ)法結(jié)構(gòu)嚴(yán)謹(jǐn),易于教學(xué)。相對(duì)于C語(yǔ)言,缺乏一定的靈活性。但是正是其嚴(yán)謹(jǐn)?shù)恼Z(yǔ)法,很多Pascal程序員傾心于其“詩(shī)篇一樣的結(jié)構(gòu)”,曾經(jīng)一直是大專院校計(jì)算機(jī)專業(yè)必學(xué)的語(yǔ)言。它的改進(jìn)版本Object Pascal和Delphi都超過(guò)了它。
Object Pascal
改進(jìn)版的Pascal,它是面向?qū)ο蟮腜ascal,是Delphi語(yǔ)言的核心。
C
上個(gè)世紀(jì)七十年代又貝爾實(shí)驗(yàn)室開發(fā),當(dāng)時(shí)他們是為了解決一個(gè)實(shí)際問(wèn)題,將B語(yǔ)言改進(jìn)后得到的,后來(lái)貝爾實(shí)驗(yàn)室又用它重寫了UNIX操作系統(tǒng)。是所有工科學(xué)生和計(jì)算機(jī)學(xué)生必須學(xué)習(xí)的語(yǔ)言。它的特點(diǎn)很多了:貼近硬件,執(zhí)行效率高,使用靈活,功能強(qiáng)大。但它畢竟還是結(jié)構(gòu)化編程語(yǔ)言。在進(jìn)行大型開發(fā)上顯得還是有點(diǎn)力不從心,往往編程人員需要絞盡腦汁想出各種“精巧”的算法來(lái)實(shí)現(xiàn)某個(gè)目的。不過(guò)在學(xué)習(xí)操作系統(tǒng)和進(jìn)行單片機(jī)開發(fā)上,它的作用是舉足輕重的。
C++
C語(yǔ)言的改進(jìn)版本,保留了C語(yǔ)言所有特性的同時(shí)添加進(jìn)了面向?qū)ο笏枷?。這個(gè)特性導(dǎo)致了他在很多大型開發(fā)上有得天獨(dú)厚的優(yōu)勢(shì)。在很多領(lǐng)域中有很強(qiáng)的生命力,直至今日,此語(yǔ)言還是在不斷發(fā)展中,新技術(shù)曾出不窮。關(guān)于C++的介紹是在實(shí)太多了,網(wǎng)上隨便一搜一大堆。我就不多說(shuō)了。
Java
Java是一種簡(jiǎn)單的,面象對(duì)象的,分布式的,解釋的,鍵壯的安全的,結(jié)構(gòu)的中立的,可移植的,性能很優(yōu)異的多線程的,動(dòng)態(tài)的語(yǔ)言。Java語(yǔ)言其實(shí)最是誕生于1991年,起初被稱為OAK語(yǔ)言,是SUN公司為一些消費(fèi)性電子產(chǎn)品而設(shè)計(jì)的一個(gè)通用環(huán)境。他們最初的目的只是為了開發(fā)一種獨(dú)立于平臺(tái)的軟件技術(shù),而且在網(wǎng)絡(luò)出現(xiàn)之前,OAK可以說(shuō)是默默無(wú)聞,甚至差點(diǎn)夭折。但是,網(wǎng)絡(luò)的出現(xiàn)改變了OAK的命運(yùn)。在Java出現(xiàn)以前。Internet上的信息內(nèi)容都是一些乏味死板的HTML文檔。這對(duì)于那些迷戀于WEB瀏覽的人們來(lái)說(shuō)簡(jiǎn)直不可容忍。他們迫切希望能在WEN中看到一些交互式的內(nèi)容,開發(fā)人員也極希望能夠在WEB上創(chuàng)建一類無(wú)需考慮軟硬件平臺(tái)就可以執(zhí)行的應(yīng)用程序,當(dāng)然這些程序還要有極大的安全保障。對(duì)于用戶的這種要求,傳統(tǒng)的編程語(yǔ)言顯得無(wú)能為力,面SUN的工程師敏銳地察覺(jué)到了這一點(diǎn),從1994年起,他們開始將OAK技術(shù)應(yīng)用于WEB上,并且開發(fā)出了HotJava的第一個(gè)版本。當(dāng)SUN公司1995年正式以Java這個(gè)名字推出的時(shí)候,幾乎所有的WEB開發(fā)人員都想到:噢,這正是我想要的。于是Java成了一顆耀眼的明星,丑小鴨一下了變成了白天鵝。Java語(yǔ)言具有:與平臺(tái)無(wú)關(guān)性、安全性、面向?qū)ο?,分布式等諸多特點(diǎn),使它成為了當(dāng)今計(jì)算機(jī)界炙手可熱的語(yǔ)言,具有大量的擁護(hù)者。
ASP/ASP.NET/PHP/Perl
這些都是網(wǎng)頁(yè)開發(fā)使用的語(yǔ)言。所有有志于網(wǎng)頁(yè)開發(fā)的朋友應(yīng)該考慮他們,我其實(shí)不是很熟悉這些語(yǔ)言(只簡(jiǎn)單的接觸過(guò)ASP),不敢亂說(shuō),以免誤人子弟。有興趣的朋友可以考慮一下。
SQL
結(jié)構(gòu)化查詢語(yǔ)言,主要用于數(shù)據(jù)庫(kù)開發(fā)。但很多現(xiàn)代的語(yǔ)言(Delphi等)都支持內(nèi)嵌SQL,有數(shù)據(jù)庫(kù)開發(fā)需求的朋友要考慮一下此語(yǔ)言。
FORTRAN
最初應(yīng)美國(guó)國(guó)防部需要而開發(fā)的語(yǔ)言。擅長(zhǎng)于科學(xué)計(jì)算,主要用于高校之中。據(jù)說(shuō)前不久推出的FoRTRAN改進(jìn)版本有很大的改進(jìn)。
Visual Baisc、Visual Baisc.NET
它們都是由basic改進(jìn)而來(lái)。其中Visual basic是解釋型語(yǔ)言,編譯速度快,可以實(shí)時(shí)調(diào)試,但它并不是完全的面向?qū)ο螅嗑€程開發(fā)比較困難。但其最大的優(yōu)點(diǎn)是簡(jiǎn)單!Visual Baisc.NET是基于微軟.net平臺(tái)的新的語(yǔ)言,(注意它和VisualBasic是完全不同的語(yǔ)言)面向?qū)ο?,可以進(jìn)行嵌入式開發(fā)。與asp.NET結(jié)合緊密。并且在性能上大大提高??梢哉f(shuō)也很有發(fā)展前途。
Visual C++/C++ Builder
都是C++語(yǔ)言的開發(fā)環(huán)境,可以使用戶更方便的開發(fā)Windows程序。Visual C++是微軟公司的產(chǎn)品,而C++ Builder是Borland 公司的產(chǎn)品。
C# builder
Borland公司的C#開發(fā)環(huán)境。
Delphi
Borland公司的旗艦產(chǎn)品。Object Pascal的集成開發(fā)環(huán)境,具有強(qiáng)大的數(shù)據(jù)庫(kù)功能、高效的編譯速度和方便快捷的開發(fā),使得很多公司選用Delphi作為首選開發(fā)語(yǔ)言。
那么這樣種類繁多的語(yǔ)言我們?cè)撨x什么呢?總的原則是,你需要什么樣的語(yǔ)言,那你就選擇什么樣的語(yǔ)言。你對(duì)什么語(yǔ)言感興趣就選擇什么語(yǔ)方言,我個(gè)人還是比較看重JAVA的前景的,大家可以從最近幾個(gè)月的開發(fā)語(yǔ)言排行榜中看出來(lái),下面針對(duì)幾類人進(jìn)行分析:
完全新手:
以前并沒(méi)有接觸過(guò)編程,對(duì)計(jì)算機(jī)編程沒(méi)有什么了解,學(xué)習(xí)編程的目的是想探究看似神秘?zé)o比的程序別后到底隱藏了什么。這樣的朋友建議學(xué)習(xí)Java,或asp.net。原因是足夠簡(jiǎn)單,上手快,成就感強(qiáng),而且JAVA相對(duì)來(lái)說(shuō)實(shí)用性更強(qiáng)一些,更容易就業(yè)。
工作性質(zhì)偏向硬件(嵌入式開發(fā)):
匯編和C語(yǔ)言,盡管匯編比較難學(xué),對(duì)硬件知識(shí)要求很高,但是你的工作性質(zhì)決定了你必須走這條路線。C語(yǔ)言雖然不適合大規(guī)模開發(fā),但其對(duì)硬件的操控還是有得天獨(dú)厚的優(yōu)勢(shì)的,目前為止C還是占據(jù)了硬件開發(fā)相當(dāng)大的市場(chǎng)。
高校工科學(xué)生:
java/C++,C++固然優(yōu)秀,但是如果你想用C++開發(fā)優(yōu)秀而穩(wěn)定的Windows程序并非易事,而且學(xué)習(xí)曲線比較大,需要投入大量時(shí)間。Delphi,有很多人說(shuō)它已經(jīng)沒(méi)有前途了,其實(shí)我不這樣認(rèn)為的,也許它的未來(lái)是前途未卜,但是它的過(guò)去和現(xiàn)在還是做得很優(yōu)秀!對(duì)于一些中小型的電子商務(wù)類的網(wǎng)站,PHP還是有他的市場(chǎng),java是最近幾年新興的語(yǔ)言,它的發(fā)展速度驚人,現(xiàn)在越來(lái)越多的軟件都在基于JAVA的基礎(chǔ)上開發(fā),特別是web方面的,現(xiàn)在JAVA已經(jīng)開向往硬件的方向延伸,現(xiàn)在整個(gè)開發(fā)市場(chǎng)大概百分之六十被JAVA占據(jù),它上手比C++快,可移植性能比較強(qiáng),對(duì)硬件的控制能力也不差。
高校的文科學(xué)生:
Visual Foxpro好像是你們必須學(xué)習(xí)的吧,至少在我們學(xué)校是這樣的。這個(gè)主要是面向數(shù)據(jù)庫(kù)開發(fā)的。其實(shí)對(duì)于你們將來(lái)的應(yīng)用,這個(gè)已經(jīng)是夠了。如果還有更強(qiáng)烈的編程興趣,學(xué)習(xí)JAVA吧。
短時(shí)間要拿出成果的工作人員:
以前在學(xué)校中學(xué)習(xí)過(guò)編程,有一定的基礎(chǔ),不過(guò)學(xué)習(xí)完后就沒(méi)有怎么用過(guò)編程了。但是由于工作需要,必須在短時(shí)間內(nèi)拿出個(gè)像樣的程序。那么你還是選擇JAVA吧,理由前面已經(jīng)說(shuō)過(guò)了。
反對(duì)微軟壟斷、喜愛開源的朋友:
C++或Java都是不錯(cuò)的選擇,只要你學(xué)習(xí)了C++,那么你一定要關(guān)注開源社區(qū),Java現(xiàn)在具有強(qiáng)大的生命力,在各個(gè)領(lǐng)域都遍地開花,并且在整個(gè)語(yǔ)言在不斷發(fā)展和完善之中。
搞互聯(lián)網(wǎng)開發(fā)的朋友:
Java,C#,ASP/ASP.Net/PHP都可以。建議你們能結(jié)合開發(fā)工具(如Dreamweaver),那樣必然會(huì)事半功倍。
------------------------------------------------------------------------------------
C語(yǔ)言和C#、C++有 什么區(qū)別
2008-11-15
C++ Builder
C++ Builder是由Borland公司 繼Delphi之后又推出的一款高性能可視化集成開發(fā)工具。C++ Builder具有快速的可視化開發(fā)環(huán)境:只要簡(jiǎn)單地把控件(Component)拖到窗體(Form)上,定義一下它的屬性,設(shè)置一下它的外觀,就可以快速地建立應(yīng)用程序界面;C++ Builder內(nèi)置了100多個(gè)完全封裝了Windows公用特性且具有完全可擴(kuò)展性(包括全面支持ActiveX控件)的可重用控件;C++ Builder具有一個(gè)專業(yè)C++開發(fā)環(huán)境所能提供的全部功能:快速、高效、靈活的編譯器優(yōu)化,逐步連接,CPU透視,命令行工具等。它實(shí)現(xiàn)了可視化的編程環(huán)境和功能強(qiáng)大的編程語(yǔ)言(C++)的完美結(jié)合。
C++ Builder優(yōu)化的32位原碼(Native Code)編譯器建立在Borland公司久經(jīng)考驗(yàn)的編譯技術(shù)基礎(chǔ)之上,提供了高度安全性、可靠性、快速性的編譯優(yōu)化方法,完全編譯出原始機(jī)器碼而非中間碼,軟件執(zhí)行速度大大提高。在編譯和連接過(guò)程中,C++ Builder自動(dòng)忽略未被修改的原代碼和沒(méi)有使用的函數(shù),從而大大提高了編譯和連接速度。C++ Builder的CPU透視工具包括五個(gè)獨(dú)立的小面板,可以對(duì)正在運(yùn)行程序從內(nèi)部進(jìn)行深層次的了解。另外C++ Builder還提供了一個(gè)專業(yè)開發(fā)環(huán)境所必需的命令行工具,以幫助建立C++程序或者準(zhǔn)備編譯和連接的程序進(jìn)行更精細(xì)的控制。
C++ Builder可以編譯所有符合ANSI/ISO標(biāo)準(zhǔn)的原代碼,支持最新ANSI C++/C語(yǔ)言特征:模板(Templates)、例外(Exceptions)、運(yùn)行類型信息(Runtime Type Information)、Namespaces等,另外它還可以使用標(biāo)準(zhǔn)C++庫(kù)且支持標(biāo)準(zhǔn)模板庫(kù)(STL),以前的所有C++/C原代碼可以不經(jīng)過(guò)修改,直接移植到C++ Builder環(huán)境下來(lái)。C++ Builder完全支持32位長(zhǎng)文件名、多線程程序設(shè)計(jì),且允許程序員直接調(diào)用任何Win95和NT API函數(shù)。
C++ Builder的集成開發(fā)環(huán)境(IDE)提供了可視化窗體設(shè)計(jì)器、對(duì)象觀察器、控件板、工程管理器、集成編輯器和調(diào)試器等一系列可視化快速應(yīng)用程序開發(fā)(RAD)工具,讓程序員可以很輕松地建立和管理自己的程序和資源。
----------------
Visual C++
Visual C++是一個(gè)功能強(qiáng)大的可視化軟件開發(fā)工具。自1993年Microsoft公司推出Visual C++1.0后,隨著其新版本的不斷問(wèn)世,Visual C++已成為專業(yè)程序員進(jìn)行軟件開發(fā)的首選工具。
雖然微軟公司推出了Visual C++.NET(Visual C++7.0),但它的應(yīng)用的很大的局限性,只適用于Windows 2000,Windows XP和Windows NT4.0。所以實(shí)際中,更多的是以Visual C++6.0為平臺(tái)。
Visual C++6.0不僅是一個(gè)C++編譯器,而且是一個(gè)基于Windows操作系統(tǒng)的可視化集成開發(fā)環(huán)境(integrated development environment,IDE)。Visual C++6.0由許多組件組成,包括編輯器、調(diào)試器以及程序向?qū)ppWizard、類向?qū)lass Wizard等開發(fā)工具。 這些組件通過(guò)一個(gè)名為Developer Studio的組件集成為和諧的開發(fā)環(huán)境。
Visual C++它大概可以分成三個(gè)主要的部分:
1. Developer Studio,這是一個(gè)集成開發(fā)環(huán)境,我們?nèi)粘9ぷ鞯?9%都是在它上面完成的,再加上它的標(biāo)題赫然寫著“Microsoft Visual C++”,所以很多人理所當(dāng)然的認(rèn)為,那就是Visual C++了。其實(shí)不然,雖然Developer Studio提供了一個(gè)很好的編輯器和很多Wizard,但實(shí)際上它沒(méi)有任何編譯和鏈接程序的功能,真正完成這些工作的幕后英雄后面會(huì)介紹。我們也知道,Developer Studio并不是專門用于VC的,它也同樣用于VB,VJ,VID等Visual Studio家族的其他同胞兄弟。所以不要把Developer Studio當(dāng)成Visual C++, 它充其量只是Visual C++的一個(gè)殼子而已。這一點(diǎn)請(qǐng)切記!
2. MFC。從理論上來(lái)講,MFC也不是專用于Visual C++,Borland C++,C++Builder和Symantec C++同樣可以處理MFC。同時(shí),用Visual C++編寫代碼也并不意味著一定要用MFC,只要愿意,用Visual C++來(lái)編寫SDK程序,或者使用STL,ATL,一樣沒(méi)有限制。不過(guò),Visual C++本來(lái)就是為MFC打造的,Visual C++中的許多特征和語(yǔ)言擴(kuò)展也是為MFC而設(shè)計(jì)的,所以用Visual C++而不用MFC就等于拋棄了Visual C++中很大的一部分功能。但是,Visual C++也不等于MFC。
3. Platform SDK。這才是Visual C++和整個(gè)Visual Studio的精華和靈魂,雖然我們很少能直接接觸到它。大致說(shuō)來(lái),Platform SDK是以Microsoft C/C++編譯器為核心(不是Visual C++,看清楚了),配合MASM,輔以其他一些工具和文檔資料。上面說(shuō)到Developer Studio沒(méi)有編譯程序的功能,那么這項(xiàng)工作是由誰(shuí)來(lái)完成的呢?是CL,是NMAKE,和其他許許多多命令行程序,這些我們看不到的程序才是構(gòu)成Visual Studio的基石。
---------------------------
c#
C#(讀做 "C sharp",中文譯音“夏普”)是微軟公司在去年六月發(fā)布的一種新的編程語(yǔ)言,并定于在微軟職業(yè)開發(fā)者論壇(PDC)上登臺(tái)亮相.C#是微軟公司研究員Anders Hejlsberg的最新成果.C#看起來(lái)與Java有著驚人的相似;它包括了諸如單一繼承,界面,與Java幾乎同樣的語(yǔ)法,和編譯成中間代碼再運(yùn)行的過(guò)程.但是C#與Java有著明顯的不同,它借鑒了Delphi的一個(gè)特點(diǎn),與COM(組件對(duì)象模型)是直接集成的,而且它是微軟公司.NET windows網(wǎng)絡(luò)框架的主角.
-----------------------------
c語(yǔ)言
C語(yǔ)言是目前世界上流行、使用非常廣泛的高級(jí)程序設(shè)計(jì)語(yǔ)言。
C語(yǔ)言對(duì)操作系統(tǒng)和系統(tǒng)使用程序以及需要對(duì)硬件進(jìn)行操作的場(chǎng)合,用C語(yǔ)言明顯優(yōu)于其它高級(jí)語(yǔ)言,許多大型應(yīng)用軟件都是用C語(yǔ)言編寫的。
C語(yǔ)言具有繪圖能力強(qiáng),可移植性,并具備很強(qiáng)的數(shù)據(jù)處理能力,因此適于編寫系統(tǒng)軟件,三維,二維圖形和動(dòng)畫它是數(shù)值計(jì)算的高級(jí)語(yǔ)言。
常用的編譯軟件有Microsoft Visual C++,Borland C++,Watcom C++ ,Borland C++ ,Borland C++ Builder,Borland C++ 3.1 for DOS,Watcom C++ 11.0 for DOS,GNU DJGPP C++ ,Lccwin32 C Compiler 3.1,Microsoft C,High C,TurboC等等......
C語(yǔ)言的發(fā)展歷史
C語(yǔ)言的發(fā)展頗為有趣。它的原型ALGOL 60語(yǔ)言。(也成為A語(yǔ)言)
1963年,劍橋大學(xué)將ALGOL 60語(yǔ)言發(fā)展成為CPL(Combined Programming Language)語(yǔ)言。
1967年,劍橋大學(xué)的Matin Richards 對(duì)CPL語(yǔ)言進(jìn)行了簡(jiǎn)化,于是產(chǎn)生了BCPL語(yǔ)言。
1970年,美國(guó)貝爾實(shí)驗(yàn)室的Ken Thompson將BCPL進(jìn)行了修改,并為它起了一個(gè)有趣的名字“B語(yǔ)言”。意思是將CPL語(yǔ)言煮干,提煉出它的精華。并且他用B語(yǔ)言寫了第一個(gè)UNIX操作系統(tǒng)。
而在1973年,B語(yǔ)言也給人“煮”了一下,美國(guó)貝爾實(shí)驗(yàn)室的D.M.RITCHIE在B語(yǔ)言的基礎(chǔ)上最終設(shè)計(jì)出了一種新的語(yǔ)言,他取了BGPL的第二個(gè)字母作為這種語(yǔ)言的名字,這就是C語(yǔ)言。
為了使UNIX操作系統(tǒng)推廣,1977年Dennis M.Ritchie 發(fā)表了不依賴于具體機(jī)器系統(tǒng)的C語(yǔ)言編譯文本《可移植的C語(yǔ)言編譯程序》。
1978年Brian W.Kernighian和Dennis M.Ritchie出版了名著《The C Programming Language》,從而使C語(yǔ)言成為目前世界上流行最廣泛的高級(jí)程序設(shè)計(jì)語(yǔ)言。
1988年,隨著微型計(jì)算機(jī)的日益普及, 出現(xiàn)了許多C語(yǔ)言版本。由于沒(méi)有統(tǒng)一的標(biāo)準(zhǔn),使得這些C語(yǔ)言之間出現(xiàn)了一些不一致的地方。為了改變這種情況,美國(guó)國(guó)家標(biāo)準(zhǔn)研究所(ANSI)為C語(yǔ)言制定了一套ANSI標(biāo)準(zhǔn), 成為現(xiàn)行的C語(yǔ)言標(biāo)準(zhǔn) 3.C語(yǔ)言的主要特點(diǎn) 。C語(yǔ)言發(fā)展迅速, 而且成為最受歡迎的語(yǔ)言之一, 主要因?yàn)樗哂袕?qiáng)大的功能。許多著名的系統(tǒng)軟件, 如DBASE Ⅲ PLUS、DBASE Ⅳ 都是由C 語(yǔ)言編寫的。用C語(yǔ)言加上一些匯編語(yǔ)言子程序, 就更能顯示C語(yǔ)言的優(yōu)勢(shì)了,象PC- DOS 、WORDSTAR等就是用這種方法編寫的。
C語(yǔ)言的特點(diǎn)
1. 簡(jiǎn)潔緊湊、靈活方便
C語(yǔ)言一共只有32個(gè)關(guān)鍵字,9種控制語(yǔ)句,程序書寫自由,主要用小寫字母表示。它把高級(jí)語(yǔ)言的基本結(jié)構(gòu)和語(yǔ)句與低級(jí)語(yǔ)言的實(shí)用性結(jié)合起來(lái)。 C 語(yǔ)言可以象匯編語(yǔ)言一樣對(duì)位、字節(jié)和地址進(jìn)行操作, 而這三者是計(jì)算機(jī)最基本的工作單元。
2. 運(yùn)算符豐富
C的運(yùn)算符包含的范圍很廣泛,共有種34個(gè)運(yùn)算符。C語(yǔ)言把括號(hào)、賦值、強(qiáng)制類型轉(zhuǎn)換等都作為運(yùn)算符處理。從而使C的運(yùn)算類型極其豐富表達(dá)式類型多樣化,靈活使用各種運(yùn)算符可以實(shí)現(xiàn)在其它高級(jí)語(yǔ)言中難以實(shí)現(xiàn)的運(yùn)算。
3. 數(shù)據(jù)結(jié)構(gòu)豐富
C的數(shù)據(jù)類型有:整型、實(shí)型、字符型、數(shù)組類型、指針類型、結(jié)構(gòu)體類型、共用體類型等。能用來(lái)實(shí)現(xiàn)各種復(fù)雜的數(shù)據(jù)類型的運(yùn)算。并引入了指針概念,使程序效率更高。另外C語(yǔ)言具有強(qiáng)大的圖形功能, 支持多種顯示器和驅(qū)動(dòng)器。且計(jì)算功能、邏輯判斷功能強(qiáng)大。
4. C是結(jié)構(gòu)式語(yǔ)言
結(jié)構(gòu)式語(yǔ)言的顯著特點(diǎn)是代碼及數(shù)據(jù)的分隔化,即程序的各個(gè)部分除了必要的信息交流外彼此獨(dú)立。這種結(jié)構(gòu)化方式可使程序?qū)哟吻逦? 便于使用、維護(hù)以及調(diào)試。C語(yǔ)言是以函數(shù)形式提供給用戶的,這些函數(shù)可方便的調(diào)用,并具有多種循環(huán)、條件語(yǔ)句控制程序流向,從而使程序完全結(jié)構(gòu)化。
5. C語(yǔ)法限制不太嚴(yán)格、程序設(shè)計(jì)自由度大
一般的高級(jí)語(yǔ)言語(yǔ)法檢查比較嚴(yán),能夠檢查出幾乎所有的語(yǔ)法錯(cuò)誤。而C語(yǔ)言允許程序編寫者有較大的自由度。
6. C語(yǔ)言允許直接訪問(wèn)物理地址,可以直接對(duì)硬件進(jìn)行操作
因此既具有高級(jí)語(yǔ)言的功能,又具有低級(jí)語(yǔ)言的許多功能,能夠象匯編語(yǔ)言一樣對(duì)位、字節(jié)和地址進(jìn)行操作,而這三者是計(jì)算機(jī)最基本的工作單元,可以用來(lái)寫系統(tǒng)軟件。
7. C語(yǔ)言程序生成代碼質(zhì)量高,程序執(zhí)行效率高
一般只比匯編程序生成的目標(biāo)代碼效率低10へ20%。
8. C語(yǔ)言適用范圍大,可移植性好
C語(yǔ)言有一個(gè)突出的優(yōu)點(diǎn)就是適合于多種操作系統(tǒng), 如DOS、UNIX,也適用于多種機(jī)型。
當(dāng)然,C語(yǔ)言也有自身的不足,比如:C語(yǔ)言的語(yǔ)法限制不太嚴(yán)格,對(duì)變量的類型約束不嚴(yán)格,影響程序的安全性,對(duì)數(shù)族下標(biāo)越界不作檢查等。從應(yīng)用的角度,C語(yǔ)言比其他高級(jí)語(yǔ)言較難掌握。
總之,C語(yǔ)言既有高級(jí)語(yǔ)言的特點(diǎn),又具有匯編語(yǔ)言的特點(diǎn);既是一個(gè)成功的系統(tǒng)設(shè)計(jì)語(yǔ)言,有時(shí)一個(gè)使用的程序設(shè)計(jì)語(yǔ)言;既能用來(lái)編寫不依賴計(jì)算機(jī)硬件的應(yīng)用程序,又能用來(lái)編寫各種系統(tǒng)程序;是一種受歡迎、應(yīng)用廣泛的程序設(shè)計(jì)語(yǔ)言。
---------------------------------------------------------------------------------
[轉(zhuǎn)]Visual C#、Java(或JBuilder)與Delphi編程語(yǔ)言的比較2007-11-10 21:30Delphi:我最喜歡,也是最常聽到的一句口號(hào)是“真正的程序員用C語(yǔ)言,最聰明的程序員用Delphi”。Java:當(dāng)然它也不干似弱也有自已的經(jīng)典口號(hào)“Write Once , Run anywhere”。更響亮的吧?C# :好像沒(méi)什么很響亮的口號(hào),不過(guò)據(jù)老Bill的話講,今后Microsoft公司的產(chǎn)品都要用這個(gè)語(yǔ)言去開發(fā)。呵呵,老Bill夠?qū)嶋H的吧?這樣的話,也是夠吸引程序員的了。Delphi的跨平臺(tái)性就不講了,可以說(shuō)是不行的。Java是一流的了,象我們現(xiàn)在用的電信產(chǎn)品,家電、航空航天,大部分都是用Java 的。C#倒是號(hào)稱也可以跨平臺(tái),不過(guò)我倒不覺(jué)得它在這方面有多強(qiáng)。可能是我一直對(duì)微軟的產(chǎn)品有偏見的緣故吧。Delphi常用在C/S結(jié)構(gòu)程序開發(fā)中。盡管Borland公司也講強(qiáng)大的Internet/Intranet開發(fā)支持功能,不過(guò)如果你用過(guò)Java/C#等產(chǎn)品,Borland的這種講法已經(jīng)顯得微不足道了。JAVA/C#我以前一直認(rèn)為它們只能做WEB,或者說(shuō)做網(wǎng)站之類的?;鶎?shí)不然,這兩種語(yǔ)言可以說(shuō)什么都能做,Borland能實(shí)現(xiàn)的它們也能實(shí)現(xiàn)。當(dāng)然我們經(jīng)常稱它們做出來(lái)的東西為B/S結(jié)構(gòu)的。以前我總認(rèn)為,它們不能實(shí)現(xiàn)像Delphi那樣的OnChange,OnCreate之類的,以及動(dòng)態(tài)計(jì)算,其實(shí)這些都是小兒科了,都可以實(shí)現(xiàn)的。唯一不好的就是,Java/C#在Report方面就要比Delphi差了些。盡管Java/C#有很多第三方組件,如:crystalreport以及國(guó)內(nèi)用友公司的“華表”,好像KingSoft公司也有類似的報(bào)表工具。不過(guò)我都覺(jué)得它們還不能做得像Delphi的那樣精。當(dāng)然,從另一個(gè)角度來(lái)看,B/S結(jié)構(gòu)的東東在減少成本,方便維護(hù)等方面講是相當(dāng)高的了。這也是B/S結(jié)構(gòu)的產(chǎn)品這幾年能夠訊速流行起來(lái)的原因。講到這里,我還得提一下,因?yàn)锽/S結(jié)構(gòu)可能會(huì)在Internet上運(yùn)行,所以安全性也是一大問(wèn)題。不過(guò),這是網(wǎng)管的事啦,我們程序員不用太擔(dān)心了。(這句話我在想,也不太正確,我們做coding時(shí)也必須要考慮安全性了)。
a)Delphi作為Borland 公司的旗艦產(chǎn)品,Delphi以其快速高效的開發(fā)方式和強(qiáng)大的功能,成為軟件開發(fā)商和程序員最歡迎、使用最廣泛的開發(fā)工具。Delphi是占全球編程市場(chǎng)70%的新一代編程工具,開發(fā)人員的需求量越來(lái)越大(呵呵,這個(gè)統(tǒng)計(jì)數(shù)據(jù)不知Borland公司哪年統(tǒng)計(jì)的哦?我想現(xiàn)在可能沒(méi)這么大的份額了吧)呵呵,講一個(gè)笑話。聽說(shuō)Borland公司的創(chuàng)始人還是持旅游簽證從法國(guó)進(jìn)入到美國(guó)硅谷的呢?誰(shuí)知道,他去了硅谷就不想走了呢,并且還創(chuàng)辦了后來(lái)大名鼎鼎的Borland公司呢。這還沒(méi)完呢,Borland創(chuàng)業(yè)之初,他曾經(jīng)想為公司取名叫“MIT(Market In Time)”,夠牛吧?這樣一來(lái),人家麻省理工學(xué)院(MIT,Massachusettes Institute of Technology)肯定不同意了——你干嘛要掙我的名字呢?所以后來(lái)就用了Borland這樣的名字。不過(guò)從我個(gè)人角度來(lái)看,我覺(jué)得用Borland比用MIT要好。Delphi作為專業(yè)軟件開發(fā)技術(shù)人員的專用工具,對(duì)業(yè)界的影響深遠(yuǎn),乃至以后Sun公司推出著名的Java以后,在Borland的幫助下研制出了Java版的構(gòu)件-JavaBean。b)JavaJava 的產(chǎn)生和發(fā)展是有點(diǎn)傳奇色彩的。Java是Sun公司的產(chǎn)品,最初Sun 公司不是想要發(fā)明Java這種語(yǔ)言,更沒(méi)想到Java會(huì)發(fā)展成為今天比Sun公司還知名的程度。上世紀(jì)90年代初,Sun公司是想開發(fā)一種可以家用電器上運(yùn)行的軟件,而這種軟件必須具有可移植性、安全性和跨平臺(tái)性,于是Sun公司成立了一個(gè)以James,Gosling等為核心的叫“Green”的語(yǔ)言開發(fā)小組。最初他們是將C++作為編譯器進(jìn)行,但很快發(fā)現(xiàn)這種語(yǔ)言的跨平臺(tái)性,和安全性還是不足,如果他們自已發(fā)明了一種語(yǔ)言,稱這為“Oak”(也稱為“橡樹”)。后來(lái)Internet的發(fā)展,為Oak的發(fā)展提供了無(wú)限的生機(jī),剛好Oak大大滿足了WWW的特性(盡管它在最初只是作為一個(gè)applet小應(yīng)用程序鑲嵌在web中使用)。后來(lái),同樣還是Oak的幾位工程師又在一次喝咖啡時(shí)給他命名為Java優(yōu)美的名字。如同一個(gè)美人的出世一樣,1995年Java的正式發(fā)布面世,已經(jīng)引起強(qiáng)烈的反響。1995年,Java也向世界公布了它的完整技術(shù)規(guī)范,這為以后的其它IT公司的發(fā)展又是一針強(qiáng)行針。所以老Bill在反復(fù)仔細(xì)研究了Java的技術(shù)規(guī)范之后,不得不承認(rèn)“Java確定是有史以來(lái)最偉大的程序設(shè)計(jì)語(yǔ)言”,因?yàn)镴ava語(yǔ)言源于C++,而C++又源自于C,故Java語(yǔ)言繼承和發(fā)揚(yáng)了C++和C的優(yōu)點(diǎn),故很多程序員在學(xué)習(xí)Java時(shí),會(huì)發(fā)展它和C++/C多么的相似??傊?,Java是在無(wú)識(shí)中,不知不覺(jué)成長(zhǎng)起來(lái)的。c)Visual C#提到C#,我們不得不提一位世界上最偉大的創(chuàng)造者:Anders Hejlsberg。Hejlsberg原為丹麥人,上世紀(jì)80年代,他設(shè)計(jì)出了Pascal的編譯器,后來(lái)被Borland公司看中,并買下了他的這個(gè)產(chǎn)品(Borland公司稱之為Turbo Pascal),而且還雇傭了他。而Hejlsberg也不負(fù)眾望,在他的代領(lǐng)下,開發(fā)出了歷史上的奇跡:Delphi語(yǔ)言。Hejlsberg在Borland工作13個(gè)春秋,一直到上世紀(jì)90年代中期(1996年),這位奇跡般的創(chuàng)造者,又跳到了Microsoft公司,并且他又經(jīng)過(guò)四年的潛心研究,于2001年再次奇跡般的研發(fā)出了C#語(yǔ)言和.Net Framework。所以說(shuō)Hejlsberg可以堪稱世界最偉大的發(fā)明者了。說(shuō)起C#,我還是不得不提一下Sun公司,也是世界很多大的Soft Corp.的死對(duì)頭,同時(shí)又是親密合作伙伴的Microsoft了,老 Bill的聰明之處就是學(xué)習(xí)吸收別人的東西,再發(fā)展自已的產(chǎn)品。C#的橫空出世,比Java整整落后了5年的時(shí)間,但同時(shí)C#語(yǔ)言后來(lái)居上,C#語(yǔ)言結(jié)合了已有計(jì)算機(jī)編程語(yǔ)言和軟件的優(yōu)點(diǎn):Visual C++,Visual Basic,Delphi,C++ Builder,J Builder, Java等。
也正是這樣,C#已成為微軟公司反擊Java語(yǔ)言的最有力武器。市場(chǎng)分析人員認(rèn)為微軟公司希望利用C#來(lái)阻止原來(lái)的C++開發(fā)人員投向Java陣營(yíng)。舉例來(lái)說(shuō),C#摹仿了Java提供的多種特性,包括“碎片回收機(jī)制”(garbage collection)、可以利用多種類型的語(yǔ)言進(jìn)行開發(fā)的“通用引擎”等等。
(3)三種語(yǔ)言的比較C#和Delphi比較Delphi是通過(guò)Begin…end來(lái)組織語(yǔ)句塊,相對(duì)于C#我覺(jué)得要笨拙些。Delphi是機(jī)器碼??缙脚_(tái)性有賴于Borland公司繼續(xù)提高。當(dāng)然在開發(fā)一些復(fù)雜的C/S結(jié)構(gòu)和富有特色的報(bào)表方面,Delphi仍然是眾多程序員的第一選擇。C#和Java比較C#和Java都是字節(jié)碼。所以它們兩個(gè)的跨平臺(tái)性理論上都要強(qiáng)過(guò)Delphi了當(dāng)然,到目前為止,我認(rèn)為C#仍然比不過(guò)Java,因?yàn)樵谄脚_(tái)獨(dú)立性上,我始終覺(jué)得C#還是比不上Java。盡管這兩種語(yǔ)言都是繼承了C++的語(yǔ)言特點(diǎn),并由它發(fā)展而來(lái)的。當(dāng)然C#也有強(qiáng)過(guò)去時(shí)Java的地方。因?yàn)镃#比Java的出世晚了整整5年,所以C#的創(chuàng)始人Hejlsberg在創(chuàng)造C#是深受Java的影響,所以他也吸收了大量Java的優(yōu)勢(shì)。比如,C#支持運(yùn)算符的重載和類型安全的枚舉及安全性的嵌入式指針。C#可以和其它.NET程序無(wú)縫鏈接。成本遠(yuǎn)低于Java,甚至可以將C#看作是Java的低級(jí)替代品。另外C#與Web服務(wù)的結(jié)合也要比Java稍強(qiáng),盡管Java與Web服務(wù)的結(jié)合也不差,但它畢竟是后來(lái)加上去的。所以說(shuō),如果在短期內(nèi),這三門語(yǔ)言如果有誰(shuí)想吃掉誰(shuí),還是不可能的。三足鼎立的局勢(shì),我覺(jué)得至少還得維持一段時(shí)間。
(4)相同之處:我分別翻了這三門語(yǔ)言的特點(diǎn),三家的相同之處倒是蠻驚人的:a)強(qiáng)大的集成開發(fā)環(huán)境(IDE)。我在想這是不是就是可視化的精髓呢?b)面向?qū)ο蟆_@有點(diǎn)廢話了,現(xiàn)在如果還不面向?qū)ο螅沁€真不知道是什么樣子的。當(dāng)然VB號(hào)稱面向?qū)ο?,但不是真正意義上的面向?qū)ο?。其?shí)應(yīng)該說(shuō)它們都是OOP的。c)豐富的構(gòu)件庫(kù)。這也是廢話了。類庫(kù)當(dāng)然重要了。在Delphi中叫構(gòu)件庫(kù),在JAVA中和C#中都叫類。d)模板類型使編程更加簡(jiǎn)便。e)強(qiáng)有力的異常處理機(jī)制。這年頭,防人之心不是要有的,所以,對(duì)異常的處理我們還是要有預(yù)案在心的。^..^f)強(qiáng)大的數(shù)據(jù)庫(kù)應(yīng)用開發(fā)能力。暈,什么年代了嘛。還在講數(shù)據(jù)庫(kù)開發(fā)能力強(qiáng)大,現(xiàn)在寫程序還能少了數(shù)據(jù)庫(kù)嗎?你們?nèi)夜荆蚁肴绻l(shuí)要是脫離數(shù)據(jù)庫(kù),那可能真是要回老家了。g)支持多線程。這個(gè)自然不用講了,什么都在提倡多線程了。不過(guò)線程,進(jìn)程你能分清他們的含義嗎?
(5)語(yǔ)言基礎(chǔ):Delphi 是 Pascal的Java 是C++/C的;C#也是源于C/C++的,所以如果先學(xué)Java的程序員,再來(lái)學(xué)C#那就比較容易了。也有資料講“C#語(yǔ)言結(jié)合和已有計(jì)算機(jī)編程語(yǔ)言和軟件的優(yōu)點(diǎn):Visual C++,Visual Basic,Delphi,C++ Builder,J Builder, Java等。”這也說(shuō)明了,C語(yǔ)言是非常重要的基礎(chǔ)了。可惜都大學(xué)時(shí),我的C學(xué)得不是太好
--------------------------------------------------------------------------------------
http://www.cn-java.com/
http://www.java-cn.com/
這些網(wǎng)站你可以看看,下面給你介紹java:
Java語(yǔ)言簡(jiǎn)介
一. Java的由來(lái)
當(dāng)1995年SUN推出Java語(yǔ)言之后,全世界的目光都被這個(gè)神奇的語(yǔ)言所吸引。那么Java到底有何神奇之處
呢?
Java語(yǔ)言其實(shí)最是誕生于1991年,起初被稱為OAK語(yǔ)言,是SUN公司為一些消費(fèi)性電子產(chǎn)品而設(shè)計(jì)的一個(gè)通
用環(huán)境。他們最初的目的只是為了開發(fā)一種獨(dú)立于平臺(tái)的軟件技術(shù),而且在網(wǎng)絡(luò)出現(xiàn)之前,OAK可以說(shuō)是
默默無(wú)聞,甚至差點(diǎn)夭折。但是,網(wǎng)絡(luò)的出現(xiàn)改變了OAK的命運(yùn)。
在Java出現(xiàn)以前。Internet上的信息內(nèi)容都是一些乏味死板的HTML文檔。這對(duì)于那些迷戀于WEB瀏覽的人
們來(lái)說(shuō)簡(jiǎn)直不可容忍。他們迫切希望能在WEN中看到一些交互式的內(nèi)容,開發(fā)人員也極希望能夠在WEB上創(chuàng)
建一類無(wú)需考慮軟硬件平臺(tái)就可以執(zhí)行的應(yīng)用程序,當(dāng)然這些程序還要有極大的安全保障。對(duì)于用戶的這
種要求,傳統(tǒng)的編程語(yǔ)言顯得無(wú)能為力,面SUN的工程師敏銳地察覺(jué)到了這一點(diǎn),從1994年起,他們開始
將OAK技術(shù)應(yīng)用于WEB上,并且開發(fā)出了HotJava的第一個(gè)版本。當(dāng)SUN公司1995年正式以Java這個(gè)名字推出
的時(shí)候,幾乎所有的WEB開發(fā)人員都想到:噢,這正是我想要的。于是Java成了一顆耀眼的明星,丑小鴨
一下了變成了白天鵝。
二. Java的定義
Java是一種簡(jiǎn)單的,面象對(duì)象的,分布式的,解釋的,鍵壯的安全的,結(jié)構(gòu)的中立的,可移植的,性能很
優(yōu)異的多線程的,動(dòng)態(tài)的語(yǔ)言。
Java的開發(fā)環(huán)境有不同的版本,如sun公司的Java Developers Kit, 簡(jiǎn)稱 JDK。后來(lái)微軟公司推出了支
持Java規(guī)范的Microsoft Visual J++ Java開發(fā)環(huán)境,簡(jiǎn)稱 VJ++。
三. Java的特點(diǎn)
1. 平臺(tái)無(wú)關(guān)性
平臺(tái)無(wú)關(guān)性是指Java能運(yùn)行于不同的平臺(tái)。Java引進(jìn)虛擬機(jī)原理,并運(yùn)行于虛擬機(jī),實(shí)現(xiàn)不同平臺(tái)的
Java接口之間。使用Java編寫的程序能在世界范圍內(nèi)共享。Java的數(shù)據(jù)類型與機(jī)器無(wú)關(guān),Java虛擬機(jī)(
Java Virtual Machine)是建立在硬件和操作系統(tǒng)之上,實(shí)現(xiàn)Java二進(jìn)制代碼的解釋執(zhí)行功能,提供于
不同平臺(tái)的接口的。
2. 安全性
Java的編程類似C++,學(xué)習(xí)過(guò)C++的讀者將很快掌握J(rèn)ava的精髓。Java舍棄了C++的指針對(duì)存儲(chǔ)器地址的直
接操作,程序運(yùn)行時(shí),內(nèi)存由操作系統(tǒng)分配,這樣可以避免病毒通過(guò)指針侵入系統(tǒng)。Java對(duì)程序提供了
安全管理器,防止程序的非法訪問(wèn)。
3. 面向?qū)ο?br />
Java 吸取了C++面向?qū)ο蟮母拍?將數(shù)據(jù)封裝于類中,利用類的優(yōu)點(diǎn),實(shí)現(xiàn)了程序的簡(jiǎn)潔性和便于維護(hù)性。
類的封裝性、繼承性等有關(guān)對(duì)象的特性,使程序代碼只需一次編譯,然后通過(guò)上述特性反復(fù)利用。程序
員只需把主要精力用在類和接口的設(shè)計(jì)和應(yīng)用上。Java 提供了眾多的一般對(duì)象的類,通過(guò)繼承即可使
用父類的方法。在 Java 中,類的繼承關(guān)系是單一的非多重的,一個(gè)子類只有一個(gè)父類,子類的父類又
有一個(gè)父類。Java 提供的 Object 類及其子類的繼承關(guān)系如同一棵倒立的樹形,根類 為 Object 類,
Object 類功能強(qiáng)大,經(jīng)常會(huì)使用到它及其它派生的子類。
4. 分布式
Java建立在擴(kuò)展TCP/IP網(wǎng)絡(luò)平臺(tái)上。庫(kù)函數(shù)提供了用HTTP和FTP協(xié)議傳送和接受信息的方法。這使得程序
員使用網(wǎng)絡(luò)上的文件和使用本機(jī)文件一樣容易。
5. 鍵壯性
Java致力于檢查程序在編譯和運(yùn)行時(shí)的錯(cuò)誤。類型檢查幫助檢查出許多開發(fā)早期出現(xiàn)的錯(cuò)誤。Java自已操
縱內(nèi)存減少了內(nèi)存出錯(cuò)的可能性。Java還實(shí)現(xiàn)了真數(shù)組,避免了覆蓋數(shù)據(jù)的可能。這些功能特征大大提高
了開發(fā)Java應(yīng)用程序的周期。Java提供: Null指針檢測(cè)、 數(shù)組邊界檢測(cè)、 異常出口、 Byte code校驗(yàn)
。
四. Java與C/C++語(yǔ)言
Java提供了一個(gè)功能強(qiáng)大語(yǔ)言的所有功能,但幾乎沒(méi)有一點(diǎn)含混特征。C++安全性不好,但C和C++被大家
接受,所以Java設(shè)計(jì)成C++形式,讓大家很容易學(xué)習(xí)。
Java去掉了C++語(yǔ)言的許多功能,讓Java的語(yǔ)言功能很精煉,并增加了一些很有用的功能,如自動(dòng)收集碎
片。
Java去掉了以下幾個(gè)C和C++功能:
指針運(yùn)算
結(jié)構(gòu)
typedefs
#define
需要釋放內(nèi)存
這將減少了平常出錯(cuò)的50%。而且,Java很小,整個(gè)解釋器只需215K的RAM。
面象對(duì)象:Java實(shí)現(xiàn)了C++的基本面象對(duì)象技術(shù)并有一些增強(qiáng),(為了語(yǔ)言簡(jiǎn)單,刪除了一些功能)。
Java處理數(shù)據(jù)方式和用對(duì)象接口處理對(duì)象數(shù)據(jù)方式一樣。
五. Java與Internet
我們知道,早先的 www 僅可以傳送文本和圖片,Java的出現(xiàn)實(shí)現(xiàn)了互動(dòng)的頁(yè)面,是一次偉大的革命。
Java并不是為 Internet,WWW而設(shè)計(jì)的,它也可以用來(lái)編寫?yīng)毩⒌膽?yīng)用程序。Java 是一種面向?qū)ο笳Z(yǔ)言。
Java 語(yǔ)言類似于 C++ 語(yǔ)言,所以已熟練掌握 C++語(yǔ)言的編程人員,再學(xué)習(xí) Java 語(yǔ)言就容易得多!Java
程序需要編譯。實(shí)際上有兩種 Java 程序:一種 Java 應(yīng)用程序是一個(gè)完整的程序,如 Web 瀏覽器。一
種 Java 小應(yīng)用程序是運(yùn)行于 Web 瀏覽器中的一個(gè)程序.
Java程序和它的瀏覽器HotJava,提供了可讓你的瀏覽器運(yùn)行程序的方法。你能從你的瀏覽器里直接播放
聲音。你還能播放頁(yè)面里的動(dòng)畫。Java還能告訴你的瀏覽器怎樣處理新的類型文件。當(dāng)我們能在2400
baud線上傳輸視頻圖象時(shí),HotJava將能顯示這些視頻。
當(dāng)今Internet的一大發(fā)展趨勢(shì)是電子商務(wù),而Internet的安全問(wèn)題是必須解決的問(wèn)題,通常大的部門應(yīng)設(shè)
置防火墻,阻止非法侵入。
電子商務(wù)是當(dāng)今的熱門話題,然而傳統(tǒng)的編程語(yǔ)言難以勝任電子商務(wù)系統(tǒng),電子商務(wù)要求程序代碼具有基
本的要求:安全、可靠、同時(shí)要求能與運(yùn)行于不同平臺(tái)的機(jī)器的全世界客戶開展業(yè)務(wù)。Java以其強(qiáng)安全
性、平臺(tái)無(wú)關(guān)性、硬件結(jié)構(gòu)無(wú)關(guān)性、語(yǔ)言簡(jiǎn)潔同時(shí)面向?qū)ο螅诰W(wǎng)絡(luò)編程語(yǔ)言中占據(jù)無(wú)可比擬的優(yōu)勢(shì),成
為實(shí)現(xiàn)電子商務(wù)系統(tǒng)的首選語(yǔ)言。
Java程序被放置在Internet服務(wù)器上,當(dāng)用戶訪問(wèn)服務(wù)器時(shí),Java程序被下載到本地的用戶機(jī)上,由瀏覽器
解釋運(yùn)行。
[NextPage]
PowerBuilder簡(jiǎn)介
PowerBuilder的產(chǎn)生
PowerBuilder是美國(guó)著名的數(shù)據(jù)庫(kù)應(yīng)用開發(fā)工具生產(chǎn)廠商PowerSoft推出的成功產(chǎn)品,其第一版于1991年6
月正式投入市場(chǎng)。它是完全按照客戶/服務(wù)器體系結(jié)構(gòu)研制設(shè)計(jì)的,采用面向?qū)ο蠹夹g(shù),圖形化的應(yīng)用開
發(fā)環(huán)境,是數(shù)據(jù)庫(kù)的前端開發(fā)工具。
PowerBuilder的特點(diǎn)
它支持應(yīng)用系統(tǒng)同時(shí)訪問(wèn)多種數(shù)據(jù)庫(kù),其中既包括Oracel,Sybase之類的大型數(shù)據(jù)庫(kù),又包括FOXPRO之類
支持ODBC接口的小型數(shù)據(jù)庫(kù),PowerBuilder是完全可視化的數(shù)據(jù)庫(kù)開發(fā)工具,它提供了大量的控件,大大
加快了項(xiàng)目的開發(fā)速度,也使開發(fā)者更容易掌握數(shù)據(jù)庫(kù)的開發(fā)。
它使用的編程語(yǔ)言叫做工PowerScripr,它也是一種高級(jí)的,結(jié)構(gòu)化的編程語(yǔ)言。PowerScript提供了一套
完整的嵌入式SQL語(yǔ)句,開發(fā)人員可以像使用其它語(yǔ)句一樣自由地使用SQL語(yǔ)言,這樣就大大增強(qiáng)了程序操
縱和訪問(wèn)數(shù)據(jù)庫(kù)的能力。可以說(shuō)PowerBuilder既適合初學(xué)者快速學(xué)習(xí)數(shù)據(jù)庫(kù)的開發(fā),又可以讓有經(jīng)驗(yàn)的開
發(fā)人員開發(fā)出功能強(qiáng)大的數(shù)據(jù)庫(kù),是一種適用面非常廣的開發(fā)工具。
PowerBuilder是一個(gè)用來(lái)進(jìn)行客戶/服務(wù)器開發(fā)的完全的可視化開發(fā)環(huán)境。使用PowerBuilder,你可以用一
種可視的直觀的方式來(lái)創(chuàng)建應(yīng)用程序的用戶界面和數(shù)據(jù)庫(kù)接口。這是一個(gè)總的概念,實(shí)際上是開發(fā)人員使
用PowerBuilder去開發(fā)應(yīng)用程序,由于所開發(fā)的各種應(yīng)用程序充分利用了圖形用戶接口(GUI)的優(yōu)點(diǎn),所
以PowerBuilder被認(rèn)為是一個(gè)圖形工具。
在客戶/服務(wù)器結(jié)構(gòu)的應(yīng)用中,PowerBuilder具有描述多個(gè)數(shù)據(jù)庫(kù)連接與檢索的能力。特別是
PowerBuilder能從大多數(shù)流行的RDBMS中存取數(shù)據(jù),且不管數(shù)據(jù)存放在什麼地方;另外,各種應(yīng)用程序又
可以獨(dú)立于RDBMS,因?yàn)镻owerBuilder可以使用數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)操作語(yǔ)言SQL(結(jié)構(gòu)化查詢語(yǔ)言)進(jìn)行。
使用PowerBuilder,可以很容易地開發(fā)出功能強(qiáng)大的圖形界面的訪問(wèn)服務(wù)器數(shù)據(jù)庫(kù)的應(yīng)用程序,
PowerBuilder提供了建立符合工業(yè)標(biāo)準(zhǔn)的應(yīng)用程序(例如訂單登記、會(huì)計(jì)及制造系統(tǒng))所需的所有工具。
PowerBuilder應(yīng)用程序由窗口組成,這些窗口包含用戶與之交互的控件。開發(fā)人員可以使用所有標(biāo)準(zhǔn)空間
(如按鈕、復(fù)選框、下拉式列表框或編輯框)以及PowerBuilder提供的特殊的使應(yīng)用程序更易于開發(fā)和使
用的控件。
通常人們把PowerBuilder看成是一種開發(fā)工具,實(shí)際上它比其他工具強(qiáng)得多,是一種強(qiáng)有力的開發(fā)環(huán)境。
開發(fā)人員不僅能用它來(lái)開發(fā)用戶容易使用的各種應(yīng)用程序還可以通過(guò)PowerBuilder修改數(shù)據(jù)庫(kù),利用400
多個(gè)內(nèi)部定義函數(shù),可以開發(fā)能和其他應(yīng)用程序進(jìn)行的各種應(yīng)用程序。
PowerBuilder正在成為客戶/服務(wù)器應(yīng)用開發(fā)的標(biāo)準(zhǔn)。相對(duì)于其他任何客戶/服務(wù)器開發(fā)環(huán)境,
PowerBuilder使開發(fā)人員的工作更快、成本更低、質(zhì)量更高、功能更強(qiáng)。
PowerBuilder為應(yīng)用開發(fā)提供了全面綜合性的支持,可以分別概括為如下幾點(diǎn):
事件驅(qū)動(dòng)的應(yīng)用程序
功能強(qiáng)大的編程語(yǔ)言與函數(shù)
面向?qū)ο蟮木幊?br />
跨平臺(tái)開發(fā)
開放的數(shù)據(jù)庫(kù)連結(jié)系統(tǒng)
PowerBuilder開發(fā)環(huán)境
PowerBuilder開發(fā)環(huán)境由一系列集成的圖形畫板(Painter)組成,應(yīng)用開發(fā)人員通過(guò)簡(jiǎn)單的鼠標(biāo)操作即可
設(shè)計(jì)、建立、交互檢驗(yàn)和測(cè)試客戶/服務(wù)器應(yīng)用程序。
[NextPage]
Delphi簡(jiǎn)介
Delphi這個(gè)名字源于古希臘的城市名。它集中了第三代語(yǔ)言的優(yōu)點(diǎn)。以O(shè)bject Pascal為基礎(chǔ),擴(kuò)充了面
向?qū)ο蟮哪芰?,并且完美地結(jié)合了可視化的開發(fā)手段。Delphi自1995年3 月一推出就受到了人們的關(guān)注,
并在當(dāng)年一舉奪得了多項(xiàng)大獎(jiǎng)。
Delphi的出現(xiàn)打破了V承可視化編程領(lǐng)域一統(tǒng)天下的局面。并且Delphi使用了本地編譯器直接生成技術(shù),
使程序的執(zhí)行性能遠(yuǎn)遠(yuǎn)高于其它產(chǎn)品生成的程序。它還是真正的面向?qū)ο蟮木幊陶Z(yǔ)言。PASCAL語(yǔ)言的嚴(yán)謹(jǐn)
加上可視化的優(yōu)勢(shì)和強(qiáng)大的數(shù)據(jù)庫(kù)功能使得它有充分的資本和微軟的VB叫板。許多人當(dāng)時(shí)都認(rèn)為Pascal
是最有前途的程序設(shè)計(jì)語(yǔ)言,并預(yù)測(cè)Delphi將會(huì)成為可視化編程的主流環(huán)境。
Delphi在你編好程序后自動(dòng)轉(zhuǎn)換成.EXE文件它運(yùn)行時(shí)速度比VB快,而且編譯后不需要其他的支持庫(kù)就能運(yùn)
行。它的數(shù)據(jù)庫(kù)功能也挺強(qiáng)的,是開發(fā)中型數(shù)據(jù)庫(kù)軟件理想的編程工具。 Delphi適用于應(yīng)用軟件、數(shù)據(jù)
庫(kù)系統(tǒng)、系統(tǒng)軟件等類型的開發(fā)。而且它擁有和VB差不多一樣的功能,而且一樣能應(yīng)用API函數(shù),這在控
制Windows很有用。
Delphi是全新的可視化編程環(huán)境,為我們提供了一種方便、快捷的Windows應(yīng)用程序開發(fā)工具。它使用了
Microsoft Windows圖形用戶界面的許多先進(jìn)特性和設(shè)計(jì)思想,采用了彈性可重復(fù)利用的完整的面向?qū)ο?br />
程序語(yǔ)言(Object-Oriented Language)、當(dāng)今世界上最快的編輯器、最為領(lǐng)先的數(shù)據(jù)庫(kù)技術(shù)。對(duì)于廣大的
程序開發(fā)人員來(lái)講,使用Delphi開發(fā)應(yīng)用軟件,無(wú)疑會(huì)大大地提高編程效率,而且隨著應(yīng)用的深入,您將
會(huì)發(fā)現(xiàn)編程不再是枯燥無(wú)味的工作——Delphi的每一個(gè)設(shè)計(jì)細(xì)節(jié),都將帶給您一份欣喜。
Delphi的基本形式
Delphi實(shí)際上是Pascal語(yǔ)言的一種版本,但它與傳統(tǒng)的Pascal語(yǔ)言有天壤之別。一個(gè)Delphi程序首先是應(yīng)
用程序框架,而這一框架正是應(yīng)用程序的“骨架”。在骨架上即使沒(méi)有附著任何東西,仍可以嚴(yán)格地按照
設(shè)計(jì)運(yùn)行。您的工作只是在“骨架”中加入您的程序。缺省的應(yīng)用程序是一個(gè)空白的窗體(form),您可以
運(yùn)行它,結(jié)果得到一個(gè)空白的窗口。這個(gè)窗口具有Windows窗口的全部性質(zhì):可以被放大縮小、移動(dòng)、最
大最小化等,但您卻沒(méi)有編寫一行程序。因此,可以說(shuō)應(yīng)用程序框架通過(guò)提供所有應(yīng)用程序共有的東西,
為用戶應(yīng)用程序的開發(fā)打下了良好的基礎(chǔ)。
Delphi已經(jīng)為您做好了一切基礎(chǔ)工作——程序框架就是一個(gè)已經(jīng)完成的可運(yùn)行應(yīng)用程序,只是不處理任何
事情。您所需要做的,只是在程序中加入完成您所需功能的代碼而已。在空白窗口的背后,應(yīng)用程序的
框架正在等待用戶的輸入。由于您并未告訴它接收到用戶輸入后作何反應(yīng),窗口除了響應(yīng)Windows的基本
操作(移動(dòng)、縮放等)外,它只是接受用戶的輸入,然后再忽略。
正式的編程人員工資應(yīng)該在2000以上,多的就上萬(wàn)了
在運(yùn)行 JSP 示例頁(yè)面之前,請(qǐng)注意一下安裝 JSWDK 的目錄,特別是" work "子目錄下的內(nèi)容。執(zhí)行示例
頁(yè)面時(shí),可以在這里看到 JSP 頁(yè)面如何被轉(zhuǎn)換成 Java 源文件,然后又被編譯成 class 文件(即
Servlet )。 JSWDK 軟件包中的示例頁(yè)面分為兩類,它們或者是 JSP 文件,或者是包含一個(gè)表單的
HTML 文件,這些表單均由 JSP 代碼處理。與 ASP 一樣, JSP 中的 Java 代碼均在服務(wù)器端執(zhí)行。因此
,在瀏覽器中使用"查看源文件"菜單是無(wú)法看到 JSP 源代碼的,只能看到結(jié)果 HTML 代碼。所有示例的
源代碼均通過(guò)一個(gè)單獨(dú)的" examples "頁(yè)面提供。
Java Servlet是一種開發(fā)Web應(yīng)用的理想構(gòu)架。 JSP以Servlet技術(shù)為基礎(chǔ),又在許多方面作了改進(jìn)。JSP
頁(yè)面看起來(lái)象普通HTML頁(yè)面,但它允許嵌入執(zhí)行代碼,在這一點(diǎn)上,它和ASP技術(shù)非常相似。利用跨平臺(tái)
運(yùn)行的JavaBean 組件,JSP為分離處理邏輯與顯示樣式提供了卓越的解決方案。JSP必將成為ASP技術(shù)的有
力競(jìng)爭(zhēng)者。
[NextPage]
SQL語(yǔ)言簡(jiǎn)介
SQL全稱是“結(jié)構(gòu)化查詢語(yǔ)言(Structured Query Language)”,最早的是IBM的圣約瑟研究實(shí)驗(yàn)室為其關(guān)
系數(shù)據(jù)庫(kù)管理系統(tǒng)SYSTEM R開發(fā)的一種查詢語(yǔ)言,它的前身是SQUARE語(yǔ)言。SQL語(yǔ)言結(jié)構(gòu)簡(jiǎn)潔,功能強(qiáng)大
,簡(jiǎn)單易學(xué),所以自從IBM公司1981年推出以來(lái),SQL語(yǔ)言,得到了廣泛的應(yīng)用。如今無(wú)論是像Oracle
,Sybase,Informix,SQL server這些大型的數(shù)據(jù)庫(kù)管理系統(tǒng),還是像Visual Foxporo,PowerBuilder這些微
機(jī)上常用的數(shù)據(jù)庫(kù)開發(fā)系統(tǒng),都支持SQL語(yǔ)言作為查詢語(yǔ)言。
Structured Query Language包含4個(gè)部分:
數(shù)據(jù)查詢語(yǔ)言DQL-Data Query Language SELECT
數(shù)據(jù)操縱語(yǔ)言DQL-Data Manipulation Language INSERT, UPDATE, DELETE
數(shù)據(jù)定義語(yǔ)言DQL-Data Definition Language CREATE, ALTER, DROP
數(shù)據(jù)控制語(yǔ)言DQL-Data Control Language COMMIT WORK, ROLLBACK WORK
------------------------------------------------------------------------------------------
Java是一種簡(jiǎn)單的,面向?qū)ο蟮?,分布式的,解釋型的,健壯安全的,結(jié)構(gòu)中立的,可移植的,性能優(yōu)異、多線程的動(dòng)態(tài)語(yǔ)言。
Java語(yǔ)言是簡(jiǎn)單的,Java語(yǔ)言是一個(gè)面向?qū)ο蟮?Java語(yǔ)言是分布式的,Java語(yǔ)言是安全的。Java語(yǔ)言是體系結(jié)構(gòu)中立的。Java語(yǔ)言是可移植的。Java語(yǔ)言是解釋型的。Java是高性能的。Java語(yǔ)言是多線程的。Java語(yǔ)言是動(dòng)態(tài)的。
Delphi是Borland公司研制的新一代可視化開發(fā)工具,可在Windows3.x、Windows95、WindowsNT等環(huán)境下使用。當(dāng)前,DELPHI 也可以為L(zhǎng)INUX平臺(tái)上開發(fā)應(yīng)用,其在LINUX上的對(duì)應(yīng)產(chǎn)品Kylix。
直接編譯生成可執(zhí)行代碼,編譯速度快。
支持將存取規(guī)則分別交給客戶機(jī)或服務(wù)器處理的兩種方案,而且允許開發(fā)人員建立一個(gè)簡(jiǎn)單的部件或部件集合,封裝起所有的規(guī)則,并獨(dú)立于服務(wù)器和客戶機(jī),所有的數(shù)據(jù)轉(zhuǎn)移通過(guò)這些部件來(lái)完成。
提供了許多快速方便的開發(fā)方法,
具有可重用性和可擴(kuò)展性。
具有強(qiáng)大的數(shù)據(jù)存取功能。
擁有強(qiáng)大的網(wǎng)絡(luò)開發(fā)能力
---------------------------------------------------------------------------------------------
5、Delphi中的所有類都必須從TObject派生,TList,TCollection實(shí)現(xiàn)起來(lái)很簡(jiǎn)單(當(dāng)初為了這些特性C++引入多繼承和模版的)
6、Delphi的RTTI(Run Time Type Information)直接由編譯器支持(C++規(guī)范也是這樣的,VC4.0以后的編譯器也支持這個(gè)特性,但是MFC為了兼容的關(guān)系一直采用很古老的自己的方式實(shí)現(xiàn),所以有了DECLARE_DYNAMICIMPLEMENT_DYNAMIC這兩個(gè)設(shè)計(jì)非常精巧的宏,我覺(jué)得它的設(shè)計(jì)非常好,但是我不認(rèn)為這樣打補(bǔ)丁出來(lái)的東西有編譯器直接支持的特性來(lái)的簡(jiǎn)潔和優(yōu)美)
7、Dynamic Create,同樣因?yàn)樯厦娴脑騇FC引入了另外兩個(gè)宏DECLARE_DYNCREATE、IMPLEMENT_DYNCREATE
8、Delphi的序列化(Persistent)只要是從TPersistent派生來(lái)的類都可以支持(TComponent就是從他派生來(lái)的,Delphi的.DFM就是它的一個(gè)使用的例子)
9、MFC的文檔視圖結(jié)構(gòu)應(yīng)該也能成為經(jīng)典設(shè)計(jì)了,很可惜我在Delphi中找不到
10、C++中可以聲明如下結(jié)構(gòu),我也不知道Delphi應(yīng)該如何做
Struct ABC{
A:1;
B:3;
}
Delphi中最下的單位好像是Byte,只能自己程序處理(就像MFC那些宏一樣,很討厭)
11、Windows的接口文檔是基于C的,所以對(duì)最新技術(shù)的應(yīng)用上沒(méi)有VC那么方便,你需要自己成立很多很多的頭文件.h,這一點(diǎn)會(huì)把人煩死
(我覺(jué)得這個(gè)是最重要的一點(diǎn),不知道寶藍(lán)為什么不出一個(gè)轉(zhuǎn)換工具)
12、使用C,C++的人應(yīng)為開發(fā)Windows程序和使用MFC總的說(shuō)來(lái)都是一件費(fèi)力的事情,所以這些程序員對(duì)系統(tǒng)比較了解,不了解就沒(méi)辦法工作。
Delphi的程序員就不同了,他們應(yīng)為VCL的巨大便利,變得主要是使用控件,相對(duì)的對(duì)系統(tǒng)的理解沒(méi)有VC程序員深刻。
13、因?yàn)閺目傮w上來(lái)說(shuō)Delphi的語(yǔ)法比C++簡(jiǎn)潔(不用背負(fù)兼容性的包袱),編譯速度比較快,另外如果我說(shuō)MS的編譯器技術(shù)沒(méi)有寶藍(lán)的好我想沒(méi)有人會(huì)反對(duì)吧,無(wú)論什么特性都是寶藍(lán)的編譯器首先實(shí)現(xiàn)的
14、從工具使用的難度上看(在Windows平臺(tái)上)
匯編 >> C >> C++ >> VC >> Delphi
但是從語(yǔ)言所能使想的功能來(lái)說(shuō),大家都一樣,正如簡(jiǎn)單的順序、選擇、循環(huán)可以實(shí)現(xiàn)所有的程序邏輯一樣,只要可以在程序中直接使用匯編,他的能力應(yīng)該和匯編是一樣的(最夸張的情形,所有的地方我都使用匯編)如果單純因?yàn)閂C比Delphi難以入門就認(rèn)為VC比Delphi好是非常偏見的,要不然為什么不直接使用SDK,而要使用MFC,要是純粹為了顯示變成的能力,我們應(yīng)該使用機(jī)器碼,因?yàn)閰R編比他簡(jiǎn)單
其實(shí)VC和Delphi的比較實(shí)際上是連個(gè)層次上的
C++ VS Object Pascal
MFC VS VCL
顯然的C++語(yǔ)言和Object Pascal個(gè)有特色,可以說(shuō)平手
MFC的結(jié)構(gòu)中因?yàn)橐3旨嫒菪杂泻芏嗟睦?,不過(guò)已經(jīng)很難為開發(fā)MFC的人了,
VCL非常優(yōu)美、精巧
但是不要以為VCL就勝過(guò)MFC了別忘了MFC是MS的東西,但是這一點(diǎn)其實(shí)就是一切了。
不過(guò)我個(gè)人認(rèn)為單純從語(yǔ)言的角度來(lái)看
匯編 第一代通用語(yǔ)言
C,Pascal 第二代通用語(yǔ)言
C++,OBject Pascal 二點(diǎn)五代 (過(guò)程式和Object混合)
SmallTask 第三代(純Object)
Jave、C# 三點(diǎn)五代(與網(wǎng)絡(luò)為核心的純Object)
至一VB,PowerBuild(基于C++),VF都不能算是通用語(yǔ)言,沒(méi)辦法比較
還有這些都只是工具,就象刀和劍一樣,同樣的刀和同樣的劍再不同的人手中有不同的威力 本文發(fā)布于北京網(wǎng)站制作公司尚品中國(guó)http://m.yangsheng234.com/
建站流程
-
網(wǎng)站需求
-
網(wǎng)站策劃方案
-
頁(yè)面設(shè)計(jì)風(fēng)格
-
確認(rèn)交付使用
-
資料錄入優(yōu)化
-
程序設(shè)計(jì)開發(fā)
-
后續(xù)跟蹤服務(wù)
-
聯(lián)系電話
010-60259772
熱門標(biāo)簽
- 網(wǎng)站建設(shè)
- 食品網(wǎng)站建設(shè)
- 微信小程序開發(fā)
- 小程序開發(fā)
- 無(wú)錫網(wǎng)站建設(shè)
- 研究所網(wǎng)站建設(shè)
- 沈陽(yáng)網(wǎng)站建設(shè)
- 廊坊網(wǎng)站建設(shè)
- 鄭州網(wǎng)站建設(shè)
- 婚紗攝影網(wǎng)站建設(shè)
- 手機(jī)端網(wǎng)站建設(shè)
- 高校網(wǎng)站制作
- 天津網(wǎng)站建設(shè)
- 教育網(wǎng)站建設(shè)
- 品牌網(wǎng)站建設(shè)
- 政府網(wǎng)站建設(shè)
- 北京網(wǎng)站建設(shè)
- 網(wǎng)站設(shè)計(jì)
- 網(wǎng)站制作
最新文章
推薦新聞
更多行業(yè)-
百度判斷用戶體驗(yàn)原理
很多人都想做快速排名,真的可以嗎?今天北京網(wǎng)站制作公司尚品中國(guó)就說(shuō)一下...
2015-11-25 -
醫(yī)療器械網(wǎng)站建設(shè)注意事項(xiàng)盤點(diǎn)
在進(jìn)行網(wǎng)站建設(shè)時(shí),不同的網(wǎng)站建設(shè)注意事項(xiàng)會(huì)存在一定的差異,那么如果選擇...
2022-09-05 -
集團(tuán)網(wǎng)站建設(shè)需求
集團(tuán)網(wǎng)站建設(shè)是一個(gè)重要的項(xiàng)目,需要仔細(xì)規(guī)劃和明確定義需求,以確保最終的...
2023-09-07 -
H5網(wǎng)站好不好?看看H5網(wǎng)站有哪些特點(diǎn)
H5網(wǎng)站,我相信我們平時(shí)一定聽說(shuō)過(guò)。H5是HTML5的縮寫,這意味著一...
2020-05-25 -
企業(yè)網(wǎng)站設(shè)計(jì)與開發(fā)的標(biāo)準(zhǔn)與策略
企業(yè)網(wǎng)站是與客戶溝通的重要橋梁。有效的網(wǎng)站設(shè)計(jì)不僅能提升品牌形象,還能...
2024-10-28 -
網(wǎng)站的設(shè)立方式
Internet正在改變世界,它促成了網(wǎng)絡(luò)經(jīng)濟(jì)雛形的形成,Intern...
2014-10-14
預(yù)約專業(yè)咨詢顧問(wèn)溝通!
免責(zé)聲明
非常感謝您訪問(wèn)我們的網(wǎng)站。在您使用本網(wǎng)站之前,請(qǐng)您仔細(xì)閱讀本聲明的所有條款。
1、本站部分內(nèi)容來(lái)源自網(wǎng)絡(luò),涉及到的部分文章和圖片版權(quán)屬于原作者,本站轉(zhuǎn)載僅供大家學(xué)習(xí)和交流,切勿用于任何商業(yè)活動(dòng)。
2、本站不承擔(dān)用戶因使用這些資源對(duì)自己和他人造成任何形式的損失或傷害。
3、本聲明未涉及的問(wèn)題參見國(guó)家有關(guān)法律法規(guī),當(dāng)本聲明與國(guó)家法律法規(guī)沖突時(shí),以國(guó)家法律法規(guī)為準(zhǔn)。
4、如果侵害了您的合法權(quán)益,請(qǐng)您及時(shí)與我們,我們會(huì)在第一時(shí)間刪除相關(guān)內(nèi)容!
聯(lián)系方式:010-60259772
電子郵件:394588593@qq.com