1. 如何設計一門計算機編程語言呢
第一步:首先要對這種語言的大體操作和理論知識要有一些了解,這個可以看哈相應的教材。第二步:研究代碼程序的執行過程第三步:就是最重要的要多練,最好是再點由淺到深的題去做這樣只要你堅持兩個月相信你會有很大的進步的
2. 計算機中主要的程序設計語言有哪幾種
目前通用的編程語言有兩種形式:匯編語言和高級語言。高級語言主要是相對於匯編語言而言,它並不是特指某一種具體的語言,而是包括了很多編程語言,如目前流行的VB、VC、FoxPro、Delphi等,這些語言的語法、命令格式都各不相同。
高級語言所編制的程序不能直接被計算機識別,必須經過轉換才能被執行,按轉換方式可將它們分為兩類:
解釋類、編譯類(例如Visual C++、Visual Foxpro、Delphi等)Basic語言 & Visual Basic 簡單易學,很容易上手Pascal語言 & Delphi 語言結構嚴謹,可以很好地培養一個人的編程思想C語言 & Visual C++ 靈活性好,效率高,可以接觸到軟體開發比較底層的東西C++語言 & C++ Builder 極強的兼容性,支持OWL、VCL和MFC三大類庫SQL語言 & Power Builder
3. 計算機程序設計的主要步驟有哪些
首先你要對你要做的程序有個大概的思路,然後框架想出來以後,再一點一點的進行完善,把每個功能的功能、目標寫下來,這階段就是所謂的需求設計。進行完功能上的描述以後,就可以開始設計內部邏輯了,以及一些函數和方法,這個階段就是所謂的詳細設計。根據功能描述和函數、方法的設計把功能補全,函數、方法之間的調用等等代碼,這個階段就是編碼階段。你把功能都做出來以後需要驗證,是不是和你當初設計的功能相符,你可以用代碼去驗證,也可以從應用角度上來驗證。這個階段就是測試階段。通過測試後的程序就可以發布了,發布後還要繼續一段時間的修改、補充。這個階段就是維護階段。
如果你要是真想干這個,勸你去看看軟體工程。如果是應付差事就算了。
4. 如何編寫電腦程序
你要是大師就隨便編寫,要是想利用軟體自動生成我建議你還是放棄吧
1、C語言
如果說FORTRAN和COBOL是第一代高級編譯語言,那麼C語言就是它們的孫子輩。C語言是Dennis Ritchie在七十年代創建的,它功能更強大且與ALGOL保持更連續的繼承性,而ALGOL則是COBOL和FORTRAN的結構化繼承者。C語言被設計成一個比它的前輩更精巧、更簡單的版本,它適於編寫系統級的程序,比如操作系統。在此之前,操作系統是使用匯編語言編寫的,而且不可移植。C語言是第一個使得系統級代碼移植成為可能的編程語言。
C語言支持結構化編程,也就是說C的程序被編寫成一些分離的函數呼叫(調用)的集合,這些呼叫是自上而下運行,而不像一個單獨的集成塊的代碼使用GOTO語句控制流程。因此,C程序比起集成性的FORTRAN及COBOL的「空心粉式代碼」代碼要簡單得多。事實上,C仍然具有GOTO語句,不過它的功能被限制了,僅當結構化方案非常復雜時才建議使用。
正由於它的系統編程根源,將C和匯編語言進行結合是相當容易的。函數調用介面非常簡單,而且匯編語言指令還能內嵌到C代碼中,所以,不需要連接獨立的匯編模塊。
優點:有益於編寫小而快的程序。很容易與匯編語言結合。具有很高的標准化,因此其他平台上的各版本非常相似。
缺點:不容易支持面向對象技術。語法有時會非常難以理解,並造成濫用。
移植性:C語言的核心以及ANSI函數調用都具有移植性,但僅限於流程式控制制、內存管理和簡單的文件處理。其他的東西都跟平台有關。比如說,為Windows和Mac開發可移植的程序,用戶界面部分就需要用到與系統相關的函數調用。這一般意味著你必須寫兩次用戶界面代碼,不過還好有一些庫可以減輕工作量。
用C語言編寫的游戲:非常非常多。
資料:C語言的經典著作是《The C Programming Language》,它經過多次修改,已經擴展到最初的三倍大,但它仍然是介紹C的優秀書本。一本極好的教程是《The Waite Group's C Primer Plus》。
2、C++
C++語言是具有面向對象特性的C語言的繼承者。面向對象編程,或稱OOP是結構化編程的下一步。OO程序由對象組成,其中的對象是數據和函數離散集合。有許多可用的對象庫存在,這使得編程簡單得只需要將一些程序「建築材料」堆在一起(至少理論上是這樣)。比如說,有很多的GUI和資料庫的庫實現為對象的集合。
C++總是辯論的主題,尤其是在游戲開發論壇里。有幾項C++的功能,比如虛擬函數,為函數呼叫的決策制定增加了一個額外層次,批評家很快指出C++程序將變得比相同功能的C程序來得大和慢。C++的擁護者則認為,用C寫出與虛擬函數等價的代碼同樣會增加開支。這將是一個還在進行,而且不可能很快得出結論的爭論。
我認為,C++的額外開支只是使用更好的語言的小付出。同樣的爭論發生在六十年代高級程序語言如COBOL和FORTRAN開始取代匯編成為語言所選的時候。批評家正確的指出使用高級語言編寫的程序天生就比手寫的匯編語言來得慢,而且必然如此。而高級語言支持者認為這么點小小的性能損失是值得的,因為COBOL和FORTRAN程序更容易編寫和維護。
優點:組織大型程序時比C語言好得多。很好的支持面向對象機制。通用數據結構,如鏈表和可增長的陣列組成的庫減輕了由於處理低層細節的負擔。
缺點:非常大而復雜。與C語言一樣存在語法濫用問題。比C慢。大多數編譯器沒有把整個語言正確的實現。
移植性:比C語言好多了,但依然不是很樂觀。因為它具有與C語言相同的缺點,大多數可移植性用戶界面庫都使用C++對象實現。
使用C++編寫的游戲:非常非常多。大多數的商業游戲是使用C或C++編寫的。
資料:最新版的《The C++ Programming Language》非常好。作為教程,有兩個陣營,一個假定你知道C,另外一個假定你不知道。到目前為止,最好的C++教程是《Who's Afraid of C++》,如果你已經熟知C,那麼試一下《Teach Yourself C++》。
3、我該學習C++或是該從C開始
我不喜歡這種說法,但它是繼「我該使用哪門語言」之後最經常被問及的問題。很不幸,不存在標准答案。你可以自學C並使用它來寫程序,從而節省一大堆的時間,不過使用這種方法有兩個弊端:
你將錯過那些面向對象的知識,因為它可能在你的游戲中使得數據建模更有效率的東西。
最大的商業游戲,包括第一人稱射擊游戲很多並沒有使用C++。但是,這些程序的作者即使使用老的C的格式,他們通常堅持使用面向對象編程技術。如果你只想學C,至少要自學OO(面向對象)編程技術。OO是模擬(游戲)的完美方法,如果你不學習OO,你將不得不「辛苦」的工作。
4、匯編語言
顯然,匯編是第一個計算機語言。匯編語言實際上是你計算機處理器實際運行的指令的命令形式表示法。這意味著你將與處理器的底層打交道,比如寄存器和堆棧。如果你要找的是類英語且有相關的自我說明的語言,這不是你想要的。
確切的說,任何你能在其他語言里做到的事情,匯編都能做,只是不那麼簡單 — 這是當然,就像說你既可以開車到某個地方,也可以走路去,只是難易之分。話雖不錯,但是新技術讓東西變得更易於使用。
總的來說,匯編語言不會在游戲中單獨應用。游戲使用匯編主要是使用它那些能提高性能的零零碎碎的部分。比如說,毀滅戰士整體使用C來編寫,有幾段繪圖程序使用匯編。這些程序每秒鍾要調用數千次,因此,盡可能的簡潔將有助於提高游戲的性能。而從C里調用匯編寫的函數是相當簡單的,因此同時使用兩種語言不成問題。
特別注意:語言的名字叫「匯編」。把匯編語言翻譯成真實的機器碼的工具叫「匯編程序」。把這門語言叫做「匯編程序」這種用詞不當相當普遍,因此,請從這門語言的正確稱呼作為起點出發。
優點:最小、最快的語言。匯編高手能編寫出比任何其他語言能實現的快得多的程序。你將是利用處理器最新功能的第一人,因為你能直接使用它們。
缺點:難學、語法晦澀、堅持效率,造成大量額外代碼 — 不適於心臟虛弱者。
移植性:接近零。因為這門語言是為一種單獨的處理器設計的,根本沒移植性可言。如果使用了某個特殊處理器的擴展功能,你的代碼甚至無法移植到其他同類型的處理器上(比如,AMD的3DNow指令是無法移植到其它奔騰系列的處理器上的)。
使用匯編編寫的游戲:我不知道有什麼商業游戲是完全用匯編開發的。不過有些游戲使用匯編完成多數對時間要求苛刻的部分。
資料:如果你正在找一門匯編語言的文檔,你主要要找晶元的文檔。網路上如Intel、AMD、Motorola等有一些關於它們的處理器的資料。對於書籍而言,《Assembly Language: Step-By-Step》是很值得學習的。
5、Pascal語言
Pascal語言是由Nicolas Wirth在七十年代早期設計的,因為他對於FORTRAN和COBOL沒有強制訓練學生的結構化編程感到很失望,「空心粉式代碼」變成了規范,而當時的語言又不反對它。Pascal被設計來強行使用結構化編程。最初的Pascal被嚴格設計成教學之用,最終,大量的擁護者促使它闖入了商業編程中。當Borland發布IBM PC上的 Turbo Pascal時,Pascal輝煌一時。集成的編輯器,閃電般的編譯器加上低廉的價格使之變得不可抵抗,Pascal編程了為MS-DOS編寫小程序的首選語言。
然而時日不久,C編譯器變得更快,並具有優秀的內置編輯器和調試器。Pascal在1990年Windows開始流行時走到了盡頭,Borland放棄了Pascal而把目光轉向了為Windows 編寫程序的C++。Turbo Pascal很快被人遺忘。
最後,在1996年,Borland發布了它的「Visual Basic殺手」— Delphi。它是一種快速的帶華麗用戶界面的 Pascal編譯器。由於不懈努力,它很快贏得了一大群愛好者。
基本上,Pascal比C簡單。雖然語法類似,它缺乏很多C有的簡潔操作符。這既是好事又是壞事。雖然很難寫出難以理解的「聰明」代碼,它同時也使得一些低級操作,如位操作變得困難起來。
優點:易學、平台相關的運行(Delphi)非常好。
缺點:「世界潮流」面向對象的Pascal繼承者(Mola、Oberon)尚未成功。語言標准不被編譯器開發者認同。專利權。
移植性:很差。語言的功能由於平台的轉變而轉變,沒有移植性工具包來處理平台相關的功能。
使用Pascal編寫的游戲:幾個。DirectX的Delphi組件使得游戲場所變大了。
資料:查找跟Delphi有關的資料,請訪問:Inprise Delphi page。
6、Visual Basic
哈,BASIC。回到八十年代的石器時代,它是程序初學者的第一個語言。最初的BASIC形式,雖然易於學習,卻是可怕的無組織化,它義無反顧的使用了GOTO充斥的「空心粉式代碼」。當回憶起BASIC的行號和GOSUB命令,沒有幾個人能止住眼角的淚水。
快速前進到九十年代早期,雖然不是蘋果公司所希望的巨人,HyperCard仍然是一個在Windows下無法比擬的吸引人的小型編程環境。Windows下的HyperCard克隆品如ToolBook又慢又笨又昂貴。為了與HyperCard一決高下,微軟取得了一個小巧的名為Thunder編程環境的許可權,並把它作為Visual Basci 1.0發布,其用戶界面在當時非常具有新意。這門語言雖然還叫做Basic(不再是全部大寫),但更加結構化了,行號也被去除。實際上,這門語言與那些內置於TRS-80、Apple II及Atari里的舊的ROM BASIC相比,更像是帶Basic風格動詞的Pascal。
經過六個版本,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是由Sun最初設計用於嵌入程序的可移植性「小C++」。在網頁上運行小程序的想法著實吸引了不少人的目光,於是,這門語言迅速崛起。事實證明,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播放器,你可以在網頁上發布很多創作工具生成的程序。
缺點:專利權,至於將增加什麼功能,你將受到工具製造者的支配。你必須考慮這些工具是否能滿足你游戲的需要,因為有很多事情是那些創作工具無法完成的。某些工具會產生臃腫得可怕的程序。
移植性:因為創作工具是具有專利權的,你的移植性以他們提供的功能息息相關。有些系統,如Director可以在幾種平台上創作和運行,有些工具則在某一平台上創作,在多種平台上運行,還有的是僅能在單一平台上創作和運行。
使用創作工具編寫的游戲:「神秘島」和其他一些同類型的探險游戲。所有的Shockwave游戲都在網路上。
資料:Director、HyperCard、SuperCard、IconAuthor、Authorware。
9、易語言
★全中文支持,無需跨越英語門檻。★全可視化編程,支持所見即所得程序界面設計和程序流程編碼。★中文語句快速錄入。提供多種內嵌專用輸入法,徹底解決中文語句輸入速度慢的問題。★代碼即文檔。自動規范強制代碼格式轉換,任何人編寫的任何程序源代碼格式均統一。★參數引導技術,方便程序語句參數錄入。★無定義類關鍵字。所有程序定義部分均採用表格填表方式,用戶無需記憶此類關鍵字及其使用格式。★命令格式統一。所有程序語句調用格式完全一致。★語法格式自動檢查。自動檢查並提示所輸入語句的語法格式是否正確,且可自動添加各類名稱。★全程提示與幫助。滑鼠停留立即顯示相關項目提示。編程時提示語法格式,調試時提示變數當前內容,隨時按下F1鍵可得到與當前主題相關詳細幫助等。★名稱自動管理。用戶修改任一名稱定義,其它所有包含該名稱的程序代碼均自動修正。★集成化開發環境。集界面設計、代碼編寫、調試分析、編譯打包等於一體。★學習資源豐富。詳細的幫助文件、數十兆的知識庫、數萬用戶的網上論壇、教材已出版發行……
10、結論
你可能希望得到一個關於「我該使用哪種語言」這個問題的更標準的結論。非常不幸,沒有一個對所有應用程序都最佳的解決方案。C適於快而小的程序,但不支持面向對象的編程。C++完全支持面向對象,但是非常復雜。Visual Basic與Delphi易學,但不可移植且有專利權。Java有很多簡潔的功能,但是慢。創作工具可以以最快的速度產生你的程序,但是僅對某一些類型的程序起作用。最好的方法是決定你要寫什麼樣的游戲,並選擇對你的游戲支持最好的語言
5. 計算機程序設計語言有哪些
語言的種類千差萬別,但是,一般說來,基本成分不外4種。
1、數據成分。用以描述程序中所涉及的數據的語言。
2、運算成分。用以描述程序中所包含的運算的語言。
3、控製成分。用以表達程序中的控制構造的語言。
4、傳輸成分。用以表達程序中數據的傳輸的語言。
程序設計語言有3個方面的因素,即語法、語義和語用。語法表示程序的結構或形式,亦即表示構成語言的各個記號之間的組合規律,但不涉及這些記號的特定含義,也不涉及使用者。語義表示程序的含義,亦即表示按照各種方法所表示的各個記號的特定含義,但不涉及使用者。
(5)電腦程序語言設計方法擴展閱讀:
程序設計語言的特性
程序設計語言具有心理工程及技術等特性。
1、心理特性:歧義性、簡潔性、局部性、順序性、傳統性。
2、工程特性:可移植性,開發工具的可利用性,軟體的可重用性、可維護性。
3、技術特性:支持結構化構造的語言有利於減少程序環路的復雜性,使程序易測試、易維護。
6. 程序設計語言的分類有哪些
1、基礎語言也稱通用語言,它歷史悠久,流傳很廣,有大量的已開發的軟體庫,擁有眾多的用戶, 為人們所熟悉和接受。,屬於這類語言的有FORTRAN、COBOL、BASIC、ALGOL等。
2、結構化語言,20 世紀 70 年代以來,結構化程序設計和軟體工程的思想日益為人們所接受和欣賞。在它們的影響下,先後出現了一些很有影響的結構化語言,PASCAL、C、Ada 語言就是它們的突出代表。
3、面向對象語言,以「對象+消息」程序設計範式構成的程序設計語言,稱為面向對象語言。比較流行的面向對象語言有Delphi、Visual Basic、Java、C++等。
程序設計語言的應用領域:
1、科學工程計算。需要大量的標准庫函數,以便處理復雜的數值計算,可供選用的語言有FORTRAN語言、C語言等。
2、數據處理與資料庫應用。SQL為IBM公司開發的資料庫查詢語言,4GL稱為第4代語言。實時處理軟體一般對性能的要求很高,可選用的語言有匯編語言、Ada語言等。
3、系統軟體,如果編寫操作系統、編譯系統等系統軟體時,可選用匯編語言、C語言、Pascal語言和Ada語言。
4、人工智慧,如果要完成知識庫系統、專家系統、決策支持系統、推理工程、語言識別、模式識別等人工智慧領域內的系統,應選擇Prolog、Lisp語言。
7. 計算機程序設計語言的分類有哪些
程序設計語言是人們根據實際問題的需要而設計的。目前可以分為三大類:一是機器語言。它是用計算機的機器指令表達的語言;二是匯編語言。它是用一些能反映指令功能的助記符表達的語言;三是高級語言。它是獨立於機器、接近於人們使用習慣的語言。
在計算機科學發展的早期階段,一般只能用機器指令來編寫程序,這就是機器語言。由於機器語言直接用機器指令編寫程序,無論是指令還是數據,都須得用二進制數碼表示,給程序編制者帶來了很多麻煩,需要耗費大量的時間和精力。為了解決這個問題,使程序既能簡便地編制,又易於修改和維護,於是出現了程序設計語言。程序設計語言一般分為低級語言和高級語言。低級語言較接近機器語言,它是用由英文字母的助記符代替指令編碼,用英文字母和阿拉伯數字組成的十六進制數代替二進制數,從而避免了過去用來表示指令、地址和數據的令人煩惱的二進制數碼問題。典型的低級語言是匯編語言。正因為匯編語言是低級語言,所以它對機器依賴性較大。不同的機器有不同的指令系統,所以,不同的機器都有不同的匯編語言。
高級語言則是獨立於指令系統而存在的程序設計語言,它比較接近人類的自然語言。用高級語言編寫程序,可大大縮短程序編寫的周期。高級語言比匯編語言和機器語言簡便、直觀、易學,且便於修改和推廣。
目前,世界上已有許多各種各樣的程序設計語言。由於計算機本身只認識它自己的機器指令,所以對每個程序設計語言都要編制編譯程序或解釋程序。編譯程序、解釋程序是人和計算機之間的翻譯,它負責把程序員用高級語言編寫的程序翻譯成機器指令。這樣,計算機才能認識這程序,這程序才可以上機運行。
由於不同的程序設計語言有不同應用范圍,至今還沒有一種程序設計語言能把所有應用包含在內。現在廣為應用的幾種語言中,FORTRAN側重科學計算,BASIC善於人機對話,PASCAL著重結構設計,COBOL長於報表處理。
人們交流思想、傳遞信息要使用語言這個工具。我們要讓計算機為我們工作,也必須同計算機交流信息,同樣有個語言工具問題。學習使用電子計算機,主要的就是學習電子計算機的語言。
8. 電腦編程語言怎麼設計出來的
編程語言..是人為製作的....
那麼,,怎麼製作出來的呢????
那就要從C語言講起了..C語言是祖宗了..但也不是最早的祖宗...
當年98操作系統,,就是用C語言編寫的..
後來微軟推出的編程工具,,也是用C++或者C語言編寫的..
那麼C語言和C++又是誰發明出來的呢????
C語言和C++都被稱為高級語言..什麼叫高級語言呢?
就是能夠被人理解的語言.就叫高級語言了...
那麼,,怎麼發明出來的呢?
其實,,當初人們和計算機打交道,,當初的計算機,,也就是最早的計算機,,有一個房子那麼大..操作他要幾十個科學家..
為什麼呢?因為計算機只能識別二進制語言..
人們就在二進制的基礎上,,慢慢編寫,,用了發明了匯編語言這種低級語言,,畢竟匯編比二進制容易理解很多很多..
但由於匯編學習起來很難理解..於是人們 又在他的基礎上,進一步解釋,簡化..最後發明C語言,,到C++(其實C++和C語言是完全不同的語言,,但他們都是計算機語言,不過是表達規則不同罷了),,
之後又在這個基礎上發明了什麼VB等的語言..
這些都是從低級語言一級一級發展而來的的後輩了..
如果你想編寫自己的計算機語言,,那麼你可以學習C語言..C語言功能強大,,接近計算機硬體..
如果你覺得不爽,,就學習匯編吧..這個語言比C語言更低級..更接近計算機硬體..用這種語言編寫的病毒程序,,甚至能讓計算機硬體損壞..
當今變成工具,,繁多,,但最終都是從幾個基礎語言系發展出來的..
一個是C語系..包括C++,,等
另一種是BASIC語系....
等..
想發明自己的計算機語言學好最基礎的BASIC和C語言是個不錯的做法...
最好就學匯編吧..
9. 什麼是電腦的語言程序設計
在電腦時代的早期,有一個有趣的現象,那就是沒有人知道該如何撰寫電腦程序,也沒有人知道該如何訓練他人撰寫程序。數學家或其他科學家雖然具備解決這方面問題的能力,但是許多專業人員,好比從音樂到文學方面的專業,也同樣具有相當重要的貢獻。今天即使在處理許多先進的問題上,如人類學、哲學、藝術及心理學等觀念,非技術方面的專業人員亦引領著電腦科技的發展方向。
理由很簡單,無論有多少的硬體設備,電腦終究要被人類所使用,人類可能擔任操作者或程序設計人員的角色,不論是多媒體展示會的觀眾,或是受惠於電腦輔助設計教學的學生,在人機界面上,人類的智慧思維,與電子電路、物理及機械方面的知識,具有相同的重要性。
一旦有了程序語言,撰寫程序便顯得相當重要,我們再次強調,「語言」這種說法是非常恰當的,如同詩人、小說家或老師運用語言來寫詩、小說或課本一般,程序設計師利用程序語言來撰寫有用的或娛樂性的電腦程序。究竟現在有多少電腦程序存在呢?答案至少有數百萬個。有數以百計的主程序包含數以千計的副程序,而且有許多標准程序可供用戶修改成符合個別且特殊需求的程序。
在商場上被廣為採用的,是資料庫管理系統程序,或稱DBMS。簡單地說,資料庫是一種事件的搜集,通常這些事件之間有某種程度的關聯,如字典一般,電話簿就是一個資料庫;又如銀行建立的顧客的資料庫,內容詳列顧客的姓名、地址、賬號,以及投資或儲金的偏好,當一種新的存款方式上市,銀行便會列出顧客名單,並寄上簡介信給可能對此新產品有興趣的客戶。
對銀行來說,一種更富挑戰性的資料庫,是所謂的「同步資料庫」,這是一種隨時將數據更新的資料庫,對有提款機的銀行來說,這樣的程序是必須的,因為提款機必須立即進入用戶的賬戶,減掉客戶想要提取的金額,並更新該賬戶的記錄,如此一來,該賬戶便無法以連續提領的方式溢領現金,但這對銀行對客戶服務的方便性,與銀行提供該項服務的成本來說,具有相當大的影響。
不過,若我們以空中交通管制為例,這樣的資料庫可就不足為奇了。在這個例子中,飛機需確認其飛行於各大城市間的位置及其資料庫,是否與實際狀況同步,這是人命關天的事。空中交通管制人員便察覺到,擁有高速、同步更新的資料庫有助於監控工作隨時保持高度警戒。
資料庫僅是眾多有用的電腦程序中的一個,其他被廣為採用的尚包括:文字處理、數值分析、繪圖、圖表或其他數值顯示方式、教育或機械、建築設計,而最令人興奮的新程序種類,則是提供給程序設計的人員本身所使用的,這種新領域稱為電腦輔助軟體工程。
市場分析專家在近期的《電子工程師學會月刊》指出,電腦輔助軟體工程在90年代中期,將有50億美元的市場。簡單地說,電腦輔助軟體工程促進了軟體撰寫過程的自動化。盡管電腦語言的發展,在易於閱讀與撰寫方面已有長足的進步,但軟體的開發仍是相當耗時與昂貴的工作,並且一旦軟體開發完成,還必須經常更新與維護。換句話說,當一家公司購買一個龐大而昂貴的軟體之後,還必須買進該項程序專家的時間,來確保軟體的正常運作。
人們希望電腦輔助軟體工程能夠增進撰寫軟體的效率,使軟體工程師有更多的時間去開發其他程序,或探索他們開發程序的新方法。通常軟體工程師最常遇到的困難是,雖然他們對電腦技術所知甚多,但對其正在撰寫的程序的應用方面,卻沒有特別深入的了解,因此,藉由與程序使用者間的相處,對軟體工程師是否能提供適當的軟體給消費者,必定多有助益。
電腦輔助軟體工程的重要關鍵,是一種稱為物件導向程序設計的電腦語言模式,若沒有相當的程序設計相關知識,很難去解釋物件導向程序設計的意義,不過將其比喻成儲藏著許多不同種類工具的五金行,倒是一個可行的方式。當一個木匠開始一項工作時,他們可能需要錘子、鋸子、電動工具及其他零件材料;同樣的,電腦程序設計師使用物件導向程序設計,便是利用各種物件——即程序中的工具,將他們組成一個所需的程序。