當前位置:編程學習大全網 - 編程語言 - 快速編程語言

快速編程語言

程序

這是每個遊戲編程FAQ都有的問題。這個問題在遊戲開發論壇上壹周問幾次。這是壹個很好的問題,但是沒有人能給出壹個簡單的答案。在壹些應用中,總有壹些計算機語言比其他語言優越。下面介紹幾種用來寫遊戲的主要編程語言及其優缺點。希望這篇文章能幫妳做決定。

1,C語言

如果說FORTRAN和COBOL是第壹代高級編譯語言,那麽C語言就是他們的孫輩。c語言是由Dennis Ritchie在20世紀70年代創造的,功能更強大,與作為COBOL和FORTRAN結構繼承者的ALGOL有著更為連續的繼承性。c語言被設計成壹個比它的前輩更復雜、更簡單的版本,適合寫系統級的程序,比如操作系統。在此之前,操作系統是用匯編語言編寫的,不具備可移植性。c語言是第壹種使系統級代碼移植成為可能的編程語言。

C語言支持結構化編程,也就是說C的程序寫成壹個個分離的函數調用(call)的集合,從上到下運行,而不是像單個集成的塊代碼壹樣用GOTO語句控制流程。所以C程序比集成的FORTRAN和COBOL“空心粉代碼”簡單多了。其實C還是有GOTO語句的,只是功能有限,只在結構化方案非常復雜的情況下才推薦使用。

由於其系統編程根源,將C與匯編語言結合起來是相當容易的。函數調用接口非常簡單,匯編語言指令也可以嵌入C代碼,不需要連接獨立的匯編模塊。

優點:有利於編寫小而快的程序。很容易和匯編語言結合。它是高度標準化的,所以其他平臺上的版本非常相似。

缺點:不容易支持面向對象技術。語法有時很難理解,會導致濫用。

可移植性:C語言和ANSI函數調用的核心是可移植的,但僅限於進程控制、內存管理和簡單的文件處理。其他的都和平臺有關。比如開發Windows和Mac的可移植程序,在用戶界面中需要系統相關的函數調用。這通常意味著您必須編寫兩次用戶界面代碼,但幸運的是,有壹些庫可以減少工作量。

用c語言寫的遊戲:非常非常多。

材料:C語言的經典之作是C程序設計語言。經過多次修改,已經擴充到原來的三倍大小,但仍然是壹本介紹C的優秀書籍,壹個優秀的教程是韋特集團的C Primer Plus。

2、C++

C++語言是C語言的繼承者,具有面向對象的特點。面向對象編程(OOP)是結構化編程的下壹步。OO程序是由對象組成的,其中的對象是離散的數據集和函數。庫存中有很多可用的對象,這就讓編程變得像堆壹些程序“建材”壹樣簡單(至少理論上是這樣)。例如,有許多GUI和數據庫庫被實現為對象的集合。

C++壹直是爭論的話題,尤其是在遊戲開發論壇中。虛函數等幾個C++函數給函數調用的決策增加了額外的壹層,批評者很快指出,C++程序會變得比具有相同函數的C程序更大、更慢。C++的支持者認為,用C寫相當於虛函數的代碼也會增加成本。這將是壹場持續的爭論,不可能很快得出結論。

在我看來,C++的額外成本只是使用更好的語言的小成本。同樣的爭論發生在20世紀60年代,當時諸如COBOL和FORTRAN等高級編程語言開始取代匯編語言成為首選語言。批評家們正確地指出,用高級語言編寫的程序天生就比手寫匯編語言慢,而且肯定如此。高級語言的支持者認為這麽小的性能損失是值得的,因為COBOL和FORTRAN程序更容易編寫和維護。

優點:組織大型程序比C語言好很多。對面向對象機制的良好支持。常見的數據結構,如鏈表和由可伸縮數組組成的庫,減輕了處理底層細節的負擔。

缺點:非常龐大復雜。和C語言壹樣,存在語法濫用的問題。比c慢,大部分編譯器沒有正確實現整個語言。

移植性:比C語言好很多,但還是不太樂觀。因為它和C語言有同樣的缺點,所以大多數可移植的用戶界面庫都是用C++對象實現的。

用C++寫的遊戲:很多很多。大多數商業遊戲都是用C或C++編寫的。

資料:最新版的C++編程語言很不錯。作為教程,有兩個陣營,壹個假設妳懂C,壹個假設妳不懂。到目前為止,最好的C++課程是《C++的非洲是誰》。如果妳已經熟悉C語言,試著自學C++。

3.我應該學C++還是應該從C開始學?

我不喜歡這種說法,但這是排在“我該用哪種語言”之後最常被問到的問題。可惜沒有標準答案。妳可以自學C並用它來寫程序,這樣可以節省很多時間,但是使用這種方法有兩個缺點:

妳會錯過面向對象的知識,因為它可能會讓數據建模在妳的遊戲中更加高效。

許多最大的商業遊戲,包括第壹人稱射擊遊戲,都不使用C++。然而,即使這些程序的作者使用舊的C格式,他們通常堅持使用面向對象的編程技術。如果妳只想學C,至少要自學OO(面向對象)編程技術。面向對象是模擬的完美方法。不學OO就要努力了。

4.匯編語言

顯然,匯編是第壹種計算機語言。匯編語言實際上是計算機處理器實際運行的指令的命令形式表示。這意味著您將處理處理器的底層,如寄存器和堆棧。如果妳在尋找壹種類似英語的語言,並有相關的自我描述,這不是妳想要的。

確切地說,妳可以用其他語言做任何妳能做的事情,但這並沒有那麽簡單——當然,這就像說妳可以開車去某個地方,或者步行去那裏,但這只是很難。那是真的,但是新技術使事情更容易使用。

壹般來說,遊戲中不會單獨使用匯編語言。遊戲用匯編主要是用它那些能提高性能的零碎。比如蹂躪者號整體是用C寫的,有幾個繪圖程序用匯編。這些程序每秒鐘被調用數千次,因此盡可能簡潔將有助於提高遊戲的性能。從C中調用匯編寫的函數相當簡單,所以同時使用兩種語言不是問題。

特別說明:語言的名字叫“匯編”。把匯編語言翻譯成真實機器碼的工具叫做“匯編程序”。將這種語言稱為“匯編程序”是相當常見的,所以請從這種語言的正確名稱開始。

優點:最小最快的語言。匯編程序編寫程序的速度比任何其他語言都快。妳將是第壹個使用處理器最新功能的人,因為妳可以直接使用它們。

缺點:難學,語法晦澀,持久效率,導致額外代碼很多——不適合心臟弱的人。

便攜性:接近於零。因為這種語言是為單處理器設計的,根本沒有可移植性。如果使用專用處理器的擴展功能,妳的代碼甚至無法移植到其他同類型處理器上(比如AMD的3DNow指令就無法移植到其他奔騰系列處理器上)。

用匯編編寫的遊戲:我不知道有哪壹款商業遊戲是完全用匯編開發的。但是,有些遊戲使用匯編來完成大多數時間關鍵的部分。

資料:如果是找匯編語言文檔,應該主要找芯片文檔。互聯網上有壹些關於他們的處理器的信息,如英特爾、AMD和摩托羅拉。對於書籍,匯編語言:分步值得學習。

5.帕斯卡語言

Pascal是Nicolas Wirth在20世紀70年代初設計的,因為他對FORTRAN和COBOL不強制學生訓練結構化編程感到失望,“空心粉代碼”成為常態,當時的語言並不反對。Pascal被設計用來執行結構化編程。Pascal最初是嚴格為教學而設計的,最後,大量支持者把它推向了商業編程。當Borland在IBM PC上發布Turbo Pascal時,Pascal曾經輝煌壹時。集成編輯器、快如閃電的編譯器和低廉的價格讓它無法抗拒。Pascal已經編寫了為MS-DOS編寫小程序的首選語言。

然而,在很短的時間內,C編譯器變得更快,並擁有出色的內置編輯器和調試器。Pascal在1990年Windows開始流行的時候就走到了盡頭。Borland放棄了Pascal,將註意力轉向為Windows編寫程序的C++。渦輪帕斯卡很快就被遺忘了。

最後,在1996,Borland發布了它的“Visual Basic黑仔”——Delphi。這是壹個快速的Pascal編譯器,具有華麗的用戶界面。由於堅持不懈的努力,很快贏得了壹大群粉絲。

基本上Pascal比C簡單,雖然語法差不多,但是缺少C擁有的很多簡潔的運算符。這是好事,也是壞事。雖然很難寫出難以理解的“智能”代碼,但這也使得壹些低級操作,如位操作變得困難。

優點:簡單易學,平臺相關操作(Dephi)很不錯。

缺點:《世界趨勢》的面向對象Pascal後繼者(Modula,Oberon)還沒有成功。編譯器開發人員不認可語言標準。專利權。

便攜性:很差。語言的功能隨著平臺的變化而變化,沒有可移植的工具包來處理平臺相關的功能。

用Pascal寫的遊戲:幾個。DirectX的Delphi組件讓遊戲的地方更大。

信息:要查找與Delphi相關的信息,請訪問:Inprise Delphi頁面。

6、Visual Basic

哈,基礎。回到20世紀80年代的石器時代,它是初學者的第壹語言。最初的基礎形式,雖然簡單易學,但是組織得可怕,它毫不猶豫地使用了後藤的“空心粉代碼”。在回憶BASIC的行號和GOSUB命令時,很少有人能止住眼角的淚水。

快進到90年代初,雖然不是蘋果所希望的巨頭,但HyperCard仍然是壹個有吸引力的小型編程環境,無法與Windows相比。Windows下的ToolBook等HyperCard克隆版又慢又笨又貴。為了與HyperCard競爭,微軟獲得了壹個名為Thunderprogramming environment的小型授權許可權,並將其發布為Visual Basci 1.0,其用戶界面在當時非常具有創新性。雖然語言也叫Basic(不是全大寫),但是更結構化,行號也去掉了。事實上,這種語言更像是帶有基本動詞的Pascal,而不是TRS-80、Apple II和Atari建立的舊ROM BASIC。

經過六個版本,Visual Basic已經變得非常漂亮了。用戶界面發生了許多變化,但是“將代碼與用戶界面相關聯”的主題仍然存在。當與即時編譯相結合時,這使得它成為快速原型開發的極好環境。

優點:幹凈的編輯環境。易於學習和即時編譯導致簡單和快速的原型制作。許多可用的插件。雖然有第三方DirectX插件,但DirectX 7已經準備好提供對Visual Basic的支持。

缺點:程序非常大,運行時需要幾個巨大的運行時動態連接庫。雖然表單和對話框程序很容易完成,但是很難寫出好的圖形程序。調用Windows的API程序非常笨拙,因為VB的數據結構沒有很好的映射到c,有OO函數,但是不完全面向對象。專利權。

便攜性:很差。因為Visual Basic是微軟的產品,妳自然受限於他們的平臺去實現。換句話說,妳能得到的選擇是:Windows,Windows或者Widnows。當然,也有壹些工具可以把VB程序轉換成Java。

用Visual Basic編寫的遊戲:壹些。有很多用VB寫的* * *遊戲,也有壹些是商業化的。

資料:微軟的VB頁面有壹些資料。

7、Java

Java是壹種可移植的“小C++”,最初是Sun為嵌入程序而設計的。在網絡上運行小程序的想法確實吸引了很多人的註意,於是語言迅速崛起。事實證明,Java不僅適合在網頁中嵌入動畫——對於完整的軟件編程來說,它是壹種優秀的小語言。“虛擬機”、垃圾回收、無指針的機制,輕松實現不易崩潰、不會泄漏資源的可靠程序。

雖然不是C++的正式續作,但Java借鑒了C++的很多語法。它拋棄了C++的許多復雜函數,從而形成了壹種簡潔易學的語言。與C++不同,Java強制進行面向對象的編程。用Java寫非面向對象的程序和用Pascal寫“空心粉代碼”壹樣難。

優點:二進制代碼可以移植到其他平臺。該程序可以在網頁中運行。包含的類庫非常標準,非常健壯。自動分配和垃圾收集,以避免程序中的資源泄漏。互聯網上大量的代碼例程。

缺點:用壹個“虛擬機”來運行可移植的字節碼而不是本機代碼,程序會比真正的編譯器慢。有很多技術(比如“即時”編譯器)大大提高了Java的速度,但是速度永遠不可能比機器碼方案更好。早期的函數,比如AWT,沒有經過仔細考慮,雖然正式廢除了,但是為了保持向後兼容性,不得不保留。技術越先進,越難處理底層的機器功能。對於Sun來說,為這種語言添加新的“祝福”功能太慢了。

可移植性:最好,但仍未達到應有的水平。底層代碼可移植性強,但是很多UI和新功能在某些平臺上不穩定。

用Java寫的遊戲:網頁上有很多小Applet,但只有壹部分是商業化的。壹些商業遊戲使用Java作為他們的內部腳本語言。

信息:Sun的官方Java頁面提供了壹些有用的信息。IBM也有壹個非常好的Java頁面。JavaLobby是了解Java新聞的最佳地方。

8.創作工具

上面提到的編程語言涵蓋了大部分商業遊戲。但也有例外。這個大遊戲因為它的缺席而引人註目。

神秘島。是的,最暢銷的商業遊戲都不是用以上任何壹種語言編寫的,雖然有人說《神秘島》99%是用3D建模工具制作的,它的基本編程邏輯都是用HyperCard完成的。

大多數創作工具有點像Visual Basic,只是它們在更高的級別上工作。大多數工具使用壹些拖放流程圖來模擬過程控制。許多編程語言都有內置的解釋,但沒有壹種語言能像上面提到的單壹語言那樣健壯。

優點:快速原型制作——如果妳的遊戲符合工具制作的目的,妳或許可以讓妳的遊戲運行得比使用其他語言更快。在許多情況下,您可以創建壹個簡單的遊戲,而無需任何代碼。使用插件程序,如Shockware和IconAuthor player,可以在網頁上發布許多由創意工具生成的程序。

缺點:專利,至於會增加什麽功能,妳就任由工具制造者擺布了。妳必須考慮這些工具是否能滿足妳遊戲的需求,因為有很多事情是那些創意工具做不到的。壹些工具會產生非常臃腫的程序。

可移植性:因為創意工具是有專利的,所以妳的可移植性與它們提供的功能密切相關。有些系統如Director可以在幾個平臺上創建和運行,有些工具可以在某個平臺上創建和運行,有些只能在單個平臺上創建和運行。

用創意工具寫的遊戲:《神秘島》等類似的冒險遊戲。所有的沖擊波遊戲都在網上。

材料:Director,hypercard,HyperCard,IconAuthor,Authorware。

9.結論

對於“我應該使用哪種語言”這個問題,妳可能想得到壹個更標準的結論。不幸的是,沒有適用於所有應用的最佳解決方案。c適合快速小程序,不支持面向對象編程。C++完全支持面向對象,但是很復雜。Visual Basic和Delphi易學,但不可移植,有專利權。Java有很多簡潔的函數,但是很慢。創作工具可以盡可能快地生成您的程序,但它只適用於某些類型的程序。最好的辦法是決定妳要寫什麽樣的遊戲,選擇最能支持妳遊戲的語言。“試用30天”的做法成為行業標準,這是好事。

  • 上一篇:AT自動變速器的變速控制原理AT6型6前速電子控制自動變速器
  • 下一篇:插畫模板-如何在論文中畫出漂亮的插圖
  • copyright 2024編程學習大全網