小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

小話計(jì)算機(jī)編程語言及其用武之地(拼湊之作,歡迎大家拍磚)

 聯(lián)合參謀學(xué)院 2015-09-21

       計(jì)算機(jī)編程語言分類及各自用武之地

       最近,見大家都在看C++,卻很少人知道C++能干嗎,覺得學(xué)了沒意思,因?yàn)橹皇强葱┱Z法知識自然沒意思,如果做出東西來,看著自己的成果,想必也會提高自己興趣的。

      針對學(xué)習(xí)編程語言的迷茫,從而引出一個(gè)問題,各種編程語言都是干什么用的?學(xué)了基本的語法,程序的流程,面向?qū)ο蟮乃枷耄芨牲c(diǎn)啥?

      對于ICT行業(yè)的的大學(xué)生來說,能夠詳細(xì)的區(qū)別編程語言的用途及使用方法,對以后的選擇性學(xué)習(xí)以及就業(yè)方向來說是非常必要的。就此,本人就幾種常用語言的簡單分析一下。

      先說一下計(jì)算機(jī)語言的分類(大家都知道,一筆帶過):

       1、機(jī)器語言。

       2、匯編語言。

       3、高級語言。

       前兩天看臺灣蔡學(xué)鏞先生著的《Java程序員的心聲:爪哇夜未眠》,他把程序語言大致分為五類,還是不錯(cuò)的:

       1、web page script languages

       用來做網(wǎng)頁的語言,就是網(wǎng)頁代碼,比如html、javascript、css、asp、php、xml都應(yīng)該屬于此類,但html算不上編程語言。Javascript和Java沒有半毛錢關(guān)系,是兩門單獨(dú)的語言,在Web2.0時(shí)代,打造富客戶端的絢麗效果,Javascript語言還是很值得學(xué)習(xí)的,新出的HTML5其實(shí)就是Javascript。我比較看好Javascript,應(yīng)該算是值得學(xué)習(xí)的一門語言。

       2、interpreted  languages(解釋型語言)

       包括perl、python、rebol、ruby等,也常被稱作script語言,通常被用于和底下的操作系統(tǒng)溝通。照蔡學(xué)鏞先生的意思,每個(gè)人至少應(yīng)該學(xué)會一套這類的語言。這類語言的缺點(diǎn)是效率差、源代碼外露——所以不適合用來開發(fā)軟件產(chǎn)品,一般用于網(wǎng)頁服務(wù)器。google公司用的比較多的是C++、Java和python。有時(shí)間我也要學(xué)學(xué)python或者ruby。     

       3、hybrid laguages(混合型語言)

  代表是java和c#。介于解釋型和編譯型之間。蔡認(rèn)為c#是.net平臺上最重要的語言,值得期待其后續(xù)發(fā)展;至于java,蔡叫你們看他的《sleepless in java》——我暈!

       4、compiling languages(編譯型語言)

     c/c++,Delphi都是編譯型語言。C++變得越來越龐大,大多數(shù)的C++程序員只用到(也只懂)C++功能的一小部分。C++很復(fù)雜,要成為C++高手沒三五年是不行的(就憑這句話,我決定向java投降),盡管如此,但真正要成為高手的都應(yīng)該懂C/C++,重要的API一般都有C++的版本,可見C++的重要性,怪不得大家說C++是真正程序員的語言。

      5、assembly languages(匯編語言)

      匯編語言是最接近于硬件的語言,不過用的很少。

  程序語言學(xué)習(xí)順序建議

  如果完全沒有程序經(jīng)驗(yàn),可照這個(gè)順序:javascript——解釋型語言——混合型語言——編譯型語言——匯編(如果需要的話)。

      用業(yè)界流行一句話做程序語言分類的結(jié)尾“真正的程序員用c++,聰明的程序員用delphi”,那么,什么樣的程序員用java呢?

      以下是Tiobe公布的最新的2011年9月編程語言排行榜TOP20:

       

       現(xiàn)在來按順序大致看一下各種語言的用武之地(我也好多不懂,有些是自己網(wǎng)上找的,大家將就看一下):

       1、Java:

Java是一種可以撰寫跨平臺應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計(jì)語言。Java最初是由James Gosling在Sun Microsystems(現(xiàn)在是Oracle旗下的子公司)開發(fā)的一種編程語言,并作為Sun Microsystems的Java平臺的核心組件于1995年發(fā)布。 這種語言的大部分語法源自于C和C++,但是它具有簡單的對象模型和更少的底層服務(wù)。Java源代碼經(jīng)過編譯之后生成類文件,這樣可以使它運(yùn)行在任何一個(gè)Java虛擬機(jī)上,而無需考慮計(jì)算機(jī)的架構(gòu)。

          Java 平臺有三個(gè)版本,這使軟件開發(fā)人員、服務(wù)提供商和設(shè)備生產(chǎn)商可以針對特定的市場進(jìn)行開發(fā):

Java SE(Java Platform,Standard Edition)。Java SE 以前稱為 J2SE。它允許開發(fā)和部署在桌面、服務(wù)器、嵌入式環(huán)境和實(shí)時(shí)環(huán)境中使用的Java 應(yīng)用程序。Java SE 包含了支持 Java Web 服務(wù)開發(fā)的類,并為 Java Platform,Enterprise Edition(Java EE)提供基礎(chǔ)。 Java EE(Java Platform,Enterprise Edition)。這個(gè)版本以前稱為 J2EE。企業(yè)版本幫助開發(fā)和部署可移植、健壯、可伸縮且安全的服務(wù)器端 Java 應(yīng)用程序。Java EE 是在 Java SE 的基礎(chǔ)上構(gòu)建的,它提供 Web 服務(wù)、組件模型、管理和通信 API,可以用來實(shí)現(xiàn)企業(yè)級的面向服務(wù)體系結(jié)構(gòu)(service-oriented architecture,SOA)和 Web 2.0 應(yīng)用程序。 一些電子商務(wù)網(wǎng)站就是基于此平臺。 Java ME(Java Platform,Micro Edition)。這個(gè)版本以前稱為 J2ME。Java ME 為在移動(dòng)設(shè)備和嵌入式設(shè)備(比如手機(jī)、PDA、電視機(jī)頂盒和打印機(jī))上運(yùn)行的應(yīng)用程序提供一個(gè)健壯且靈活的環(huán)境。Java ME 包括靈活的用戶界面、健壯的安全模型、許多內(nèi)置的網(wǎng)絡(luò)協(xié)議以及對可以動(dòng)態(tài)下載的連網(wǎng)和離線應(yīng)用程序的豐富支持。基于 Java ME 規(guī)范的應(yīng)用程序只需編寫一次,就可以用于許多設(shè)備,而且可以利用每個(gè)設(shè)備的本機(jī)功能?,F(xiàn)在很火的Android開發(fā),你懂的。 一入豪門深似海,偶現(xiàn)在就走上了Java EE這條不歸路。

        2、C:

        C語言,是一種通用的、過程式的編程語言,廣泛用于系統(tǒng)與應(yīng)用軟件的開發(fā)。具有高效、靈活、功能豐富、表達(dá)力強(qiáng)和較高的移植性等特點(diǎn),在程序員中備受青睞。

       C語言是由UNIX的研制者丹尼斯·里奇(Dennis Ritchie)和肯·湯普遜(Ken Thompson)于1970年研制出的B語言的基礎(chǔ)上發(fā)展和完善起來的。目前,C語言編譯器普遍存在于各種不同的操作系統(tǒng)中,例如UNIX、MS-DOS、Microsoft Windows及Linux等。C語言的設(shè)計(jì)影響了許多后來的編程語言,例如C++、Objective-C、Java、C#等。

       前段時(shí)間在老板公司實(shí)習(xí),一個(gè)項(xiàng)目經(jīng)理就是用C語言的高手,他以前在UT斯達(dá)康開發(fā)GSM核心網(wǎng)的。

       3、C++

       C++最初發(fā)布于1980年代中期,當(dāng)時(shí)面向?qū)ο笳Z言被認(rèn)為是解決軟件復(fù)雜性問題的銀彈。C++的面向?qū)ο筇匦钥聪嗳ナ蛊淙娉搅薈,支持者認(rèn)為C++將迅速把上一代語言擠到陳列館里去。

      但是歷史并非如此。究其原因,至少有一部分歸咎于C++本身。為了與C兼容,C++被迫作出了很多重大的設(shè)計(jì)妥協(xié),結(jié)果導(dǎo)致語言過分華麗,過分復(fù)雜。為了與C兼容,C++并沒有采用自動(dòng)內(nèi)存管理的策略,從而喪失了修正C最嚴(yán)重問題的機(jī)會。

      另外一部分原因,恐怕要算到面向?qū)ο笊砩稀?雌饋鞳O并沒有很好的達(dá)成人們當(dāng)年的預(yù)期。我就這個(gè)問題調(diào)研過,我發(fā)現(xiàn)使用OO方法導(dǎo)致組件之間出現(xiàn)很 厚的粘合層,并且?guī)砹藝?yán)重的可維護(hù)性問題。今天讓我們來看看開放源碼社區(qū),你會發(fā)現(xiàn)C++的應(yīng)用還是集中在GUI,游戲和多媒體工具包這些方面,在其他 地方很少用到。要知道,面向?qū)ο笠仓皇窃谶@些領(lǐng)域被證明非常成功,而開放源碼社區(qū)的選擇,很大程度上體現(xiàn)了程序員的自由意志,而不是公司管理層的胡亂指揮。

     也許C++實(shí)現(xiàn)OO的方法有問題。有證據(jù)表明C++程序在整個(gè)生命周期的開銷高于相應(yīng)的C, Fortran和Ada程序。不過,究竟這是否應(yīng)該歸咎與C++的OO實(shí)現(xiàn)上,還不清楚。

     最近幾年,C++加入了很多非OO的思想,其異常思想類似Lisp,STL的出現(xiàn)是非常了不起的。

      其實(shí)C++最根本的問題在于,它基本上只不過是另一種傳統(tǒng)的語言。STL中的內(nèi)存管理比先前的new/delete和C的方案要好的多,但是還是沒有解決問題。對于很多應(yīng)用程序而言,其OO特性并不明顯,相比與C,除了增加復(fù)雜度之外沒有獲得很多好處。

      總結(jié):C++優(yōu)點(diǎn)在于作為編譯型語言,把效率與泛型和面向?qū)ο筇匦越Y(jié)合起來,其缺點(diǎn)在于過于華麗復(fù)雜,傾向于鼓勵(lì)程過分復(fù)雜的設(shè)計(jì)。

        C++是最流行的編程語言之一,它的應(yīng)用領(lǐng)域涵蓋了系統(tǒng)軟件、應(yīng)用軟件、驅(qū)動(dòng)程序、嵌入式軟件、高性能的服務(wù)器與客戶端應(yīng)用程序和諸如電視游戲等娛樂軟件。

      C++常用于操作系統(tǒng)和驅(qū)動(dòng)級別軟件開發(fā),圖像處理,3D游戲開發(fā)等;C++主要應(yīng)用于開發(fā)性能要求較高的系統(tǒng)級軟件,如操作系統(tǒng)、編譯器以及游戲軟件,如暗黑系列等等。

      前段時(shí)間研究的NS,無線網(wǎng)絡(luò)仿真,里面一些鏈路層、路由層協(xié)議的實(shí)現(xiàn)也大都用的是C++,看來還是躲不過啊。

      4、C#

      C#是微軟推出的一種基于.NET框架的、面向?qū)ο蟮母呒壘幊陶Z言。C#由C語言和C++派生而來,繼承了其強(qiáng)大的性能,同時(shí)又以.NET 框架類庫作為基礎(chǔ),擁有類似Visual Basic的快速開發(fā)能力。

      C#可以大范圍的適用于高層商業(yè)應(yīng)用和底層系統(tǒng)的開發(fā),即使是通過簡單的C#構(gòu)造也可以各種組件方便的轉(zhuǎn)變?yōu)榛赪EB的應(yīng)用,并且能夠通過Internet被各種系統(tǒng)或是其他開發(fā)語言所開發(fā)的應(yīng)用調(diào)用。

      C#也可以為C/C++開發(fā)人員提供快速的開發(fā)手段而不需要犧牲任何C/C++語言的特點(diǎn)/優(yōu)點(diǎn)。從繼承角度來看,C#在更高層次上重新實(shí)現(xiàn)了C/C++,熟悉C/C++開發(fā)的人員可以很快的轉(zhuǎn)變?yōu)镃#開發(fā)人員。

      5、 PHP

      PHP是基于預(yù)處理 HTML 頁面模型的一種腳本語言。它大量地借用C和Perl語言的語法, 并結(jié)合PHP自己的特性,使Web開發(fā)者能夠快速地寫出動(dòng)態(tài)產(chǎn)生頁面??梢杂糜诠芾韯?dòng)態(tài)內(nèi)容、支持?jǐn)?shù)據(jù)庫、處理會話跟蹤,甚至構(gòu)建整個(gè)電子商務(wù)站點(diǎn)。它支持許多流行的數(shù)據(jù)庫,包括 MySQL、PostgreSQL、Oracle、Sybase、Informix 和 Microsoft SQL Server。PHP本身就是為處理超文件html設(shè)計(jì)的,正是由于它是專為基于 Web 的問題而設(shè)計(jì)的,而且它是開源的導(dǎo)致可擴(kuò)展性大大增強(qiáng) ,所以運(yùn)用非常廣泛。

       相信大家很多人都聽說過LAMP。Linux+Apache+Mysql+Perl/PHP/Python,一組常用來搭建動(dòng)態(tài)網(wǎng)站或者服務(wù)器的開源軟件,本身都是各自獨(dú)立的程序,但是因?yàn)槌1环旁谝黄鹗褂茫瑩碛辛嗽絹碓礁叩募嫒荻?,共同組成了一個(gè)強(qiáng)大的Web應(yīng)用程序平臺。

        6、 Objective-C

       Objective-C是蘋果Mac OS X 上開發(fā)的首選語言,主要是因?yàn)镸ac  OS X 技術(shù)源自NextStep OpenStep操作系統(tǒng), 因?yàn)镺PENSTEP的軟件架構(gòu)(framework)   都是用Objetive-C  寫成,所以Mac OS X上的開發(fā)最佳語言自然也就是Objective-C 了。

       Objective-C是ANSI  C的超集,擴(kuò)展了C語言使它具備面向?qū)ο笤O(shè)計(jì)的能力,如類,消息和繼承。Objective-C  程序中可以利用現(xiàn)有的C語言代碼,使其利用現(xiàn)有的軟件架構(gòu)。這也是為甚莫Objective-C   過去多年間能夠成為一種流行的用戶界面開發(fā)語言而且至今沒有消亡,因?yàn)橐环矫嬗盟梢詫?shí)現(xiàn)底層系統(tǒng)編程,另一方面可以支持利用動(dòng)態(tài)架構(gòu)進(jìn)行開發(fā)。

       前段時(shí)間在公司實(shí)習(xí),有一研二的學(xué)長就精通此語言,獨(dú)自一人負(fù)責(zé)iphone終端上的應(yīng)用程序開發(fā),頗得老板賞識。

        7、VB

        VB是快速的界面生成語言,是快速的數(shù)據(jù)庫程序開發(fā)語言。vba是vb的應(yīng)用版,嵌入在MS office中。編寫MS office上的程序很好用。缺點(diǎn)是只能在Windows平臺運(yùn)作。

       8、 Python

       Python是一種腳本語言,可以與C緊密整合。它可以與動(dòng)態(tài)加載的C庫模塊交換數(shù)據(jù),也可以作為內(nèi)嵌腳本語言而從C中調(diào)用。其語法類似C和模塊化語言的雜合,不過有一個(gè)獨(dú)一無二的特征,就是以縮進(jìn)來確定語句塊。

Python語言非常干凈,設(shè)計(jì)優(yōu)雅,具有出色的模塊化特性。它提供了面向?qū)ο竽芰?,但不?qiáng)迫用戶進(jìn)行面向?qū)ο笤O(shè)計(jì)。其類型系統(tǒng)提供了強(qiáng)大的表達(dá)能力,類似Perl,具有匿名lambda表達(dá)式,這點(diǎn)又讓Lisp黑客們感到親切。Python依靠Tk提供方便的GUI界面開發(fā)能力。

        在所有的解釋型語言里,Python和Java最適合多名程序員以漸進(jìn)方式協(xié)同開發(fā)大型項(xiàng)目。在很多方面,Python比Java要簡單,它非常適合與構(gòu)造快速原型,這一點(diǎn)使得它對于Java有獨(dú)特優(yōu)勢:對于那些既不很復(fù)雜,又不要求高效率的程序,Python十分合適。

        Python的速度沒法跟C/C++相比,不過在今天的高速CPU上,合理地使用混合語言編程策略使得Python的上述弱點(diǎn)被有效地彌補(bǔ)。事實(shí)上,Python幾乎被認(rèn)為是主流腳本語言中最慢的一個(gè),因?yàn)樗峁┝藙?dòng)態(tài)多態(tài)性。在大量使用正則表達(dá)式的小型項(xiàng)目,它遜于Perl。對于微型項(xiàng)目而言, shell和Tcl可能更好,Python顯得太過強(qiáng)大了。

       總結(jié):Python最出色的地方在于,它鼓勵(lì)清晰易讀的代碼,特別適合以漸進(jìn)開發(fā)的方式構(gòu)造大項(xiàng)目。其缺陷在于效率不高,太慢,不但跟編譯語言相比慢,就是跟其他腳本語言相比也顯得慢。

       9、Perl

       Perl是原本為文本處理而開發(fā)的通用型編程語言,但是自2010年開始,它便廣泛的應(yīng)用于包括系統(tǒng)管理、網(wǎng)站開發(fā)、網(wǎng)絡(luò)編程、游戲、生物信息學(xué)和 GUI開發(fā)等領(lǐng)域。

      10、Javascript

      Javascript是一種基于對象和事件驅(qū)動(dòng)并具有相對安全性的客戶端腳本語言,廣泛應(yīng)用于客戶端web開發(fā)的腳本語言,常用來給HTML網(wǎng)頁添加動(dòng)態(tài)功能。

此前我在公司實(shí)習(xí)就主要弄這。有興趣的可以百度下Ajax,Javascript,Jquery,Json,node.js

      11、Ruby

      Ruby是一種動(dòng)態(tài)、反射、通用、面向?qū)ο蟮木幊陶Z言,結(jié)合了來源于Perl的語法。Ruby在90年代中期起源于日本,最初由松本行弘“Matz”設(shè)計(jì)并開發(fā)。

      12、 Delphi

      此處省略500字。

      13、 Lua

      百度一下“憤怒的小鳥”用什么語言開發(fā)的你就知道了。我的好友劉世洋童鞋研究過,大家可以向他請教。要此人QQ者,可以聯(lián)系我或直接聯(lián)系其本人,不過此人已心有所屬。

 

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多