三種程序設(shè)計語言概要

引言

畢竟西郵編程氣氛濃厚遣鼓,加上大神學(xué)長學(xué)姐的支持和學(xué)弟學(xué)妹對編程的興趣,上一篇簡書文章《淺談C語言歷史》的分享效果還可以摊阀,自己在校內(nèi)建立的編程討論群短短幾天就有了兩百多的成員童芹,并開始以內(nèi)部推薦的形式邀請新成員一同加入學(xué)習(xí)編程的氛圍恶座。好的分享內(nèi)容才能引發(fā)持續(xù)交流,這一期蚂四,我們來簡單了解下三種程序設(shè)計語言 -- 機(jī)器語言光戈、匯編語言和高級語言的區(qū)別與聯(lián)系,做好充足的準(zhǔn)備迎接編程成長之路证杭。

語言只是工具田度,不要過早的去想著如何編寫代碼。
要讓自己的第一個 “Hello World” 敲得振振有力解愤。

第一臺通用計算機(jī) -- ENIAC

由于第二次世界大戰(zhàn)的需要镇饺,歷經(jīng)4年的科研與實(shí)踐,世界上第一臺通用計算機(jī)送讲、第二臺電子計算機(jī) ENIAC(Electronic Numerical Integrator And Calculator)于 1946 年 2 月 14 日在美國賓夕法尼亞大學(xué)宣告誕生奸笤,標(biāo)志著計算機(jī)時代的到來。

世界上第一臺通用計算機(jī) ENIAC

ENIAC 是基于真空管技術(shù)研發(fā)的第一代計算機(jī)哼鬓,無操作系統(tǒng)监右,采用機(jī)器指令或匯編語言編程,下圖便是編程語言的層次結(jié)構(gòu)异希,具體概念將一一道來健盒。

編程語言的層次結(jié)構(gòu)

機(jī)器語言

機(jī)器語言(機(jī)器碼)是用二進(jìn)制代碼(只包含“0”和“1”的代碼)表示的、計算機(jī)能直接識別和執(zhí)行的一種機(jī)器指令的集合。最早的計算機(jī)直接靠機(jī)器語言運(yùn)行扣癣,輸入方法是靠打孔帶(一個條帶上面有實(shí)心空心的小點(diǎn)惰帽,對應(yīng)1和0)。后來出現(xiàn)了磁帶父虑,但指令輸入的本質(zhì)沒有改變该酗。
通俗來講,那時需要靠科研人員給計算機(jī)一段對應(yīng) 0 和 1 的打孔帶士嚎,計算機(jī)才能執(zhí)行相應(yīng)的操作并返回預(yù)期的結(jié)果呜魄。

用機(jī)器語言與計算機(jī)溝通

這些包含 “0”、“1” 的二進(jìn)制機(jī)器碼具有靈活莱衩、直接執(zhí)行和速度快的特點(diǎn)爵嗅,可以根據(jù)計算機(jī)設(shè)計者的實(shí)際需要直接操作計算機(jī)的硬件結(jié)構(gòu)。但由于機(jī)器語言與硬件構(gòu)造密切相關(guān)膳殷,每個計算機(jī)的硬件也不盡相同操骡,因此不同型號的計算機(jī)其機(jī)器語言是不相通的,按照一種計算機(jī)的機(jī)器指令編制的程序赚窃,不能在另一種計算機(jī)上執(zhí)行册招。

一個機(jī)器語言源碼示例

二進(jìn)制的機(jī)器語言也是有規(guī)則的,每一串相應(yīng)的01映射著一條特定的指令勒极。

機(jī)器語言的簡要實(shí)例

計算機(jī)發(fā)展至今是掰,除了計算機(jī)生產(chǎn)廠家的專業(yè)人員外,絕大多數(shù)的程序員已經(jīng)不用再去學(xué)習(xí)機(jī)器語言了辱匿。

匯編語言

匯編語言(符號語言)是將二進(jìn)制的機(jī)器碼通過助記符的方式讓人可以更方便地編寫并檢查的低級語言键痛。匯編語言接近機(jī)器語言,可以看做是機(jī)器語言的另一種形式匾七,計算機(jī)在運(yùn)行時也需要將匯編語言變?yōu)闄C(jī)器語言的二進(jìn)制形式才可運(yùn)行絮短,這兩種語言都是面向機(jī)器的語言,和具體機(jī)器的指令系統(tǒng)密切相關(guān)昨忆。

一個匯編語言源碼示例

匯編語言的特點(diǎn):

  1. 面向機(jī)器的低級語言丁频,通常是為特定的計算機(jī)或系列計算機(jī)專門設(shè)計的。
  2. 保持了機(jī)器語言的優(yōu)點(diǎn)邑贴,具有直接和簡捷的特點(diǎn)席里。
  3. 可有效地訪問、控制計算機(jī)的各種硬件設(shè)備拢驾,如磁盤奖磁、存儲器、CPU繁疤、I/O端口等咖为。
  4. 目標(biāo)代碼簡短秕狰,占用內(nèi)存少,執(zhí)行速度快躁染,是高效的程序設(shè)計語言封恰。
  5. 經(jīng)常與高級語言配合使用,應(yīng)用十分廣泛褐啡。

匯編語言在編程發(fā)展史中承前啟后,它第一次擺脫了機(jī)器語言的束縛鳖昌,進(jìn)入到以接近人類語言為發(fā)展目標(biāo)的時代备畦。

高級語言

高級語言是相對于匯編語言而言的,它是較接近自然語言和數(shù)學(xué)公式的編程许昨,基本脫離了機(jī)器的硬件系統(tǒng)懂盐,用人們更易理解的方式編寫程序,但機(jī)器是無法直接執(zhí)行的糕档,需要最終編譯鏈接成二進(jìn)制的機(jī)器代碼才可被計算機(jī)直接執(zhí)行莉恼。

高級語言并不特指某一種具體編程語言,而是包括很多編程語言在內(nèi)速那。如目前流行的 JAVA 俐银、 C 、 C++ 端仰、 C# 捶惜、 Pascal 、 Python 荔烧、 PHP 吱七、VC 語言等等,這些語言的語法鹤竭、命令格式不盡相同踊餐。

一個簡單的高級語言程序 -- C語言

因此將程序設(shè)計語言從機(jī)器語言抽象到高級語言,帶來的主要好處是:

  • 高級語言接近算法語言臀稚,易學(xué)吝岭、易掌握,一般工程技術(shù)人員只要幾周時間的培訓(xùn)就可以勝任程序員的工作烁涌;
  • 高級語言為程序員提供了結(jié)構(gòu)化程序設(shè)計的環(huán)境和工具苍碟,使得設(shè)計出來的程序可讀性好,可維護(hù)性強(qiáng)撮执,可靠性高微峰;
  • 高級語言遠(yuǎn)離機(jī)器語言,與具體的計算機(jī)硬件關(guān)系不大抒钱,因而所寫出來的程序可移植性好蜓肆,重用率高颜凯;
  • 由于把繁雜瑣碎的事務(wù)交給了編譯程序去做,所以自動化程度高仗扬,開發(fā)周期短症概,且程序員得到解脫,可以集中時間和精力去從事對于他們來說更為重要的創(chuàng)造性勞動早芭,以提高程序的質(zhì)量彼城。

編譯型語言和解釋型語言

高級語言又分編譯型語言(C、C++等)和解釋型語言(JAVA退个、JavaScript募壕、PHP等),雖然最終都需要編譯成機(jī)器語言才能被計算機(jī)識別和執(zhí)行但是——

  • 編譯型語言需要將源碼一并地轉(zhuǎn)換成機(jī)器語言的程序之后再執(zhí)行语盈,針對不同計算機(jī)結(jié)構(gòu)編譯后的機(jī)器語言無法跨平臺運(yùn)行舱馅;
  • 解釋型語言是在運(yùn)行的時候?qū)⒊绦蛳染幾g成字節(jié)碼(可以理解為一個中間語言),再在運(yùn)行的時候由運(yùn)載解釋型語言的環(huán)境將字節(jié)碼翻譯成機(jī)器語言刀荒。但這個過程中可以依靠運(yùn)載環(huán)境根據(jù)不同的計算機(jī)硬件結(jié)構(gòu)生成相應(yīng)的機(jī)器語言代嗤,從而具有跨平臺的特性。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末屠阻,一起剝皮案震驚了整個濱河市红省,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌国觉,老刑警劉巖吧恃,帶你破解...
    沈念sama閱讀 210,914評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異麻诀,居然都是意外死亡痕寓,警方通過查閱死者的電腦和手機(jī)傲醉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評論 2 383
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來呻率,“玉大人硬毕,你說我怎么就攤上這事±裾蹋” “怎么了吐咳?”我有些...
    開封第一講書人閱讀 156,531評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長元践。 經(jīng)常有香客問我挪丢,道長,這世上最難降的妖魔是什么卢厂? 我笑而不...
    開封第一講書人閱讀 56,309評論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮惠啄,結(jié)果婚禮上慎恒,老公的妹妹穿的比我還像新娘。我一直安慰自己撵渡,他們只是感情好融柬,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,381評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著趋距,像睡著了一般粒氧。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上节腐,一...
    開封第一講書人閱讀 49,730評論 1 289
  • 那天外盯,我揣著相機(jī)與錄音,去河邊找鬼翼雀。 笑死饱苟,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的狼渊。 我是一名探鬼主播箱熬,決...
    沈念sama閱讀 38,882評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼狈邑!你這毒婦竟也來了城须?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,643評論 0 266
  • 序言:老撾萬榮一對情侶失蹤米苹,失蹤者是張志新(化名)和其女友劉穎糕伐,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蘸嘶,經(jīng)...
    沈念sama閱讀 44,095評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡赤炒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,448評論 2 325
  • 正文 我和宋清朗相戀三年氯析,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片莺褒。...
    茶點(diǎn)故事閱讀 38,566評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡掩缓,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出遵岩,到底是詐尸還是另有隱情你辣,我是刑警寧澤,帶...
    沈念sama閱讀 34,253評論 4 328
  • 正文 年R本政府宣布尘执,位于F島的核電站舍哄,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏誊锭。R本人自食惡果不足惜表悬,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,829評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望丧靡。 院中可真熱鬧蟆沫,春花似錦、人聲如沸温治。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽熬荆。三九已至舟山,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間卤恳,已是汗流浹背累盗。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留突琳,地道東北人幅骄。 一個月前我還...
    沈念sama閱讀 46,248評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像本今,于是被迫代替她去往敵國和親拆座。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,440評論 2 348

推薦閱讀更多精彩內(nèi)容