1、學會了C語言都可以做什麼呢
1、做嵌入式開發;
2、寫漂亮的界面;
3、做伺服器開發;
4、可以寫游戲;
5、可以寫驅動程序;
6、可以寫外掛;
7、可以做視頻圖片流媒體處理;
8、可做網頁和爬蟲相關的編程。
C語言既具有高級語言的特點,又具有匯編語言的特點。它由美國貝爾研究所的D.M.Ritchie於1972年推出。1978後,C語言已先後被移植到大、中、小及微型機上。它可以作為工作系統設計語言,編寫系統應用程序,也可以作為應用程序設計語言,編寫不依賴計算機硬體的應用程序。
(1)網站程序設計中的可移植性擴展資料:
C語言的主要特點 :
1、C是結構式語言,結構式語言的顯著特點是代碼及數據的分隔化,即程序的各個部分除了必要的信息交流外彼此獨立。這種結構化方式可使程序層次清晰, 便於使用、維護以及調試。C語言是以函數形式提供給用戶的,這些函數可方便的調用,並具有多種循環、條件語句控製程序流向,從而使程序完全結構化。
2、C語法限制不太嚴格、程序設計自由度大。一般的高級語言語法檢查比較嚴,能夠檢查出幾乎所有的語法錯誤。而C語言允許程序編寫者有較大的自由度。
3、C語言允許直接訪問物理地址,可以直接對硬體進行操作,因此既具有高級語言的功能,又具有低級語言的許多功能,能夠象匯編語言一樣對位、位元組和地址進行操作,而這三者是計算機最基本的工作單元,可以用來寫系統軟體。
4、C語言程序生成代碼質量高,程序執行效率高,一般只比匯編程序生成的目標代碼效率低10~20%。
5、C語言適用范圍大,可移植性好C語言有一個突出的優點就是適合於多種操作系統,如DOS、UNIX,也適用於多種機型。
2、對編程而言可移植性意味著什麼
比如我用windows.h提供的函數寫了個窗口程序,那麼如果我要在linux上運行且達到專同樣的功能,必須把很多屬代碼都重新寫一遍,如果再來個macos就又要修改一遍,改的時候還可能出現新的error
如果我一開始就用qt庫寫這個窗口程序,就不用改代碼,只需要在linux或macos上重新編譯一次就行
因為qt庫封裝了系統底層api,使得你可以放心地調用api而不用管是哪個操作系統,可移植性大大提高
3、C++編程具有可移植性和安全性嗎
c++具有很強的可移植性和抄安全性,一個很常見的例子就是std::string::size_type變數,表示string的下標,詩歌usigned int,在不同的機器上有不同的范圍。至於安全性,最常見的就是用構造函數和析構函數防止內存泄露。還有c++提倡的「異常安全」的思想。這種例子還有很多。
4、簡述Java的特點?
Java是一種可以撰寫跨平台應用程序的面向對象的程序設計語言。Java 技術具有卓越的通用性、高效性、平台移植性和安全性,廣泛應用於PC、數據中心、游戲控制台、科學超級計算機、行動電話和互聯網,同時擁有全球最大的開發者專業社群。
Java語言是易學的。Java語言的語法與C語言和C++語言很接近,使得大多數程序員很容易學習和使用Java。另一方面,Java丟棄了C++中很少使用的、很難理解的、令人迷惑的那些特性,如操作符重載、多繼承、自動的強制類型轉換。特別地,Java語言不使用指針,而是引用。並提供了自動的廢料收集,使得程序員不必為內存管理而擔憂。
Java語言是強制面向對象的。Java語言提供類、介面和繼承等原語,為了簡單起見,只支持類之間的單繼承,但支持介面之間的多繼承,並支持類與介面之間的實現機制(關鍵字為implements)。Java語言全面支持動態綁定,而C++語言只對虛函數使用動態綁定。總之,Java語言是一個純的面向對象程序設計語言。
Java語言是分布式的。Java語言支持Internet應用的開發,在基本的Java應用編程介面中有一個網路應用編程介面(java net),它提供了用於網路應用編程的類庫,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(遠程方法激活)機制也是開發分布式應用的重要手段。
Java語言是健壯的。Java的強類型機制、異常處理、垃圾的自動收集等是Java程序健壯性的重要保證。對指針的丟棄是Java的明智選擇。Java的安全檢查機制使得Java更具健壯性。
Java語言是安全的。Java通常被用在網路環境中,為此,Java提供了一個安全機制以防惡意代碼的攻擊。除了Java語言具有的許多安全特性以外,Java對通過網路下載的類具有一個安全防範機制(類ClassLoader),如分配不同的名字空間以防替代本地的同名類、位元組代碼檢查,並提供安全管理機制(類SecurityManager)讓Java應用設置安全哨兵。
Java語言是體系結構中立的。Java程序(後綴為java的文件)在Java平台上被編譯為體系結構中立的位元組碼格式(後綴為class的文件),然後可以在實現這個Java平台的任何系統中運行。這種途徑適合於異構的網路環境和軟體的分發。
Java語言是可移植的。這種可移植性來源於體系結構中立性,另外,Java還嚴格規定了各個基本數據類型的長度。Java系統本身也具有很強的可移植性,Java編譯器是用Java實現的,Java的運行環境是用ANSI C實現的。[7]
Java語言是解釋型的。如前所述,Java程序在Java平台上被編譯為位元組碼格式,然後可以在實現這個Java平台的任何系統中運行。在運行時,Java平台中的Java解釋器對這些位元組碼進行解釋執行,執行過程中需要的類在聯接階段被載入到運行環境中。
Java是性能略高的。與那些解釋型的高級腳本語言相比,Java的性能還是較優的。
Java語言是原生支持多線程的。在Java語言中,線程是一種特殊的對象,它必須由Thread類或其子(孫)類來創建。通常有兩種方法來創建線程:其一,使用型構為Thread(Runnable)的構造子將一個實現了Runnable介面的對象包裝成一個線程,其二,從Thread類派生出子類並重寫run方法,使用該子類創建的對象即為線程。值得注意的是Thread類已經實現了Runnable介面,因此,任何一個線程均有它的run方法,而run方法中包含了線程所要運行的代碼。線程的活動由一組方法來控制。Java語言支持多個線程的同時執行,並提供多線程之間的同步機制(關鍵字為synchronized)。
Java語言是動態的。Java語言的設計目標之一是適應於動態變化的環境。Java程序需要的類能夠動態地被載入到運行環境,也可以通過網路來載入所需要的類。這也有利於軟體的升級。另外,Java中的類有一個運行時刻的表示,能進行運行時刻的類型檢查。
5、設計查詢學生信息的函數和學生成績統計程序
基本原理和這個通訊錄數據處理程序相似,提問者稍加修改就可以使用。
clear
set safe off
use txl
text
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
※ 1.輸入 2.修改 3.插入 4.刪除 ※
※ 5.按姓名升序顯示 6.按郵政編碼升序顯示 ※
※ 7.按姓名查詢 8.退出 ※
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
endtext
input "請按數字鍵選擇" to aa
do case
case aa=1
go bott
accept "請輸入姓名:" to xm
accept "請輸入性別:" to xb
accept "請輸入電話號碼:" to dhhm
accept "請輸入家庭住址:" to jtzz
accept "請輸入工作單位:" to gzdw
accept "請輸入郵政編碼:" to yzbm
repl 姓名 with xm,性別 with xb, 電話號碼 with dhhm,家庭住址 with jtzz,工作單位 with gzdw,郵政編碼 with yzbm
case aa=2
input"請輸入您要修改的記錄的編號:" to c
go c
? "請修改第"+str(c,1)+"個人的數據!"
disp
accept "請輸入姓名:" to xm
accept "請輸入性別:" to xb
accept "請輸入電話號碼:" to dhhm
accept "請輸入家庭住址:" to jtzz
accept "請輸入工作單位:" to gzdw
accept "請輸入郵政編碼:" to yzbm
repl 姓名 with xm,性別 with xb, 電話號碼 with dhhm,家庭住址 with jtzz,工作單位 with gzdw,郵政編碼 with yzbm
case aa=3
append blank
accept "請輸入姓名:" to xm
accept "請輸入性別:" to xb
accept "請輸入電話號碼:" to dhhm
accept "請輸入家庭住址:" to jtzz
accept "請輸入工作單位:" to gzdw
accept "請輸入郵政編碼:" to yzbm
repl 姓名 with xm,性別 with xb, 電話號碼 with dhhm,家庭住址 with jtzz,工作單位 with gzdw,郵政編碼 with yzbm
case aa=4
input "請輸入您想要刪除的記錄號" to d
go d
delete
accept "確認刪除請按小寫字母y,否則取消刪除)" to e
if e="y"
pack
else
recall
endif
case aa=5
index on 姓名 to xm
list
case aa=6
index on 郵政編碼 to yzbm
list
case aa=7
accept "請輸入您要查詢的姓名" to f
list for 姓名=f
case aa=8
wait "系統即將關閉" window timeout 3
exit
othe
messagebox("請重新選擇",0+64,"出錯了")
endc
set safe on
*這個程序能完成任務,不過界面不好。可以這樣修改:
*新建一個表單(主表單,表單1),增加8個按鈕,每個按鈕的名稱caption同上面程序中的菜單;再增加一個按鈕,caption為「退出」,保存表單1。
*新建一個數據處理表單(表單2),向表單添加標簽,caption為「姓名」,再增加一個文本控制項text1,用來處理「姓名」數據;繼續向表單添加標簽,caption為「性別」,增加一個文本控制項text2,用來處理「性別」數據;.........向表單添加標簽,caption為「郵政編碼」,再增加一個文本控制項text6,用來處理「郵政編碼」數據。把標簽和文本控制項適當整理齊整。增加一個按鈕,caption 為「保存」,再增加一個按鈕,caption為「退出」,
雙擊表單空白處,出現load事件,輸入
thisform.text1.value=xm
thisform.text2.value=xb
thisform.text3.value=dhhm
thisform.text4.value=jtzz
thisform.text5.value=gzdw
thisform.text6.value=yzbm
輸入完畢,關閉load事件,這是給表單2的幾個控制項賦初值。
雙擊「退出」按鈕,輸入
thisform.release
關閉事件,雙擊「保存」按鈕,輸入
repl 姓名 with thisform.text1.value,;
性別 with thisform.text2.value,;
電話號碼 with thisform.text2.value,;
家庭住址 with thisform.text2.value,;
工作單位 with thisform.text2.value,;
郵政編碼 with thisform.text2.value
保存表單2。
打開表單1,雙擊表單的空白處,出現load事件,輸入:
set safe off
use txl
public xm,xb,dhhm,jtzz,gzdw,yzbm
雙擊「輸入」按鈕,輸入
go bott
*下面給表單2賦初值
xm=姓名
xb=性別
dhhm=電話號碼
jtzz=家庭住址
gzdw=工作單位
yzdm=郵政編碼
do form 表單2
雙擊「修改」按鈕,輸入
input"請輸入您要修改的記錄的編號:" to c
go c
*下面給表單2賦初值
xm=姓名
xb=性別
dhhm=電話號碼
jtzz=家庭住址
gzdw=工作單位
yzdm=郵政編碼
do form 表單2
雙擊「插入」按鈕,輸入
appe blank
*下面給表單2賦初值
xm=姓名
xb=性別
dhhm=電話號碼
jtzz=家庭住址
gzdw=工作單位
yzdm=郵政編碼
do form 表單2
雙擊「刪除」按鈕,輸入
input "請輸入您想要刪除的記錄號" to d
go d
delete
accept "確認刪除請按小寫字母y,否則取消刪除)" to e
if e="y"
pack
else
recall
endif
雙擊「按姓名升序顯示」按鈕,輸入
index on 姓名 to xm
brow
雙擊「按郵政編碼升序顯示」按鈕,輸入
index on 郵政編碼 to yzbm
brow
雙擊「按姓名查詢」按鈕,輸入
accept "請輸入您要查詢的姓名" to f
brow for 姓名=f
雙擊「退出」按鈕,輸入
close data
set safe on
thisform.release
6、編程語言是如何做到平台的無關性、可移植性?
編譯器有前端和後端之說,前端先生成一個中間語言程序,後端把中間語言解釋或編版譯為平台可執行的權或平台上安裝的虛擬機可執行的代碼,Java先編譯為Java位元組碼,然後由java虛擬機(平台上做的程序,就是位元組碼解釋器)執行!c,cxx則是各做一個編譯器。代碼相同各機器自行編譯,由於前端一樣可以識別c程序中語言代碼也相同,後端則平台相關把中間語言變成機器碼這樣!編譯器的移植只要在實現一個後端就可以了!前端的實現完全一樣!所以可以跨平台執行!
7、機器語言是計算機系統唯一識別的程序設計語言 其通用性和移植性較強 這句話怎麼改才正確
機器語言是 唯一識別 計算機系統的程序設計語言,
其通用性和移植性較強 。
8、C語言編程以下對匯編語言正確的說法是 ( ) A.平台相關的 B.可移植性很強的 C.解釋性的 D.高級語言
選 :A
匯編語言跟平台相關,因為相關,所以可移植性不強。匯編不是高級語言。 解釋性的語言是高級語言。
9、編程中代碼可讀性指的是什麼意思,還有可移植性,說的詳細點,哪位高手能告訴下~謝謝了!
代碼可讀性就是說你的代碼給別人看別人能很容易看出你的思路,可移植性就是說當其他的項目需要相同的功能時直接復制代碼就可以掉用功能
10、利用MATLAB編程問題「面積單位換算的設計和實現」
編程
這是每個游戲編程FAQ里都有的問題。這個問題每星期都會在游戲開發論壇上被問上好幾次。這是個很好的問題,但是,沒人能給出簡單的答案。在某些應用程序中,總有一些計算機語言優於其他語言。下面是幾種用於編寫游戲的主要編程語言的介紹及其優缺點。希望這篇文章能幫助你做出決定。
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有很多簡潔的功能,但是慢。創作工具可以以最快的速度產生你的程序,但是僅對某一些類型的程序起作用。最好的方法是決定你要寫什麼樣的游戲,並選擇對你的游戲支持最好的語言。「試用三十天」的做法成為工業標準是件好事情。