壹,高級計算機語言的特點
高級語言是從人類邏輯思維的角度來看的計算機語言。抽象程度大大提高,需要在特定機器上編譯成目標代碼才能執行。壹條高級語言的語句往往需要幾條機器指令才能完成。高級語言與機器的獨立性是通過編譯器為不同的機器生成不同的目標代碼(或機器指令)來實現的。
二、計算機高級語言分類
分類方法:程序的執行方式
類別:編譯語言和解釋語言
1.編譯語言:
用專門的編譯把壹種高級語言翻譯成平臺硬件可以壹次性執行的機器碼,把平臺可以識別的可執行程序的格式打包稱重。這個過程叫做編譯,可執行程序可以在特定的平臺上獨立運行,不需要開發環境。
某些程序編譯完成後,可能需要連接其他目標代碼,形成最終的可執行程序,具有多個目標代碼模塊。
優點:可以脫離開發環境獨立運行,執行效率比較高;
缺點:可執行程序不能跨平臺;
2.解釋性語言:
用解釋器把源代碼逐行解釋成特定平臺的機器碼並執行,相當於把編譯和解釋過程混合在壹種編譯語言中,同時完成。
缺點:這種語言的程序每次執行都需要編譯壹次,效率低,不能脫離解釋器獨立運行;
優點:可以實現跨平臺執行;
第三,通用計算機語言
共同語
1.c 語言
c語言是由Dennis Ritchie在20世紀70年代創造的,功能更強大,與作為COBOL和FORTRAN結構繼承者的ALGOL有著更為連續的繼承性。c語言被設計成壹個比它的前輩更復雜、更簡單的版本,適合寫系統級的程序,比如操作系統。在此之前,操作系統是用匯編語言編寫的,不具備可移植性。c語言是第壹種使系統級代碼移植成為可能的編程語言。
優點:有利於編寫小而快的程序。很容易和匯編語言結合。它是高度標準化的,所以其他平臺上的版本非常相似。
缺點:不容易支持面向對象技術。語法有時很難理解,會導致濫用。
可移植性:C語言和ANSI函數調用的核心是可移植的,但僅限於進程控制、內存管理和簡單的文件處理。其他的都和平臺有關。比如開發Windows和Mac的可移植程序,在用戶界面中需要系統相關的函數調用。這通常意味著您必須編寫兩次用戶界面代碼,但幸運的是,有壹些庫可以減少工作量。
2.C++
C++語言是C語言的繼承者,具有面向對象的特點。面向對象編程(OOP)是結構化編程的下壹步。OO程序是由對象組成的,其中的對象是離散的數據集和函數。庫存中有很多可用的對象,這就讓編程變得像堆壹些程序“建材”壹樣簡單(至少理論上是這樣)。例如,有許多GUI和數據庫庫被實現為對象的集合。
優點:組織大型程序比C語言好很多。對面向對象機制的良好支持。常見的數據結構,如鏈表和由可伸縮數組組成的庫,減輕了處理底層細節的負擔。
缺點:非常龐大復雜。和C語言壹樣,存在語法濫用的問題。比c慢,大部分編譯器沒有正確實現整個語言。
移植性:比C語言好很多,但還是不太樂觀。因為它和C語言有同樣的缺點,所以大多數可移植的用戶界面庫都是用C++對象實現的。
3.匯編語言
匯編是第壹種計算機語言。匯編語言實際上是計算機處理器實際運行的指令的命令形式表示。這意味著您將處理處理器的底層,如寄存器和堆棧。如果妳在尋找壹種類似英語的語言,並有相關的自我描述,這不是妳想要的。特別說明:語言的名字叫“匯編”。把匯編語言翻譯成真實機器碼的工具叫做“匯編程序”。將這種語言稱為“匯編程序”是相當常見的,所以請從這種語言的正確名稱開始。
優點:最小最快的語言。匯編程序編寫程序的速度比任何其他語言都快。妳將是第壹個使用處理器最新功能的人,因為妳可以直接使用它們。
缺點:難學,語法晦澀,持久效率,導致額外代碼很多——不適合心臟弱的人。
便攜性:接近於零。因為這種語言是為單處理器設計的,根本沒有可移植性。如果使用專用處理器的擴展功能,妳的代碼甚至無法移植到其他同類型處理器上(比如AMD的3DNow指令就無法移植到其他奔騰系列處理器上)。
4.帕斯卡語言
Pascal是NicolasWirth在70年代初設計的,因為他對FORTRAN和COBOL不強制學生訓練結構化編程感到失望,“空心粉代碼”成為常態,當時的語言也不反對。Pascal被設計用來執行結構化編程。Pascal最初是嚴格為教學而設計的,最後,大量支持者把它推向了商業編程。當Borland在IBMPC上發布TurboPascal時,Pascal輝煌了壹段時間。集成編輯器、快如閃電的編譯器和低廉的價格讓它無法抗拒。Pascal已經編寫了為MS-DOS編寫小程序的首選語言。然而,在很短的時間內,C編譯器變得更快,並擁有出色的內置編輯器和調試器。Pascal在1990年Windows開始流行的時候就走到了盡頭。Borland放棄了Pascal,將註意力轉向為Windows編寫程序的C++。渦輪帕斯卡很快就被遺忘了。
基本上Pascal比C簡單,雖然語法差不多,但是缺少C擁有的很多簡潔的運算符。這是好事,也是壞事。雖然很難寫出難以理解的“智能”代碼,但這也使得壹些低級操作,如位操作變得困難。
優點:簡單易學,平臺相關操作(Dephi)很不錯。
缺點:《世界趨勢》的面向對象Pascal後繼者(Modula,Oberon)還沒有成功。編譯器開發人員不認可語言標準。
。便攜性:差。語言的功能隨著平臺的變化而變化,沒有可移植的工具包來處理平臺相關的功能。
5.VisualBasic
優點:幹凈的編輯環境。易於學習和即時編譯導致簡單和快速的原型制作。許多可用的插件。雖然有第三方DirectX插件,但DirectX7已經準備好提供對VisualBasic的支持。
缺點:程序非常大,運行時需要幾個巨大的運行時動態連接庫。雖然表單和對話框程序很容易完成,但是很難寫出好的圖形程序。調用Windows的API程序非常笨拙,因為VB的數據結構沒有很好的映射到c,有OO函數,但是不完全面向對象。
便攜性:很差。因為VisualBasic是微軟的產品,妳自然受限於他們的平臺去實現。
6.Java
Java是壹種可移植的“小C++”,最初是Sun為嵌入程序而設計的。在網絡上運行小程序的想法確實吸引了很多人的註意,於是語言迅速崛起。事實證明,Java不僅適合在網頁中嵌入動畫——對於完整的軟件編程來說,它是壹種優秀的小語言。“虛擬機”、垃圾回收、無指針的機制,輕松實現不易崩潰、不會泄漏資源的可靠程序。
雖然不是C++的正式續作,但Java借鑒了C++的很多語法。它拋棄了C++的許多復雜函數,從而形成了壹種簡潔易學的語言。與C++不同,Java強制進行面向對象的編程。用Java寫非面向對象的程序和用Pascal寫“空心粉代碼”壹樣難。
優點:二進制代碼可以移植到其他平臺。該程序可以在網頁中運行。包含的類庫非常標準,非常健壯。自動分配和垃圾收集,以避免程序中的資源泄漏。互聯網上大量的代碼例程。
缺點:用壹個“虛擬機”來運行可移植的字節碼而不是本機代碼,程序會比真正的編譯器慢。有很多技術(比如“即時”編譯器)大大提高了Java的速度,但是速度永遠不可能比機器碼方案更好。早期的函數,比如AWT,沒有經過仔細考慮,雖然正式廢除了,但是為了保持向後兼容性,不得不保留。技術越先進,越難處理底層的機器功能。對於Sun來說,為這種語言添加新的“祝福”功能太慢了。
可移植性:最好,但仍未達到應有的水平。底層代碼可移植性強,但是很多UI和新功能在某些平臺上不穩定。
7.創意工具
大多數創作工具有點像VisualBasic,只是它們在更高的層次上工作。大多數工具使用壹些拖放流程圖來模擬過程控制。許多編程語言都有內置的解釋,但沒有壹種語言能像上面提到的單壹語言那樣健壯。
優點:快速原型制作——如果妳的遊戲符合工具制作的目的,妳或許可以讓妳的遊戲運行得比使用其他語言更快。在許多情況下,您可以創建壹個簡單的遊戲,而無需任何代碼。使用插件程序,如Shockware和IconAuthor player,可以在網頁上發布許多由創意工具生成的程序。
缺點:專利,至於會增加什麽功能,妳就任由工具制造者擺布了。妳必須考慮這些工具是否能滿足妳遊戲的需求,因為有很多事情是那些創意工具做不到的。壹些工具會產生非常臃腫的程序。
可移植性:因為創意工具是有專利的,所以妳的可移植性與它們提供的功能密切相關。有些系統如Director可以在幾個平臺上創建和運行,有些工具可以在某個平臺上創建和運行,有些只能在單個平臺上創建和運行。[5]
8.C#
C#是壹種精確、簡單、類型安全和面向對象的語言。它是英語的代表語言。網。什麽是。網?按照微軟總裁兼首席執行官史蒂夫·鮑爾默的說法,它的定義是:。Net代表壹個集合和壹個環境,可以作為支持下壹代互聯網可編程結構的平臺。
C#的特點:
1.完全面向對象。
2.支持發行。
3.自動內存管理機制。
4.安全性和便攜性。
5.指針的有限使用。
6.多線程。與Java類似,C#可以劃分為多個線程,由壹個主進程執行小系統。
C#是Java普及後誕生的壹種新的編程語言。