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