計算機程式語言

計算機程式語言

計算機語言包括機器語言、彙編語言、高級語言。機器語言是用二進制代碼表示的計算機能直接識別和執行的一種機器指令的集合。它是計算機的設計者通過計算機的硬體結構賦予計算機的操作功能,比如彙編語言(assembly language)。機器語言具有靈活、直接執行和速度快等特點。高級語言比較容易識記和理解,像C B語言等。

基本介紹

  • 中文名:程式語言
  • 外文名:LANGUAGE
  • 機器語言二進制代碼
  • BASIC語言:初學者通用符號指令代碼
  • 開發工具PASCALCCOBOL
  • 特點:靈活、直接執行和速度快
語言分類,機器語言,彙編語言,高級語言,彙編語言,高級語言,語言匯總,語言發展,語言使用方向,

語言分類

機器語言

機器語言編寫程式,編程人員要首先熟記所用計算機的全部指令代碼和代碼的涵義。手編程式時,程式設計師得自己處理每條指令和每一數據的存儲分配和輸入輸出,還得記住編程過程中每步所使用的工作單元處在何種狀態。這是一件十分繁瑣的工作,編寫程式花費的時間往往是實際運行時間的幾十倍或幾百倍。而且,編出的程式全是些0和1的指令代碼。直觀性差,還容易出錯。除了計算機生產廠家的專業人員外,絕大多數程式設計師已經不再去學習機器語言了。

彙編語言

為了克服機器語言難讀、難編、難記和易出錯的缺點,人們就用與代碼指令實際含義相近的英文縮寫詞、字母和數字等符號來取代指令代碼(如用ADD表示運算符號“+”的機器代碼),於是就產生了彙編語言。所以說,彙編語言是一種用助記符表示的仍然面向機器的計算機語言。彙編語言亦稱符號語言。彙編語言由於是採用了助記符號來編寫程式,比用機器語言的二進制代碼編程要方便些,在一定程度上簡化了編程過程。彙編語言的特點是用符號代替了機器指令代碼。而且助記符與指令代碼一一對應,基本保留了機器語言的靈活性。使用彙編語言能面向機器並較好地發揮機器的特性,得到質量較高的程式。
計算機程式語言
彙編語言中由於使用了助記符號,用彙編語言編制的程式送入計算機,計算機不能象用機器語言編寫的程式一樣直接識別和執行,必須通過預先放入計算機的 “彙編程式“的加工和翻譯,才能變成能夠被計算機識別和處理的二進制代碼程式。用彙編語言等非機器語言書寫好的符號程式稱源程式,運行時彙編程式要將源程式翻譯成目標程式。目標程式是機器語言程式,它一經被安置在記憶體的預定位置上,就能被計算機的CPU處理和執行。
彙編語言像機器指令一樣,是硬體操作的控制信息,因而仍然是面向機器的語言,使用起來還是比較繁瑣費時,通用性也差。彙編語言是低級語言。但是,彙編語言用來編制系統軟體和過程控制軟體,其目標程式占用記憶體空間少,運行速度快,有著高級語言不可替代的用途。

高級語言

不論是機器語言還是彙編語言都是面向硬體的具體操作的,語言對機器的過分依賴,要求使用者必須對硬體結構及其工作原理都十分熟悉,這對非計算機專業人員是難以做到的,對於計算機的推廣套用是不利的。計算機事業的發展,促使人們去尋求一些與人類自然語言相接近且能為計算機所接受的語意確定、規則明確、自然直觀和通用易學的計算機語言。這種與自然語言相近並為計算機所接受和執行的計算機語言稱高級語言。高級語言是面向用戶的語言。無論何種機型的計算機,只要配備上相應的高級語言的編譯或解釋程式,則用該高級語言編寫的程式就可以通用。
如今被廣泛使用的高級語言有BASICPASCAL、C、COBOLFORTRAN、LOGO以及VC、VB等。這些語言都是屬於系統軟體
計算機並不能直接地接受和執行用高級語言編寫的源程式,源程式在輸入計算機時,通過“翻譯程式”翻譯成機器語言形式的目標程式,計算機才能識別和執行。這種“翻譯”通常有兩種方式,即編譯方式和解釋方式。編譯方式是:事先編好一個稱為編譯程式的機器語言程式,作為系統軟體存放在計算機內,當用戶由高級語言編寫的源程式輸入計算機後,編譯程式便把源程式整個地翻譯成用機器語言表示的與之等價的目標程式,然後計算機再執行該目標程式,以完成源程式要處理的運算並取得結果。解釋方式是:源程式進入計算機時,解釋程式邊掃描邊解釋作逐句輸入逐句翻譯,計算機一句句執行,並不產生目標程式。PASCAL、 FORTRAN、COBOL等高級語言執行編譯方式;BASIC語言則以執行解釋方式為主;而PASCAL、C語言是能書寫編譯程式的高級程式設計語言。每一種高級(程式設計)語言,都有自己人為規定的專用符號、英文單詞、語法規則和語句結構(書寫格式)。高級語言與自然語言(英語)更接近,而與硬體功能相分離(徹底脫離了具體的指令系統),便於廣大用戶掌握和使用。高級語言的通用性強,兼容性好,便於移植。

彙編語言

常見的彙編語言見下表:
彙編語言
OS/Plantform
開放原始碼
許可證
x86-64/指令集
A86/A386
Windows, DOS
專有軟體
DevelSoftware Assembler
Windows, Linux, Unix-like
免費軟體
FASM
Windows, DOS, Linux, Unix-like
BSD許可證
GAS
Unix-like, Windows, DOS
GNU通用公共許可證
GoAsm
Windows
免費軟體
HLA
Windows, Linux, FreeBSD, Mac OS X
公有領域
?
JWASM
Windows, DOS
Sybase 開放公共許可證 Watcom
LZASM
Windows, DOS
免費軟體
?
NASM
Windows, Linux, Mac OS X, DOS, OS/2
BSD許可證
POASM
Windows, Windows Mobile
免費軟體
TCCASM
Unix-like, Windows
LGPL
?
Yasm
Windows, DOS, Linux, Mac OS X, Unix-like
BSD
MASM
Windows, DOS
專有軟體
WASM
Windows, DOS, OS/2
Sybase Open Watcom Public License
TASM
Windows, DOS
專有軟體
PASMO
Numerous
GPL
Zilog Z80
MRS
ZX Spectrum, PMD-85
GPL
Zilog Z80,8080
MACRO-11
PDP-11
** unknown **
PDP-11
MAC/65
Atari 8-bit family
Proprietary
MOS Technology 6502
Lisa
Apple II series
Proprietary
MOS Technology 6502
ID3E
SC123 emulator
Free for academic use
SC123
HLASM
z/Architecture
Proprietary
z/Architecture
GPASM
many
GPL
Microchip PIC
COMPASS
CDC mainframe
Proprietary
CDC mainframe
Babbage
GEC 4000 series
Proprietary
GEC 4000 series
Atari Assembler Editor
Atari 8-bit family
Proprietary
MOS Technology 6502
ASM-One
Amiga
Open source
Motorola 680x0

高級語言

一級
二級
三級
高級語言
Basic類
有行號
BAISC、BASICA、GVBASIC、GW-BASIC、ETBASIC
無行號
QBASIC、Quick Basic、Turbo Basic、True Basic、Visual Basic、Visual Basic .Net、Power Basic、Small Basic、Free Basic、 DarkBASIC、VBScript、Visual Basic For Applications(VBA)、REALbasic
C類
C語言、C++、Turbo C++、Borland C++、C++ Builder - C++/CLI、Objective-C、C#、Microsoft Visual C++
Pascal/Delph類
Pascal、Delphi、Turbo Pascal、Object Pascal、Free Pascal、Lazarus
科學與統計計算
FORTRAN、MATLAB、Scilab、GNU Octave、R語言、S-Plus、Mathematica、Maple、Julia
資料庫程式語言
xBase(Clipper、Visual FoxPro)、SQL(PL/SQL、T-SQL、SQL/PSM)、LINQ、Xquery
腳本語言
基本
Lua、Perl、PHP、Python、Ruby、ASP、JSP、Tcl/Tk、VBScript、AppleScript、AAuto(基於Lua)
ECMAScript衍生語言
ActionScript、DMDScript、ECMAScript、JavaScript、JScript、TypeScript
Shell語言
sh、bash、sed、awk、PowerShell、csh、tcsh、ksh、zsh
標記語言
XML(SVG、XML Schema、XSLT、XHTML、MathML、XAML、SSML)、SGML、HTML、Curl
SVG)
XML Schema ·
XSLT ·
XHTML ·
MathML ·
XAML ·
SSML
Java虛擬機上的語言
Java、Jython、JRuby、JScheme、Groovy、Kawa、Scala、Clojure、Kotlin
其他語言
ALGOL、APL/J、Ada、Falcon、Forth、Io、MUMPS、PL/I、PostScript、REXX、SAC、Self、Simula、易語言、Swift、IronPython、IronRuby、COBOL
下面介紹幾種較有代表性的高級程式設計語言
⑴BASIC語言
BASIC語言全稱是Beginner’s all Purpose Symbolic Instruction Code,意為“初學者通用符號指令代碼“。1964年由美國達爾摩斯學院的基米尼和科茨完成設計並提出了BASIC語言的第一個版本,經過不斷豐富和發展,現已成為一種功能全面的中小型計算機語言。BASIC易學、易懂、易記、易用,是初學者的入門語言,也可以作為學習其他高級語言的基礎。BASIC有解釋方式和編譯方式兩種翻譯程式
BASIC語言BASIC語言
⑵PASCAL語言
PASCAL是一種結構程式設計語言,由瑞士蘇黎世聯邦工業大學的沃斯(N.Wirth)教授研製,於1971年正式發表。是從ALGOL60衍生的,但功能更強且容易使用。如今,作為一個能高效率實現的實用語言和一個極好的教學工具,PASCAL語言在高校計算機軟體教學中一直處於主導地位。Pascal(B.Pascal)是十七世紀法國著名數學家,他於1642年曾發明現代台式計算機的雛型機—加減法計算機。
PASCAL語言PASCAL語言
PASCAL具有大量的控制結構,充分反映了結構化程式設計的思想和要求,直觀易懂,使用靈活,既可用於科學計算,又能用來編寫系統軟體,套用範圍日益廣泛。
⑶通用程式語言C
C語言是美國AT&T(電報與電話)公司為了實現UNIX系統的設計思想而發展起來的語言工具。C語言的主要特色是兼顧了高級語言和彙編語言的特點,簡潔、豐富、可移植。相當於其他高級語言子程式的函式是C語言的補充,每一個函式解決一個大問題中的小任務,函式使程式模組化。C語言提供了結構式編程所需要的各種現代化的控制結構。
C語言C語言
C語言是一種通用程式語言,正被越來越多的計算機用戶所推崇。使用C語言編寫程式,既感覺到使用高級語言的自然,也體會到利用計算機硬體指令的直接,而程式設計師卻無需捲入彙編語言的繁瑣。
⑷COBOL語言
COBOL的全稱是Common Business Oriented Language,意即:通用商業語言。
COBOL語言COBOL語言
在企業管理中,數值計算並不複雜,但數據處理信息量卻很大。為專門解決經企管理問題,於1959年,由美國的一些計算機用戶組織設計了專用於商務處理的計算機語言COBOL,並於1961年美國數據系統語言協會公布。經不斷修改、豐富完善和標準化,已發展為多種版本。
COBOL語言使用了300多個英語保留字,大量採用普通英語辭彙和句型,COBOL程式通俗易懂,素有“英語語言”之稱。
COBOL語言語法規則嚴格。用COBOL語言編寫的任一源程式,都要依次按標識部、環境部、數據部和過程部四部分書寫,COBOL程式結構的“部” 內包含“節”,“節”內包含“段”,段內包含語句,語句由字或字元串組成,整個源程式象一棵由根到乾,由乾到枝,由枝到葉的樹,習慣上稱之為樹型結構。
如今COBOL語言主要套用於情報檢索、商業數據處理等管理領域。
常用的高級程式設計語言,除了上述的幾種之外,還有很多,如以英國著名詩人拜倫(G.N.G.Byron)的獨生女艾達·拜倫(Ada Byron)的名字命名的軍用語言Ada,深受中、小學生歡迎的語言LOGO等等。
計算機語言開發工具
如今,程式設計語言編程環境正向面向對象語言可視化編程環境方向發展,出現了許多第四代語言及其開發工具。如:微軟公司(Microsoft)開發的Visual系列(VC++、VB、FoxPro)編程工具及Power Builder等,如今已經在國內外得到了廣泛的套用。

語言匯總

工業程式語言:A+ | Ada | 彙編語言| B |Brainfuck| C | C++ |C++/CLI| Cg | COBOL | Eiffel | Erlang | FORTRAN | IronPython | Java | JRuby | Jython | LISP | Oberon |Objective-C|Ocaml| Pascal | Perl | Powerbuilder | Python | QBASIC | R | REXX | Ruby | Self | Smalltalk | SQL | Tcl/Tk | Visual Basic | PHP | C# | F# | J# |Visual Basic .NET|易語言
腳本程式語言:ActionScript | JavaScript | JScript |Nuva| PostScript | VBScript | lua
學術程式語言:APL/J | Haskell | Logo | ML |pascal|Prolog | Scheme | SAC
其他程式語言:ALGOL | BASIC| Clipper | Forth | Modula-2/Modula-3 | MUMPS | PL/I | Simula

語言發展

計算機主要是由兩大部分構成的,硬體和軟體,硬體就不用解釋了,你的主機、顯示器等等都屬於硬體,但是光有硬體電腦是沒有辦法使用的,除非你拿機箱當柜子用!呵呵!所以就必須有軟體支持!軟體又分為系統軟體,也就是你經常用的作業系統,WIN XP,Win 2000等等!再就是通用軟體和套用軟體。計算機語言也有一個發展過程,從最開始的計算機語言,也就是011010111,那個時候編程恐怕是非常痛苦的事,因為你要會用0和1表示一切!後來逐步發展,把一些常用的指令用英語單詞表示出來,形成了彙編語言,這個時候也是比較痛苦的,你要記住那些單詞的含義不說,還必須告訴計算機每一步要怎么做,而計算機又是一個非常笨的東西,你掉一個步驟他就罷工!而且彙編語言的可移植性差,也就是說你在這台電腦上寫的程式到另一台電腦上可能就不能用了。之後為了方便軟體移植,高級語言誕生了,高級語言不要求程式設計師掌握計算機的硬體運行,只要寫好上層代碼,編譯軟體會將高級語言翻譯成彙編語言,然後再將彙編語言轉化成計算機語言,從而在計算機中執行。因此,程式設計師使用高級語言寫得代碼可以移植到其他計算機執行,而不用考慮計算機硬體的特性。

語言使用方向

想設計一款美觀的Web套用
JavaScript可使網站看起來更棒,同時存在大量可兼容的框架,如Ember、Angular、Backbone等,它們都可以幫你組織、構造兼容不同瀏覽器的Web套用。目前,JavaScript正逐步成為主要的企業級程式語言。
JavaScript可在幾乎所有的瀏覽器上運行,可同時用來編寫前端與後端服務。無論你開發什麼套用,JavaScript是必須的語言,而你也不用考慮套用採用的是何種後端技術。
需要快速開發原型
如果你是設計師,想學習後端編程技術以測試套用,那Ruby和Python將是不錯的選擇。這兩門語言已入選2013年最流行工作技巧Top 5。
學習Python,可以利用Learn Python The Hard Way網站上的資源,學習Ruby,可以登入Codecademy中的Ruby子欄目。
想構建一個Android套用
開發Android套用,最多使用Java語言。
你可以在Windows和Mac上開發Android套用,之後購買廉價的設備來測試你的套用。隨著Andriod正逐漸占領移動市場,越來越多的開發者正選擇從Android開始入手。
Udacity上免費的JavaScript編程課程很適合初學者。一旦你掌握到Java,就可以登錄官方Android開發者網站,學習如何創建第一個Android項目。
想開發一款iOS套用
在Mac上,你可以使用Objective-C開發可運行於iPhone、iPad、iPod上的iOS套用。與Android相比,iOS的碎片化程式更低,開發者很容易創建通用的套用。
除了Object-C,開發iOS套用還需要免費工具Xcode和iOS軟體開發工具包。你可以用Apple提供的開發者教程,或登錄到Code School網站中的iOS子頻道學習iOS開發。

相關詞條

熱門詞條

聯絡我們