java(計算機語言發展歷史)

計算機語言若是你將它當作一個產品,就像咱們平時用的電視機、剃鬚刀、電腦、手機等, 他的發展也是有規律的。java

任何一個產品的發展規律都是:向着人更加容易使用、功能愈來愈強大的方向發展。c++

那麼,咱們的計算機語言的發展也是這樣,向着人更加容易使用,即更加容易寫代碼、更加容易實現現實邏輯的方向發展。套用奧林匹克的口號「更高、更快、更強」。那麼計算機發展的主線能夠總結爲四個字:「更易、更強」。程序員

這個」更易、更強」的主線,也適用於任何的產品。若是,讀者朋友之後要開公司創造本身的產品或者服務(服務也是一種產品)。你的產品是否符合」更易、更強」這個規律,也決定了產品可否取得成功,可否擊敗現有市場上同類型的產品!固然,也直接決定了你可否發財,可否養得起老婆孩子啦!編程

計算機語言通常意義上劃分爲:c#

第一代語言:機器語言

 咱們都知道計算機的基本計算方式都是基於二進制的方式。以下就是一段典型的機器語言代碼:windows

  這種代碼是直接輸入給計算機使用的,不通過任何的轉換!固然,在計算機剛發明的時候,計算機也是稀罕物,人卻有不少。物以稀爲貴嘛,人就只能遷就計算機,採用了這樣一種計算機能夠直接識別的代碼。固然,這種代碼計算機很是受用,不須要作任何轉換,直接執行,太爽了!編程語言

但是,人就不爽了!這樣的代碼,又有幾我的能寫,又有幾我的能讀懂!若是用來解決最簡單的計算問題,湊合着用,沒問題。若是要解決複雜問題,須要寫幾千行、幾萬行這樣的代碼,估計誰寫誰瘋。若是如今咱們仍然使用第一代語言,我相信全部程序員最終只能將精神病院做爲最後的歸宿了。性能

第二代語言:彙編語言

 爲了解決機器語言沒法讀懂的問題。很天然,咱們就想到能不能使用人能夠讀懂的單詞來代替一些二進制指令和數據,方便咱們人去讀、編寫代碼。因而,彙編語言誕生了。他使用了大量的助記符來代替二進制指令,方便咱們人去編寫代碼。以下是一段典型的彙編語言代碼:學習

顯然,這樣的代碼,要比起機器語言來,對於咱們程序員來講,爽了不少,至少不須要再去背誦那些難記的二進制指令了!因而,有了更好的武器,意味着咱們能夠解決更復雜的代碼,寫個幾百行、幾千行彙編語言代碼也成爲不那麼複雜的事情。動畫

【注】如今仍然有不少領域在使用匯編語言,好比:操做工業機器人、單片機編程、甚至某些計算機病毒的編寫等。

 

第三代語言

隨着晶體管、集成電路的出現,計算機的功耗愈來愈小、速度愈來愈快,計算機很快深刻到了各行各業。有個很著名的定律叫作摩爾定律,他深入的展現了計算機發展的規律:

「當價格不變時,集成電路上可容納的晶體管數目,約每隔18個月便會增長一倍,性能也將提高一倍。換言之,每一美圓所能買到的電腦性能,將每隔18個月翻兩倍以上」 

         英特爾公司創始人---戈登·摩爾

摩爾定律在咱們身邊有着實實在在的體驗,咱們如今手邊用的電腦、手機比起十年前強大的不少倍,可是價格實際上確愈來愈低!十年前,北京房價是3000一平的地方,如今漲到了4萬,漲了十多倍。十年前,一個筆記本須要兩萬人民幣,如今只須要幾千元,可是性能確更好。咱們多麼但願,房價也能遵循摩爾定律啊!

這樣,隨着計算機深刻更多的企業、單位、甚至更人。咱們很天然的就但願使用計算機解決咱們身邊的問題。這種需求愈來愈明確,愈來愈複雜。彙編語言在體系結構設計上的缺陷,根本沒法勝任解決複雜問題。使用匯編語言寫幾萬行代碼,幾十萬行代碼,那真的能夠稱之爲」噩夢」.

因而,各類各樣,結構化設計更加優良的第三代語言誕生了。例如:C語言、Fortran、cobol、pascal、ada、c++、java、c#。

第三代語言數量衆多,大致上分爲:面向過程和麪向對象兩大類。C語言是典型的面向過程的語言。C++、JAVA是典型的面向對象的語言。

你們在學習過程當中,不要有這樣的誤解。學了面向過程會對學習面向對象有很差的影響,影響思惟。那純屬扯淡,只能說明你面向過程根本沒入門! 事實上,面向過程和麪向對象是相輔相成的。 在面向對象編程中,也離不開面向過程。關於,面向過程和麪向對象的區別,咱們將在面向對象章節中詳細說明。

C語言

第三代語言中,C語言是最重要的!能夠稱之爲「現代語言的鼻祖」。其餘不少語言都跟C語言有千絲萬縷的聯繫!

C語言是一種計算機程序設計語言,它既具備高級語言的特色,又具備彙編語言的特色。它由美國貝爾研究所的D.M.Ritchie於1972年推出,1978年後,C語言已前後被移植到大、中、小及微型機上,它能夠做爲工做系統設計語言,編寫系統應用程序,也能夠做爲應用程序設計語言,編寫不依賴計算機硬件的應用程序。它的應用範圍普遍,具有很強的數據處理能力,不只僅是在軟件開發上,並且各種科研都須要用到C語言,適於編寫系統軟件,三維,二維圖形和動畫,具體應用好比單片機以及嵌入式系統開發

C++語言

顯然就是C語言的升級版,看名字咱們就知道了,就是C語言面向對象的版本!在C基礎上,一九八三年又由貝爾實驗室的Bjarne Strou-strup推出了C++。 C++進一步擴充和完善了C語言,成爲一種面向 對象的程序設計語言。

JAVA語言

SUN公司的JAVA也是以C/C++爲原型開發的,甚至有人將JAVA稱之爲「C++-」(C加加減).看名字就知道是將C++中某些不太好用的地方砍掉!

Object-C語言

如今IOS和Mac開發中的主流語言。 根據C語言所衍生出來的語言,繼承了C語言的特性,是擴充C的面向對象編程語言。它主要使用於Mac OS X和GNUstep這兩個使用OpenStep標準的系統,而在NeXTSTEP和OpenStep中它更是基本語言。 

C#語言

微軟發明的一種但願替代JAVA的語言。蓋茨曾經很是承認JAVA,,「JAVA是我見過最好的語言」,所以,微軟跟JAVA曾經有一段蜜月期,合做很是好。可是後來因爲版權糾紛,鬧掰了。蓋茨一怒之下,就要搞一個比JAVA更好的語言。所以,咱們在C#中能夠看到大量的JAVA中有的特性,很是明顯的」山寨」,固然也能夠稱爲」微創新」。創新都是源自」山寨」。可是,微軟山寨了JAVA的細節,可是沒有學到JAVA的精華,即跨平臺。固然,這跟微軟自己的公司特性有關,微軟名字叫作:Microsoft,可是咱們知道他的核心產品是windows,因此他但願將他全部的產品都跟windows綁定再一塊兒,這樣C#就失去了JAVA的跨平臺的優點。

 

附:貝爾實驗室(IT行業的聖地)

    晶體管激光器太陽能電池、發光二極管、數字交換機通訊衛星、電子數字計算機、蜂窩移動通訊設備、長途電視傳送、仿真語言、有聲電影立體聲錄音,以及通訊網、C語言、C++語言等許多重大發明的誕生地。 

詳情請參考百度百科:http://baike.baidu.com/view/37115.htm 

附:歷史上最古老的IT公司IBM

    IBM(International Business Machines Corporation),國際商業機器公司,或萬國商業機器公司的簡稱。總公司在紐約州阿蒙克市,1911年創立於美國,是全球最大的信息技術和業務解決方案公司。

 

 詳情請參考百度百科:http://baike.baidu.com/view/1937.htm 

附:微軟的前景堪憂

        微軟的核心產品是windows. 微軟的成長基本上跟我的電腦PC的普及和發展是同步的。可是,隨着手機、平板電腦的發展,咱們發現我的電腦的地位明顯的在降低,這也意味着 windows的地位在顯著的降低。「成也PC,敗也PC」. 若是,微軟不在手機和平板電腦上發力,將不可避免的淪爲」第二個諾基亞」。

---尚學堂老高扯淡預言

附:山寨和創新

        任何一種創新都不是憑空天上來的, 都是基於之前的舊事物發展的。都是一種」山寨」. 咱們看到計算機語言的創新史其實就是一部山寨史。固然,若是把別人的跌出拿來只換個名字那叫耍流氓、不要臉,是真的」山寨」。 若是把別人的東西拿來進行改進,作的更好,那才就叫」創新」。

---尚學堂老高扯淡語錄 

附:到底應該學哪門語言

       不少童鞋會有疑問,到底應該學什麼語言呢? 糾結了很長時間,仍然沒有下手。個人說法是,JUST DO IT!  學了再說。 其實,天下文章一大抄,語言之間當然有差別,可是隱藏在語言背後的編程思惟方式沒有差異。若是你精通了一門語言再去學其餘語言,很快就能夠上手。

糾結是個壞毛病。小時候,總是糾結於之後作愛因斯坦呢仍是蓋茨呢?糾結了不少年。長大了,才發現真的是想太多了!

相關文章
相關標籤/搜索