編程語言的種類與介紹
編程語言總體分以為機(jī)器語言、匯編語言、高級語言,如下
10年積累的成都網(wǎng)站設(shè)計、做網(wǎng)站經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先建設(shè)網(wǎng)站后付款的網(wǎng)站建設(shè)流程,更有銀川免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
機(jī)器語言
由于計算機(jī)內(nèi)部只能接受二進(jìn)制代碼,因此,用二進(jìn)制代碼0和1描述的指令稱為機(jī)器指令,全部機(jī)器指令的集合構(gòu)成計算機(jī)的機(jī)器語言,用機(jī)器語言編程的程序稱為目標(biāo)程序。只有目標(biāo)程序才能被計算機(jī)直接識別和執(zhí)行。但是機(jī)器語言編寫的程序無明顯特征,難以記憶,不便閱讀和書寫,且依賴于具體機(jī)種,局限性很大,機(jī)器語言屬于低級語言。
用機(jī)器語言編寫程序,編程人員要首先熟記所用計算機(jī)的全部指令代碼和代碼的涵義。手編程序時,程序員得自己處理每條指令和每一數(shù)據(jù)的存儲分配和輸入輸出,還得記住編程過程中每步所使用的工作單元處在何種狀態(tài)。這是一件十分繁瑣的工作。編寫程序花費的時間往往是實際運行時間的幾十倍或幾百倍。而且,編出的程序全是些0和1的指令代碼,直觀性差,還容易出錯。除了計算機(jī)生產(chǎn)廠家的專業(yè)人員外,絕大多數(shù)的程序員已經(jīng)不再去學(xué)習(xí)機(jī)器語言了。
機(jī)器語言是微處理器理解和使用的,用于控制它的操作二進(jìn)制代碼。
盡管機(jī)器語言好像是很復(fù)雜的,然而它是有規(guī)律的。
存在著多至100000種機(jī)器語言的指令。這意味著不能把這些種類全部列出來。
以下是一些示例:
指令部份的示例
0000 代表 加載(LOAD)
0001 代表 存儲(STORE)
...
匯編語言
匯編語言的實質(zhì)和機(jī)器語言是相同的,都是直接對硬件操作,只不過指令采用了英文縮寫的標(biāo)識符,更容易識別和記憶。它同樣需要編程者將每一步具體的操作用命令的形式寫出來。匯編程序的每一句指令只能對應(yīng)實際操作過程中的一個很細(xì)微的動作。例如移動、自增,因此匯編源程序一般比較冗長、復(fù)雜、容易出錯,而且使用匯編語言編程需要有更多的計算機(jī)專業(yè)知識,但匯編語言的優(yōu)點也是顯而易見的,用匯編語言所能完成的操作不是一般高級語言所能夠?qū)崿F(xiàn)的,而且源程序經(jīng)匯編生成的可執(zhí)行文件不僅比較小,而且執(zhí)行速度很快。
示例:匯編語言打印hello world
; hello.asm
section .data ; 數(shù)據(jù)段聲明
msg db "Hello, world!", 0xA ; 要輸出的字符串
len equ $ - msg ; 字串長度
section .text ; 代碼段聲明
global _start ; 指定入口函數(shù)
_start: ; 在屏幕上顯示一個字符串
mov edx, len ; 參數(shù)三:字符串長度
mov ecx, msg ; 參數(shù)二:要顯示的字符串
mov ebx, 1 ; 參數(shù)一:文件描述符(stdout)
mov eax, 4 ; 系統(tǒng)調(diào)用號(sys_write)
int 0x80 ; 調(diào)用內(nèi)核功能
; 退出程序
mov ebx, 0 ; 參數(shù)一:退出代碼
mov eax, 1 ; 系統(tǒng)調(diào)用號(sys_exit)
int 0x80 ; 調(diào)用內(nèi)核功能
高級語言
高級語言是大多數(shù)編程者的選擇。和匯編語言相比,它不但將許多相關(guān)的機(jī)器指令合成為單條指令,并且去掉了與具體操作有關(guān)但與完成工作無關(guān)的細(xì)節(jié),例如使用堆棧、寄存器等,這樣就大大簡化了程序中的指令。同時,由于省略了很多細(xì)節(jié),編程者也就不需要有太多的專業(yè)知識。
高級語言主要是相對于匯編語言而言,它并不是特指某一種具體的語言,而是包括了很多編程語言,像最簡單的編程語言PASCAL語言也屬于高級語言。
高級語言所編制的程序不能直接被計算機(jī)識別,必須經(jīng)過轉(zhuǎn)換才能被執(zhí)行,按轉(zhuǎn)換方式可將它們分為兩類:
編譯類:編譯是指在應(yīng)用源程序執(zhí)行之前,就將程序源代碼“翻譯”成目標(biāo)代碼(機(jī)器語言),因此其目標(biāo)程序可以脫離其語言環(huán)境獨立執(zhí)行(編譯后生成的可執(zhí)行文件,是cpu可以理解的2進(jìn)制的機(jī)器碼組成的),使用比較方便、效率較高。但應(yīng)用程序一旦需要修改,必須先修改源代碼,再重新編譯生成新的目標(biāo)文件(* .obj,也就是OBJ文件)才能執(zhí)行,只有目標(biāo)文件而沒有源代碼,修改很不方便。類似于翻譯官。
編譯后程序運行時不需要重新翻譯,直接使用編譯的結(jié)果就行了。程序執(zhí)行效率高,依賴編譯器,跨平臺性差些。如C、C++、Delphi等
解釋類:執(zhí)行方式類似于我們?nèi)粘I钪械摹巴暦g”,應(yīng)用程序源代碼一邊由相應(yīng)語言的解釋器“翻譯”成目標(biāo)代碼(機(jī)器語言),一邊執(zhí)行,因此效率比較低,而且不能生成可獨立執(zhí)行的可執(zhí)行文件,應(yīng)用程序不能脫離其解釋器(想運行,必須先裝上解釋器,就像跟老外說話,必須有翻譯在場),但這種方式比較靈活,可以動態(tài)地調(diào)整、修改應(yīng)用程序。如Python、Java、PHP、Ruby等語言。
總結(jié):
機(jī)器語言:優(yōu)點是最底層,速度最快,缺點是最復(fù)雜,開發(fā)效率最低
匯編語言:優(yōu)點是比較底層,速度最快,缺點是復(fù)雜,開發(fā)效率最低
高級語言:編譯型語言執(zhí)行速度快,不依賴語言環(huán)境運行,跨平臺差
編譯型語言執(zhí)行速度快,不依賴語言環(huán)境運行,跨平臺差
解釋型跨平臺好,一份代碼,到處使用,缺點是執(zhí)行速度慢,依賴解釋器運行
二、python的介紹
python的創(chuàng)始人為吉多·范羅蘇姆(Guido van Rossum)。1989年的圣誕節(jié)期間,Guido開始寫Python語言的編譯器。Python這個名字,來自Guido所摯愛的電視劇Monty Python’s Flying Circus。他希望這個新的叫做Python的語言,能符合他的理想:創(chuàng)造一種C和shell之間,功能全面,易學(xué)易用,可拓展的語言。
目前Python主要應(yīng)用領(lǐng)域:
WEB開發(fā)
網(wǎng)絡(luò)編程
爬蟲
云計算
人工智能
自動化運維
金融分析
科學(xué)運算
游戲開發(fā)
本文題目:編程語言的介紹
本文來源:http://www.rwnh.cn/article46/gpoehg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動網(wǎng)站建設(shè)、網(wǎng)站策劃、標(biāo)簽優(yōu)化、網(wǎng)站建設(shè)、服務(wù)器托管、微信小程序
聲明:本網(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)