時(shí)間:2022-08-22 03:37:24
序論:寫(xiě)作是一種深度的自我表達(dá)。它要求我們深入探索自己的思想和情感,挖掘那些隱藏在內(nèi)心深處的真相,好投稿為您帶來(lái)了七篇編程語(yǔ)言范文,愿它們成為您寫(xiě)作過(guò)程中的靈感催化劑,助力您的創(chuàng)作。
關(guān)鍵詞:?jiǎn)纹瑱C(jī);編程
中圖分類號(hào):TP312文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2007)03-10765-01
1 引言
隨著單片機(jī)技術(shù)日新月益的發(fā)展,學(xué)習(xí)它的人可是越來(lái)越多了。對(duì)于初學(xué)者來(lái)說(shuō),好多人一開(kāi)始總會(huì)被單片機(jī)的各種各樣的編程語(yǔ)言搞糊涂了。因?yàn)閱纹瑱C(jī)目前的編程語(yǔ)言常見(jiàn)的有四種,即匯編語(yǔ)言、C語(yǔ)言、PL/M和BASIC。究竟要學(xué)哪一種編程語(yǔ)言好呢?我們先來(lái)做個(gè)比較吧。
2 單片機(jī)的BASIC編程語(yǔ)言
BASIC是一種高級(jí)語(yǔ)言,它的英文含義是“初學(xué)者通用符號(hào)指令代碼”,是在1965年5月,由美國(guó)科學(xué)家托馬斯?庫(kù)爾茲研制出來(lái)的。10多年后,微軟公司把它移植到微型機(jī)上。幾十多年來(lái),BASIC語(yǔ)言一直被認(rèn)為是初學(xué)編程的語(yǔ)言。它已經(jīng)由QBASIC發(fā)展到VB#版本,具備了很多結(jié)構(gòu)化思想和編程方式,如函數(shù)、模塊、局部變量、全局變量、數(shù)據(jù)傳遞等。早期的BASIC語(yǔ)言由于生成的代碼不是最終目標(biāo)機(jī)器的代碼,而是經(jīng)過(guò)一個(gè)RUNTIME程序解釋后運(yùn)行的,所以執(zhí)行效率低。而單片機(jī)的BASIC編譯器是直接將程序代碼編譯成相應(yīng)芯片的機(jī)器碼,不需要在單片機(jī)的內(nèi)存中駐留RUNTIME程序,執(zhí)行效率與其他編譯器編譯出來(lái)的一樣。
我們現(xiàn)在以MCS-Electronics公司開(kāi)發(fā)出來(lái)的BASCOM-8051開(kāi)發(fā)環(huán)境為例,簡(jiǎn)要介紹一下以BASIC語(yǔ)言為基礎(chǔ)的單片機(jī)編程系統(tǒng)。
它和一般BASIC語(yǔ)言一樣具有如:For、To、Step、If、Else、End 、Select Case等等命令,其用法及功能是沒(méi)有什么區(qū)別的,因此初學(xué)者比較容易入門。
另外,它還有針對(duì)單片機(jī)硬件所設(shè)計(jì)的命令如:LCD命令可以用一條命令來(lái)實(shí)現(xiàn)LCD的顯示操作。
Cls '清LCD屏
Lcd"Hello world." '向LCD輸入字符串
類似于這樣的命令主要是提供了直接對(duì)單片機(jī)及其外部硬件的操作,特別是提供了對(duì)單片機(jī)端口的直接操作,如:P1、P2、P2.1、P0.3等等,簡(jiǎn)化了整個(gè)開(kāi)發(fā)過(guò)程,是開(kāi)發(fā)人員重點(diǎn)學(xué)習(xí)的部分。
例如有硬件電路如圖(1)所示,編程使發(fā)光二極管間隔兩秒鐘閃爍一次的程序如下:
While I = 2
P1.0 = Not P1.0
Wait I
Wend
End
3 單片機(jī)的PL/M編程語(yǔ)言
PL/M 語(yǔ)言是Intel公司從8080微處理器開(kāi)始為其系列產(chǎn)品開(kāi)發(fā)的編程語(yǔ)言,其特點(diǎn)是:
3.1 簡(jiǎn)單易學(xué)
PL/M-51語(yǔ)言只有兩類語(yǔ)句:一類是說(shuō)明語(yǔ)句,用于說(shuō)明變量和過(guò)程;另一類是可執(zhí)行語(yǔ)句,如賦值語(yǔ)句、條件語(yǔ)句和循環(huán)語(yǔ)句等。這些語(yǔ)句的功能和BASIC語(yǔ)言中相應(yīng)的語(yǔ)句相似,如:
P1=02H;/*賦值語(yǔ)句*/
IF M>2 THEN N=P1;/*條件語(yǔ)句*/
DO I=0 TO 10;/*循環(huán)語(yǔ)句 */
3.2 可讀性好
PL/M-51是一種結(jié)構(gòu)化語(yǔ)言,其程序是塊式結(jié)構(gòu),可采用縮進(jìn)式方法書(shū)寫(xiě)源程序,使程序?qū)哟吻宄阌诶斫夂烷喿x。一個(gè)完整的程序可由多個(gè)模塊組成,而每個(gè)模塊又是由多個(gè)程序塊構(gòu)成。
3.3 可靠性高
PL/M-51編譯軟件檢查用戶程序?qū)纹瑱C(jī)的各種資源使用情況,對(duì)沖突使用情況或不合理使用情況能提出警告,并能自動(dòng)為用戶程序合理分配內(nèi)存。
3.4 隔離性好
PL/M-51中,既可有全局的靜態(tài)變量,也可有局部的動(dòng)態(tài)變量,對(duì)于全局性的靜態(tài)變量,其性質(zhì)和BASIC中的變量一樣,該變量在整個(gè)程序中均有效。對(duì)于局部的動(dòng)態(tài)變量,它只有在其所說(shuō)明的程序塊中或過(guò)程中有效,在該程序塊或過(guò)程之外則無(wú)效。局部動(dòng)態(tài)變量的特點(diǎn)是,當(dāng)由多個(gè)人共同編制一個(gè)程序中的不同模塊時(shí),而不必?fù)?dān)心是否使用了相同的標(biāo)識(shí)符而發(fā)生沖突。模塊化的程序設(shè)計(jì)增加了程序設(shè)計(jì)的靈活性的方便性。
3.5 兼容性好
PL/M-51可同匯編語(yǔ)言或其他語(yǔ)言的目標(biāo)模塊連接起來(lái),生成可執(zhí)行代碼如果用戶必須使用匯編語(yǔ)言編制一段程序,或是想利用已調(diào)好的匯編語(yǔ)言程序塊,那么該段匯編可以很方便地連接到PL/M-51程序目標(biāo)塊中。
3.6 具有良好的算法庫(kù)和庫(kù)管理能力
PL/M-51語(yǔ)言具有INTEL公司所提供的算法庫(kù)和庫(kù)管理功能用戶能利用現(xiàn)成的算法庫(kù)完成加、減、乘、除等運(yùn)算,并能建立自己的特定算法庫(kù),使得編程一勞永逸,提高軟件的開(kāi)發(fā)效率。
由上面幾點(diǎn)可見(jiàn),PL/M語(yǔ)言是類似于Pascal一種語(yǔ)言,是一種結(jié)構(gòu)化語(yǔ)言。PL/M編譯器好像匯編器一樣可產(chǎn)生緊湊代碼,可以說(shuō)它是一種"高級(jí)匯編語(yǔ)言",可詳細(xì)控制著代碼的生成。但對(duì)51系列的單片機(jī)來(lái)說(shuō),PL/M不支持復(fù)雜的
算術(shù)運(yùn)算、浮點(diǎn)變量而無(wú)豐富的庫(kù)函數(shù)支持。學(xué)習(xí)PL/M無(wú)異于學(xué)習(xí)一種新語(yǔ)言。
4 單片機(jī)的匯編語(yǔ)言
匯編語(yǔ)言是一種用文字助記符來(lái)表示機(jī)器指令的符號(hào)語(yǔ)言,是最接近機(jī)器碼的一種語(yǔ)言。其主要優(yōu)點(diǎn)是占用資源少,程序執(zhí)行效率高,由于它一條指令就對(duì)應(yīng)一條機(jī)器碼,每一步的執(zhí)行動(dòng)作都很清楚,并且程序大小和堆棧調(diào)用情況都容易控制,調(diào)試起來(lái)也比較方便。但是不同的類型的單片機(jī),其匯編語(yǔ)言可能有點(diǎn)差異,所以不易移植。比如你在PIC12CE518單片機(jī)上用匯編語(yǔ)言編了一個(gè)程序,到了STC89C51單片機(jī)上那可就運(yùn)行不了,因?yàn)樗麄兊闹噶钕到y(tǒng)是有區(qū)別的。
單片機(jī)的匯編語(yǔ)言非常像其他匯編語(yǔ)言。指令系統(tǒng)比第一代微處理器要強(qiáng)一些。但單片機(jī)擁有不同存儲(chǔ)區(qū)域使得其編程變得復(fù)雜一些,可是作為一位電子工程師,懂得匯編語(yǔ)言就可幫助你了解影響任何語(yǔ)言效率的特殊規(guī)定。例如,懂得匯編語(yǔ)言指令就可以使用在片內(nèi)RAM作變量的優(yōu)勢(shì),因?yàn)槠庾兞啃枰獛讞l指令才能設(shè)置累加器和數(shù)據(jù)指針進(jìn)行存取。同樣的,當(dāng)要求使用浮點(diǎn)數(shù)和啟用函數(shù)時(shí)也只有具備匯編編程經(jīng)驗(yàn)才能避免生成龐大的、效率低的程序,對(duì)于這方面的編程,沒(méi)有匯編語(yǔ)言是做不到的。
5 單片機(jī)的C語(yǔ)言
單片機(jī)的C語(yǔ)言是一種編譯型程序設(shè)計(jì)語(yǔ)言,它兼顧了多種高級(jí)語(yǔ)言的特點(diǎn),并具備匯編語(yǔ)言的功能。C語(yǔ)言具有功能豐富的庫(kù)函數(shù),運(yùn)算速度快,編譯效率高,有良好的可移植性,而且可以實(shí)現(xiàn)直接對(duì)系統(tǒng)硬件的控制。此外,C語(yǔ)言程序具有完整的程序模塊結(jié)構(gòu),從而為軟件開(kāi)發(fā)中采用模塊化程序設(shè)計(jì)方法提供了有力的保障。與匯編相比,有如下優(yōu)點(diǎn):
(1)對(duì)單片機(jī)的指令系統(tǒng)不要求了解,僅要求對(duì)51的存儲(chǔ)器結(jié)構(gòu)有初步了解,至于寄存器分配、不同存儲(chǔ)器的尋址及數(shù)據(jù)類型等細(xì)節(jié)均由編譯器管理。
(2)程序有規(guī)范的結(jié)構(gòu),可分為不同的函數(shù)。這種方式可使程序結(jié)構(gòu)化,將可變的選擇與特殊操作組合在一起,改善了程序的可讀性。
(3)編程及程序調(diào)試時(shí)間顯著縮短,從而提高效率。 提供的庫(kù)包含許多標(biāo)準(zhǔn)子程序,具有較強(qiáng)的數(shù)據(jù)處理能將已編好程序可容易的植入新程序,因?yàn)樗哂蟹奖愕哪K化編程技術(shù)。
單片機(jī)C語(yǔ)言作為一種非常方便的語(yǔ)言而得到廣泛的支持,C語(yǔ)言程序本身并不依賴于機(jī)器硬件系統(tǒng),基本上不做修改就可根據(jù)單片機(jī)的不同較快地移植過(guò)來(lái)。
綜上所述,單片機(jī)的四種編程語(yǔ)言各有各的優(yōu)缺點(diǎn),作為單片機(jī)初學(xué)者,筆者認(rèn)為還是應(yīng)該先學(xué)習(xí)匯編語(yǔ)言,不一定要學(xué)得很精很熟悉,但要有一定的了解。因?yàn)閰R編語(yǔ)言程序除了具有簡(jiǎn)潔明快、跳躍性強(qiáng)、占ROM資源少等優(yōu)點(diǎn)以外,還因它和單片機(jī)底層硬件緊密聯(lián)系,可以讓初學(xué)者更加了解單片機(jī)硬件系統(tǒng)各種資源,熟悉各個(gè)功能模塊的作用,從而為編出更高效率的程序打好扎實(shí)的基礎(chǔ)。
用單片機(jī)匯編語(yǔ)言編寫(xiě)的程序代碼效率高,但學(xué)習(xí)起來(lái)相對(duì)難度較大,而且對(duì)于一個(gè)大型項(xiàng)目,如果完全采用匯編語(yǔ)言來(lái)編程,就顯得很繁瑣,尤其是遇到算法方面的問(wèn)題時(shí),匯編語(yǔ)言根本就應(yīng)付不了。況且現(xiàn)在單片機(jī)的主頻在不斷的提高,在高頻率時(shí)鐘的作用下,我們完全不需要那么高效率的代碼;另外,單片機(jī)的ROM和RAM空間也在不斷的增加,足夠裝得下你用C語(yǔ)言寫(xiě)的任何程序代碼,單片機(jī)C語(yǔ)言相關(guān)的資料又多又好找,可移植性非常好,比如只需要改變一個(gè)IO口寫(xiě)個(gè)溫度傳感器的程序在任何一個(gè)單片機(jī)上都能使用。由此可見(jiàn)用單片機(jī)C語(yǔ)言進(jìn)行程序設(shè)計(jì),已成為單片機(jī)軟件開(kāi)發(fā)的一個(gè)主流,作為一個(gè)技術(shù)全面并涉足較大規(guī)模的軟件系統(tǒng)開(kāi)發(fā)的單片機(jī)開(kāi)發(fā)人員最好能夠掌握基本的C語(yǔ)言編程。
當(dāng)然,有時(shí)候用單片機(jī)C語(yǔ)言也不能夠?qū)崿F(xiàn)所有要編寫(xiě)程序的功能,比如當(dāng)想編寫(xiě)一個(gè)精確控制的定時(shí)程序時(shí),用起匯編語(yǔ)言來(lái)還是比較方便的。因此想成為一個(gè)優(yōu)秀的單片機(jī)編程技術(shù)員,最好就是能懂得單片機(jī)C語(yǔ)言和匯編語(yǔ)言的混合編程。
參考文獻(xiàn):
[1]藍(lán)點(diǎn)方舟科技網(wǎng). . 8051系列單片機(jī)BASIC語(yǔ)言開(kāi)發(fā)環(huán)境簡(jiǎn)介[Z].
[2]/. PL/M-51高級(jí)語(yǔ)言特點(diǎn)[Z].
[3]王杰潔,耿英杰. 單片機(jī)C語(yǔ)言和匯編語(yǔ)言的簡(jiǎn)單比較[Z].
[關(guān)鍵詞]編程語(yǔ)言;計(jì)算機(jī);分析研究
中圖分類號(hào):TP311.11 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-914X(2017)02-0115-01
一、計(jì)算機(jī)編程語(yǔ)言的主要類型
(一)C語(yǔ)言
在20世紀(jì)80年代,C語(yǔ)言即得到了廣泛的應(yīng)用,同時(shí)由于其是基于B語(yǔ)言而開(kāi)發(fā)所得,因而C語(yǔ)言在應(yīng)用過(guò)程中逐漸凸顯出兼顧高級(jí)語(yǔ)言、低級(jí)語(yǔ)言的優(yōu)勢(shì),因而在當(dāng)代計(jì)算機(jī)軟件開(kāi)發(fā)過(guò)程中應(yīng)強(qiáng)調(diào)對(duì)其的合理化運(yùn)用,同時(shí)將其含有的34種運(yùn)算符、9種控制語(yǔ)句貫穿于計(jì)算機(jī)編程語(yǔ)言設(shè)定過(guò)程中,由此來(lái)豐富計(jì)算機(jī)語(yǔ)言表達(dá)能力,并強(qiáng)化其與用戶間的有效溝通。此外,就當(dāng)前的現(xiàn)狀來(lái)看,現(xiàn)在的C語(yǔ)言包含有C、C++、C#和Objective-C語(yǔ)言等幾種類型,因而由此呈現(xiàn)出語(yǔ)言緊湊、使用靈活、自由度較高的特點(diǎn),為此通過(guò)對(duì)C語(yǔ)言的應(yīng)用可由此優(yōu)化語(yǔ)言交流環(huán)境,同時(shí)激發(fā)用戶語(yǔ)言應(yīng)用興趣。另外,圖形功能、邏輯判斷功能、計(jì)算功能亦是C語(yǔ)言應(yīng)用過(guò)程中凸顯出的主要優(yōu)勢(shì),即其可將抽象的數(shù)據(jù)信息直觀化,因而應(yīng)注重將其應(yīng)用于計(jì)算軟件開(kāi)發(fā)過(guò)程中,并以C++、C#和Objective-C的設(shè)計(jì)形式擴(kuò)大C語(yǔ)言應(yīng)用范圍[1]。
(二)Vinsual Basic語(yǔ)言
Vinsual Basic語(yǔ)言即可視化語(yǔ)言于1991年被相關(guān)專家學(xué)者開(kāi)發(fā)出來(lái),Vinsual Basic語(yǔ)言在運(yùn)用的過(guò)程中透過(guò)面向?qū)ο髾C(jī)制⒏叢映絳蟶杓莆侍餳虻セ,且由此整合成對(duì)象集,繼而便于用戶對(duì)自身所需數(shù)據(jù)進(jìn)行整合與操控。Vinsual Basic語(yǔ)言與C語(yǔ)言相比,其應(yīng)用優(yōu)勢(shì)主要體現(xiàn)在以下幾個(gè)方面:第一,Vinsual Basic語(yǔ)言在應(yīng)用過(guò)程中由于其具備事件驅(qū)動(dòng)編程及可視化編程特點(diǎn),因而用戶可透過(guò)該語(yǔ)言全面掌控到程序運(yùn)作過(guò)程中所涉及到的內(nèi)容,并對(duì)其進(jìn)行合理化操控;第二,Vinsual Basic語(yǔ)言在開(kāi)發(fā)過(guò)程中逐步實(shí)現(xiàn)了界面與程序的同步運(yùn)行,即用戶可通過(guò)界面操控不同類型對(duì)象,并基于編程簡(jiǎn)化的基礎(chǔ)上對(duì)后期工作進(jìn)行維修;第三,Vinsual Basic語(yǔ)言在應(yīng)用過(guò)程中其適用范圍較為廣泛,因而可強(qiáng)化對(duì)其的有效應(yīng)用[2]。
(三)JAVA
JAVA于1995年5月被推出,其作為程序設(shè)計(jì)語(yǔ)言中的一種,可實(shí)現(xiàn)跨平臺(tái)、動(dòng)態(tài)的Web、Internet計(jì)算,同時(shí)被廣泛應(yīng)用于Web設(shè)計(jì)領(lǐng)域中,支撐當(dāng)前瀏覽器的運(yùn)用。此外,就當(dāng)前的現(xiàn)狀來(lái)看,JAVA程序設(shè)計(jì)語(yǔ)言在應(yīng)用過(guò)程中需要應(yīng)用編程接口、虛擬機(jī)等部件的支撐,最終為Web服務(wù)、通信API等提供了良好的服務(wù)項(xiàng)目。
二、計(jì)算機(jī)編程語(yǔ)言選用原則
就當(dāng)前的現(xiàn)狀來(lái)看,計(jì)算機(jī)編程語(yǔ)言選用原則主要包括以下幾個(gè)方面:第一,在計(jì)算機(jī)編程語(yǔ)言選擇過(guò)程中應(yīng)充分考慮到硬件環(huán)境因素的影響,且結(jié)合硬件技術(shù)更新速度較快的特點(diǎn),盡量在計(jì)算機(jī)語(yǔ)言編程過(guò)程中將軟件調(diào)整控制在較為簡(jiǎn)便的狀態(tài);第二,平臺(tái)的支持性決定著編程語(yǔ)言應(yīng)用成效,因而在計(jì)算機(jī)編程語(yǔ)語(yǔ)言選用過(guò)程中亦應(yīng)強(qiáng)調(diào)結(jié)合C語(yǔ)言、Vinsual Basic語(yǔ)言、Python、PHP、JAVA各自優(yōu)勢(shì),繼而達(dá)到良好的語(yǔ)言選用狀態(tài);第三,在軟件開(kāi)發(fā)過(guò)程中由于計(jì)算機(jī)編程語(yǔ)言是程序運(yùn)行的關(guān)鍵,因而程序員應(yīng)對(duì)程序總體需求展開(kāi)調(diào)查行為,且對(duì)其需求數(shù)據(jù)信息進(jìn)行整合,繼而在此基礎(chǔ)上選用適宜的編程語(yǔ)言應(yīng)用類型,避免編程錯(cuò)誤問(wèn)題的凸顯;第四,在計(jì)算機(jī)編程語(yǔ)言選用過(guò)程中充分考慮程序員對(duì)編程語(yǔ)言熟悉度及語(yǔ)言開(kāi)發(fā)成本是非常必要的,因而應(yīng)著重提高對(duì)其的重視程度[3]。
三、常用的計(jì)算機(jī)編程語(yǔ)言選用技巧
基于計(jì)算機(jī)編程語(yǔ)言選用的基礎(chǔ)上,要求程序員在C語(yǔ)言選用過(guò)程中應(yīng)注重結(jié)合其可移植性,以混合編程的方法來(lái)達(dá)到語(yǔ)言選用目的。同時(shí)隨著現(xiàn)代化計(jì)算機(jī)技術(shù)的不斷發(fā)展,高校在開(kāi)展實(shí)踐教學(xué)過(guò)程中逐漸將C語(yǔ)言納入課程教學(xué)范圍內(nèi),就此提高了學(xué)生C語(yǔ)言應(yīng)用能力,因而在計(jì)算軟件開(kāi)發(fā)過(guò)程中應(yīng)著重強(qiáng)調(diào)對(duì)C語(yǔ)言的選用。此外,在Vinsual Basic語(yǔ)言選用過(guò)程中應(yīng)注重結(jié)合其執(zhí)行效率較低的特點(diǎn),將其應(yīng)用于復(fù)雜的程序環(huán)境下且保障執(zhí)行效率滿足程序運(yùn)行需求。另外,在利用匯編語(yǔ)言進(jìn)行程序編寫(xiě)的過(guò)程中應(yīng)注重結(jié)合其結(jié)構(gòu)較為復(fù)雜的特性,將其應(yīng)用于初始化程序編寫(xiě)過(guò)程中,以此來(lái)形成效率較高的語(yǔ)言編寫(xiě)狀態(tài),并就此滿足程序運(yùn)行需求。在JAVA語(yǔ)言選用過(guò)程中應(yīng)注重將其置入到Web服務(wù)環(huán)境下,同時(shí)提供靈活的環(huán)境,且以一次應(yīng)用程序編寫(xiě)的形式將其應(yīng)用于設(shè)備中,同時(shí)在JAVA語(yǔ)言選用過(guò)程中配置+、-、++、a>b?true:false等運(yùn)算符號(hào),由此滿足JAVA語(yǔ)言應(yīng)用需求。而在PHP語(yǔ)言選用過(guò)程中,應(yīng)有助于結(jié)合PHP語(yǔ)言可應(yīng)用于所有流行數(shù)據(jù)庫(kù)、操作系統(tǒng)的特點(diǎn),在語(yǔ)言選用過(guò)程中將其置入到特定環(huán)境下,并注重以C、C++進(jìn)行PHP程度語(yǔ)言的拓展,且注重在PHP計(jì)算機(jī)編程語(yǔ)言選用過(guò)程中配置IS API篩選器,達(dá)到語(yǔ)言應(yīng)用目的。除此之外,在Python計(jì)算機(jī)編程語(yǔ)言選用過(guò)程中應(yīng)注重將其應(yīng)用于EXCEL等日常操作中[4]。
結(jié)論
綜上可知,編程語(yǔ)言的選用在計(jì)算機(jī)軟軟件開(kāi)發(fā)過(guò)程中起著至關(guān)重要的影響作用,因而在此基礎(chǔ)上為了提升整體程序運(yùn)行效率,要求程序員在實(shí)際工作開(kāi)展過(guò)程中應(yīng)強(qiáng)化對(duì)匯編語(yǔ)言、Vinsual Basic語(yǔ)言、C語(yǔ)言優(yōu)勢(shì)的掌握,并結(jié)合編程語(yǔ)言選用技巧達(dá)到良好的語(yǔ)言選用狀態(tài),且就此提升整體軟件開(kāi)發(fā)效率,滿足程序編寫(xiě)需求,同時(shí)就此提升計(jì)算機(jī)整體使用性能,與用戶達(dá)成良好的語(yǔ)言交流及溝通。
參考文獻(xiàn)
[1] 滕飛.基于C語(yǔ)言的計(jì)算機(jī)軟件編程實(shí)驗(yàn)研究[J].無(wú)線互聯(lián)科技,2014,21(11):47+79.
[2] 邢如意.Linux系統(tǒng)下計(jì)算機(jī)C語(yǔ)言的編程技巧分析[J].電腦知識(shí)與技術(shù),2014,45(36):8674-8675+8690.
關(guān)鍵詞:Web應(yīng)用開(kāi)發(fā);JAVA編程語(yǔ)言;應(yīng)用
JAVA編程語(yǔ)言順應(yīng)潮流隨著互聯(lián)網(wǎng)的興起而成長(zhǎng)壯大以其安全性、可移植性、多線程等特性贏得廣大開(kāi)發(fā)者的追捧。雖然JAVA在某些特定領(lǐng)域不是最優(yōu)解,但作為互聯(lián)網(wǎng)與產(chǎn)品需求間的銜接工具,JAVA仍然展現(xiàn)出其強(qiáng)大的適應(yīng)能力和表達(dá)能力,相信在未來(lái)的一段時(shí)間里它仍然有很強(qiáng)的生命力和強(qiáng)大的號(hào)召力。
1 Web應(yīng)用的特點(diǎn)
1.1 免安裝
與以往的C/S模式不同,若想使用Web應(yīng)用程序,你不再需要下載安裝專用的客戶端軟件,無(wú)論你在什么地方使用什么樣的網(wǎng)絡(luò)什么樣的操作系統(tǒng)這些都不會(huì)成為限制,只需要接入互聯(lián)網(wǎng)打開(kāi)瀏覽器輸入Web應(yīng)用的訪問(wèn)地址即可立即與服務(wù)端建立連接進(jìn)行信息的交互。
1.2 最新內(nèi)容
無(wú)需安裝專用的客戶端也就沒(méi)有客戶端版本限制的問(wèn)題更沒(méi)有客戶端升級(jí)過(guò)程。只要通過(guò)瀏覽器打開(kāi)Web應(yīng)用程序,呈現(xiàn)在用戶面前的總是最新的版本(此處可暫時(shí)忽略各級(jí)緩存造成的版本不同步問(wèn)題)。
1.3 跨平臺(tái)
當(dāng)下的Web訪問(wèn)通常是基于開(kāi)放的HTTP應(yīng)用層協(xié)議的,所以只要依照HTTP協(xié)議標(biāo)準(zhǔn)開(kāi)發(fā)Web瀏覽器就能與Web應(yīng)用交互信息。由于在不同的平_都已經(jīng)有了比較成熟的瀏覽器Web已經(jīng)具備了類似于JAVA的“一次編寫(xiě)隨處可用”的特性,系統(tǒng)運(yùn)行環(huán)境不再是難以逾越的障礙。
1.4 開(kāi)放互聯(lián)
Web應(yīng)用程序可以通過(guò)鏈接將彼此聯(lián)系在一起,上一秒還在國(guó)內(nèi)門戶網(wǎng)站瀏覽下一秒可能就跳轉(zhuǎn)到了國(guó)外的某個(gè)新聞?wù)尽C恳粋€(gè)鏈接都能將用戶引導(dǎo)至相應(yīng)的內(nèi)容上,所有用戶都可以公平地訪問(wèn)內(nèi)容,并產(chǎn)生新的內(nèi)容。信息的傳播與獲取都只在彈指一揮間。
1.5 足夠快
無(wú)論是服務(wù)器、數(shù)據(jù)傳輸設(shè)備還是互聯(lián)網(wǎng)終端,硬件的進(jìn)步從來(lái)沒(méi)有停止過(guò),計(jì)算、傳輸、渲染速度提升都已超乎想象,如今一部手機(jī)的硬件參數(shù)已經(jīng)可以比肩三兩年前的筆記本電腦甚至是臺(tái)式機(jī)。硬件性能提升量的積累最終導(dǎo)致了一個(gè)質(zhì)的轉(zhuǎn)變:對(duì)于越來(lái)越多的軟件而言,Web應(yīng)用程序已經(jīng)足夠快,原生應(yīng)用在逐漸被替代,輕結(jié)構(gòu)的應(yīng)用程序原來(lái)越多。
2 JAVA語(yǔ)言在Web開(kāi)發(fā)中的優(yōu)勢(shì)
2.1 簡(jiǎn)單的語(yǔ)法
對(duì)于使用過(guò)C++、.NET甚至Javascript腳本語(yǔ)言的人而言上手JAVA不會(huì)非常困難,初學(xué)者總可以在JAVA中看到一些熟悉的影子。語(yǔ)法的通用性降低了學(xué)習(xí)的成本,這也是JAVA長(zhǎng)期登上TIOBE排行榜的原因之一,也是使用者眾多的原因之一。
2.2 平臺(tái)無(wú)關(guān)性
平臺(tái)無(wú)關(guān)起初是JAVA語(yǔ)言最大的賣點(diǎn),雖然這一特性不是JAVA首創(chuàng)但無(wú)疑是JAVA使這一設(shè)計(jì)理念在代碼界家喻戶曉。JAVA虛擬機(jī)與字節(jié)碼的組合使得支持JAVA虛擬機(jī)的系統(tǒng)都可以運(yùn)行JAVA程序,“一次編程到處運(yùn)行”從此真正地走進(jìn)大眾的視線之內(nèi)掌握在廣大程序員手中。
2.3 強(qiáng)大的類庫(kù)
對(duì)于很多JAVA開(kāi)發(fā)者而言所需要做的就是引用類庫(kù)拼裝優(yōu)秀的已有代碼,經(jīng)過(guò)二十幾年的發(fā)展JAVA編程語(yǔ)言基本上已經(jīng)擁有了覆蓋各行各業(yè)各種需求的類庫(kù)。如果你使用JAVA編程并且遇到了一個(gè)非常棘手的問(wèn)題,那么首先應(yīng)該想到的肯定不會(huì)是自己動(dòng)手去開(kāi)發(fā)一個(gè)功能完善的類庫(kù),所有的JAVA程序員都知道不再需要重復(fù)地造輪子。
2.4 豐富的框架
做JAVA開(kāi)發(fā)的程序員尤其是JAVA EE開(kāi)發(fā)的程序員幾乎不可能沒(méi)聽(tīng)說(shuō)過(guò)SSH框架,尤其是Spring,經(jīng)過(guò)十幾年的發(fā)展如今Spring已從一個(gè)輕量級(jí)的JAVA開(kāi)發(fā)框架成長(zhǎng)為全套的企業(yè)應(yīng)用解決方案,并將觸角延伸至移動(dòng)端,它是JAVA語(yǔ)言在互聯(lián)網(wǎng)行業(yè)廣泛應(yīng)用走向成熟的標(biāo)志也是開(kāi)發(fā)者學(xué)習(xí)各種設(shè)計(jì)模式的優(yōu)秀樣例。
2.5 成熟的中間件
Web中間件是一個(gè)能夠獨(dú)立運(yùn)行的平臺(tái),它為上層的Web應(yīng)用系統(tǒng)提供一個(gè)運(yùn)行環(huán)境,并通過(guò)標(biāo)準(zhǔn)的接口和API來(lái)隔離其支撐的系統(tǒng)。有了中間件程序員的職責(zé)劃分將更加清晰,開(kāi)發(fā)效率也邁上了一個(gè)新的臺(tái)階。在中間件的輔助下架設(shè)一個(gè)Web應(yīng)用將會(huì)是非常簡(jiǎn)單輕松的一件事。
3 JAVA語(yǔ)言在Web開(kāi)發(fā)中的價(jià)值
3.1 JAVA的角色
毫無(wú)疑問(wèn)JAVA語(yǔ)言勝任了早起Web開(kāi)發(fā)的大量工作,在Web開(kāi)發(fā)中JAVA可以編寫(xiě)客戶端小程序、編寫(xiě)網(wǎng)頁(yè)、處理Http請(qǐng)求、做業(yè)務(wù)邏輯處理、訪問(wèn)數(shù)據(jù)庫(kù)、對(duì)接消息中間件、訪問(wèn)緩存等等。不過(guò)我們也看到了前后端分離JSP在逐漸退出歷史舞臺(tái),還有已經(jīng)退出歷史舞臺(tái)的applet,所以JAVA語(yǔ)言也并不是什么都擅長(zhǎng)。如今,對(duì)于普通開(kāi)發(fā)者而言JAVA在Web開(kāi)發(fā)中更多地是承載業(yè)務(wù)邏輯。
3.2 Web開(kāi)發(fā)需要什么
不是每一個(gè)網(wǎng)站、服務(wù)端都需要應(yīng)對(duì)高并發(fā)、海量數(shù)據(jù)或滿足高度一致性、高度實(shí)時(shí)性的要求,這些苛刻的條件在Web開(kāi)發(fā)中通常也不會(huì)只采用一種語(yǔ)言去應(yīng)對(duì)解決。根據(jù)特定的場(chǎng)景使用合適的技術(shù)、架構(gòu),此外還要認(rèn)清一點(diǎn):“技術(shù)不是解決問(wèn)題的唯一途徑,業(yè)務(wù)的問(wèn)題也可以通過(guò)業(yè)務(wù)本身的合理安排來(lái)滿足”,只有這樣才能在Web開(kāi)發(fā)中擁抱變化適應(yīng)并生存。不使用JAVA一樣可以開(kāi)發(fā)出優(yōu)秀的Web應(yīng)用,今天如此未來(lái)更是如此,語(yǔ)言會(huì)隨著方法的持續(xù)改進(jìn)、經(jīng)驗(yàn)的總結(jié)、新思想的產(chǎn)生而發(fā)生翻天覆地的變化,即便沒(méi)有JAVA人們對(duì)信息化的需求依然存在。
4 JAVA語(yǔ)言在Web應(yīng)用開(kāi)發(fā)中的心得體會(huì)
在解決現(xiàn)實(shí)生活中的問(wèn)題時(shí)需要充分結(jié)合JAVA語(yǔ)言的具體特性,根據(jù)需求方面的具體要求對(duì)問(wèn)題域進(jìn)行深入的分析,并在開(kāi)發(fā)的過(guò)程中不斷提煉、認(rèn)識(shí)問(wèn)題域。在開(kāi)發(fā)Web應(yīng)用時(shí)更多的需要考慮系統(tǒng)的可用性、擴(kuò)展性、安全性、伸縮性,所以拘泥于某一種語(yǔ)言的特性或者語(yǔ)法并不利于解決問(wèn)題,跳出語(yǔ)言的限制去思考問(wèn)題更容易找到問(wèn)題的根源。進(jìn)階時(shí)需要對(duì)JAVA虛擬機(jī)有所了解,jstat、jstack等常用的命令將會(huì)在緊急時(shí)刻協(xié)助你解決重大的卡死問(wèn)題。學(xué)習(xí)JAVA語(yǔ)言在于不斷地積累,不斷地尋求挑戰(zhàn)即便是簡(jiǎn)單的代碼也有改進(jìn)的空間,尋找改進(jìn)空間的過(guò)程就是個(gè)人提高的捷徑。
5 結(jié)束語(yǔ)
JAVA語(yǔ)言是互聯(lián)網(wǎng)中眾多語(yǔ)言中的一種,在互聯(lián)網(wǎng)飛速發(fā)展過(guò)后JAVA語(yǔ)言大浪淘沙在TIOBE排行榜中穩(wěn)居前三,并且在嵌入式設(shè)備、桌面設(shè)備、企業(yè)服務(wù)器三大領(lǐng)域各有建樹(shù)。我們?cè)诜Q道其取得成績(jī)的同時(shí)也應(yīng)深受啟發(fā),唯有適應(yīng)市場(chǎng)變化滿足開(kāi)發(fā)者偏好并且有嚴(yán)格規(guī)范的標(biāo)準(zhǔn)才能在各行各業(yè)開(kāi)疆?dāng)U土。互聯(lián)網(wǎng)作為工具將與用戶日益豐富的信息化需求一路攜手更豐富易用的JAVA語(yǔ)言特性深入人們未來(lái)的生活。
參考文獻(xiàn)
[1]葉紅美.計(jì)算機(jī)軟件Java編程特點(diǎn)及其技術(shù)分析[J].電腦編程技巧與維護(hù),2017(02).
[2]劉亦.計(jì)算機(jī)軟件的設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)與軟件工程,2015(23).
[3]阿布都拉?買買提.關(guān)于計(jì)算機(jī)軟件維護(hù)和管理的研究[J].信息與電腦(理論版),2015(17).
[4]許娜,劉景慧,劉敏,等.Java課程體系教學(xué)改革方案[J].中小企業(yè)管理與科技(上旬刊),2015(06).
摘要:本文以“C++程序設(shè)計(jì)”課程為對(duì)象,探討了大學(xué)編程語(yǔ)言課的實(shí)例教學(xué)方法,進(jìn)行了C++程序?qū)嵗O(shè)計(jì),并提出構(gòu)建一個(gè)基于Web的程序?qū)嵗詫W(xué)系統(tǒng),彌補(bǔ)了課堂教學(xué)實(shí)例數(shù)量不足的問(wèn)題,同時(shí)在系統(tǒng)中提供了自適應(yīng)實(shí)例學(xué)習(xí)控制策略作為學(xué)生實(shí)例學(xué)習(xí)的指導(dǎo)。
關(guān)鍵詞:實(shí)例教學(xué);實(shí)例設(shè)計(jì);自適應(yīng);實(shí)例學(xué)習(xí)策略
中圖分類號(hào):G642
文獻(xiàn)標(biāo)識(shí)碼:B
1引言
在編程語(yǔ)言課的教學(xué)中,程序?qū)嵗哂蟹浅V匾囊饬x。好的實(shí)例設(shè)計(jì)有助于學(xué)生對(duì)內(nèi)容的理解;大量實(shí)例的累積可以達(dá)到量變到質(zhì)變的作用,使學(xué)生從看懂到領(lǐng)悟。在教學(xué)過(guò)程中,實(shí)例的選擇和對(duì)學(xué)生實(shí)例學(xué)習(xí)的指導(dǎo)都將對(duì)編程語(yǔ)言課的學(xué)習(xí)有很大幫助。本文以“C++程序設(shè)計(jì)”課程為例探討了實(shí)例教學(xué)方法。首先確定基于實(shí)例教學(xué)的總的思想和方法,然后重點(diǎn)探討實(shí)例的設(shè)計(jì)和一個(gè)基于Web的自適應(yīng)實(shí)例自學(xué)系統(tǒng)。
2基于實(shí)例的教學(xué)
C++課程基于實(shí)例的教學(xué)從兩方面入手。其一為教學(xué)中恰當(dāng)?shù)膶?shí)例選擇運(yùn)用;其二為課余時(shí)大量的實(shí)例提供與自學(xué)指導(dǎo)。具體包括:
(1) 實(shí)例運(yùn)用上注意實(shí)例的連貫性,若知識(shí)點(diǎn)相關(guān),則采用同一系列實(shí)例進(jìn)行擴(kuò)展,即題目?jī)?nèi)容相近,但針對(duì)不同知識(shí)點(diǎn)做局部改變擴(kuò)展,使能快速理解實(shí)例,并專注于教學(xué)點(diǎn)。
(2) 適當(dāng)采用實(shí)例的歸納、對(duì)比、類比等方法。如窮舉法,通過(guò)多種實(shí)例類比,說(shuō)明什么問(wèn)題可以用窮舉法解決;又如面向?qū)ο蟪绦蚣軜?gòu)與程序設(shè)計(jì)思想,通過(guò)對(duì)同一問(wèn)題進(jìn)行結(jié)構(gòu)化設(shè)計(jì)和面向?qū)ο笤O(shè)計(jì)的對(duì)比。
(3) 伴隨教學(xué)進(jìn)度分解一個(gè)復(fù)雜的綜合實(shí)例,逐步講解程序設(shè)計(jì)方法思想。采用問(wèn)題引導(dǎo)的方法,由綜合實(shí)例的某個(gè)步驟提出問(wèn)題,引出新知識(shí)點(diǎn),改進(jìn)程序,層次推進(jìn)至最終完成問(wèn)題。
(4) 每講完一次課程后,為學(xué)生總結(jié)本次課程的語(yǔ)法知識(shí)點(diǎn)和程序設(shè)計(jì)思想。提示下堂課將會(huì)涉及的前序知識(shí)點(diǎn),以及與下堂課有直接關(guān)系的前序?qū)嵗⑻岢鲱A(yù)備問(wèn)題。布置與課堂實(shí)例的算法相似的程序作業(yè),學(xué)生能通過(guò)知識(shí)的直接遷移來(lái)完成作業(yè)。
(5) 要求學(xué)生在課余根據(jù)相應(yīng)知識(shí)點(diǎn)通過(guò)實(shí)例自學(xué)系統(tǒng)學(xué)習(xí)并練習(xí)相應(yīng)實(shí)例來(lái)達(dá)到進(jìn)一步的練習(xí)和提高,系統(tǒng)會(huì)根據(jù)學(xué)生在實(shí)例庫(kù)中的學(xué)習(xí)情況進(jìn)行相應(yīng)的控制指導(dǎo)。
3C++程序?qū)嵗O(shè)計(jì)
程序?qū)嵗脑O(shè)計(jì)是實(shí)例教學(xué)的重點(diǎn),通過(guò)對(duì)領(lǐng)域知識(shí)點(diǎn)的分析總結(jié),有針對(duì)性的進(jìn)行實(shí)例設(shè)計(jì)。同時(shí)實(shí)例之間并不是孤立的,有意識(shí)的設(shè)計(jì)了有聯(lián)系的各種實(shí)例組,形成系統(tǒng)的全面的實(shí)例庫(kù)。
3.1領(lǐng)域知識(shí)點(diǎn)總結(jié)
對(duì)于“C++程序設(shè)計(jì)”課程,領(lǐng)域知識(shí)點(diǎn)涉及兩個(gè)方面,其一為C++語(yǔ)法理解與應(yīng)用,其二為如何應(yīng)用程序設(shè)計(jì)思想解決實(shí)際問(wèn)題。
首先從語(yǔ)法角度開(kāi)始,每個(gè)語(yǔ)法考察點(diǎn)都是一個(gè)領(lǐng)域知識(shí)點(diǎn)。如:各種基本數(shù)據(jù)類型的長(zhǎng)度、文字常量表示、符號(hào)常量表示、變量定義和類型轉(zhuǎn)換等。
從程序設(shè)計(jì)角度講,程序設(shè)計(jì)相關(guān)理論方法技巧都是一個(gè)領(lǐng)域知識(shí)點(diǎn)。程序設(shè)計(jì)思想涉及遞歸、迭代、窮舉和分治等。程序設(shè)計(jì)方法與技巧包括數(shù)據(jù)設(shè)計(jì)、算法設(shè)計(jì)和程序架構(gòu)設(shè)計(jì)。數(shù)據(jù)設(shè)計(jì)包括簡(jiǎn)單數(shù)據(jù)設(shè)計(jì)、數(shù)組數(shù)據(jù)結(jié)構(gòu)應(yīng)用和結(jié)構(gòu)體應(yīng)用等;算法設(shè)計(jì)包括分支算法、循環(huán)算法、循環(huán)嵌套和循環(huán)與條件語(yǔ)句的嵌套等多種程序設(shè)計(jì)技巧;程序架構(gòu)設(shè)計(jì)包括函數(shù)設(shè)計(jì)和程序架構(gòu)組織。面向?qū)ο蟪绦蛟O(shè)計(jì)思想包括類的抽取與設(shè)計(jì)(屬性設(shè)計(jì)、方法設(shè)計(jì)、構(gòu)造方法設(shè)計(jì)、訪問(wèn)控制設(shè)計(jì))、應(yīng)用類屬性與類方法解決問(wèn)題,應(yīng)用類的聚合解決相應(yīng)問(wèn)題和應(yīng)用類間的消息連接解決相應(yīng)問(wèn)題等。
3.2基于領(lǐng)域知識(shí)點(diǎn)的實(shí)例設(shè)計(jì)
將C++程序?qū)嵗譃槿齻€(gè)層次:
(1) 純語(yǔ)法實(shí)例:用于演示基本語(yǔ)法,可以沒(méi)有實(shí)際含義;
(2) 算法實(shí)例:有一定實(shí)際意義的算法思想實(shí)例,用于演示程序設(shè)計(jì)思想和方法技巧;
(3) 綜合實(shí)例:需要多個(gè)知識(shí)點(diǎn)的綜合設(shè)計(jì)實(shí)例,重點(diǎn)演示解決問(wèn)題的思維方式和程序架構(gòu)。
純語(yǔ)法實(shí)例設(shè)計(jì)中,為每個(gè)語(yǔ)法知識(shí)點(diǎn)都設(shè)計(jì)若干相應(yīng)的語(yǔ)法實(shí)例程序,一個(gè)實(shí)例會(huì)涉及多個(gè)語(yǔ)法知識(shí)點(diǎn),但會(huì)有重點(diǎn)演示的語(yǔ)法知識(shí)點(diǎn)。將設(shè)計(jì)好的程序進(jìn)行題目設(shè)計(jì),通過(guò)總結(jié)學(xué)生作業(yè)、考試中的問(wèn)題,找出相應(yīng)語(yǔ)法容易出錯(cuò)的形式,設(shè)計(jì)了相應(yīng)的問(wèn)題形式,如讀程序?qū)懡Y(jié)果,程序填空,錯(cuò)誤辨析等。
算法實(shí)例一般都是解決實(shí)際問(wèn)題的題目,針對(duì)每個(gè)程序設(shè)計(jì)方法知識(shí)點(diǎn)設(shè)計(jì)算法實(shí)例。每個(gè)實(shí)例涉及一個(gè)或多個(gè)重點(diǎn)演示的設(shè)計(jì)知識(shí)點(diǎn)。如雞兔同籠問(wèn)題,水仙花數(shù)問(wèn)題應(yīng)用的是雙重循環(huán)技巧,也是窮舉設(shè)計(jì)思想。
綜合實(shí)例都是有一定意義的較復(fù)雜的實(shí)際問(wèn)題,如我們?cè)O(shè)計(jì)的學(xué)生成績(jī)分析系統(tǒng),模擬停車場(chǎng)輔助系統(tǒng),模擬選課系統(tǒng)等。綜合實(shí)例只給出問(wèn)題描述,而不是具體要求設(shè)計(jì)哪些類,哪些函數(shù),鍛煉學(xué)生對(duì)復(fù)雜問(wèn)題的整體分析設(shè)計(jì)能力。每個(gè)實(shí)例都盡量將多個(gè)知識(shí)點(diǎn)應(yīng)用進(jìn)來(lái)。如學(xué)生成績(jī)分析系統(tǒng)涉及類、對(duì)象、類的組合、模板、排序算法、文件操作和運(yùn)算符重載等。模擬停車場(chǎng)系統(tǒng)也涉及類對(duì)象、繼承、多態(tài)、類的組合、數(shù)組和搜索算法等。并且將每個(gè)綜合實(shí)例分解為若干階段,多個(gè)子問(wèn)題,隨著教學(xué)進(jìn)度不斷擴(kuò)展引入新問(wèn)題,通過(guò)不斷修改程序來(lái)解決新的問(wèn)題。
3.3實(shí)例的組織
在實(shí)例設(shè)計(jì)中,每個(gè)知識(shí)點(diǎn)都設(shè)計(jì)若干個(gè)實(shí)例。除了針對(duì)知識(shí)點(diǎn)外,還根據(jù)知識(shí)點(diǎn)之間的相關(guān)關(guān)系,遞進(jìn)關(guān)系,有意識(shí)的設(shè)計(jì)有各種聯(lián)系的實(shí)例,創(chuàng)建多種形式的實(shí)例組。如:類比實(shí)例組(題目不同,算法相同);對(duì)比實(shí)例組(題目相同,算法不同);擴(kuò)展實(shí)例組(基于知識(shí)點(diǎn)的遞進(jìn)關(guān)系,不斷擴(kuò)展的系列實(shí)例)等。
4基于Web的自適應(yīng)實(shí)例自學(xué)系統(tǒng)
課余時(shí)大量的實(shí)例提供與自學(xué)指導(dǎo)是實(shí)例教學(xué)設(shè)計(jì)的一個(gè)重點(diǎn)。如何能達(dá)到這個(gè)目的,我們探討了一個(gè)基于Web的實(shí)例自學(xué)系統(tǒng),根據(jù)目標(biāo)知識(shí)點(diǎn),教學(xué)進(jìn)度,實(shí)例的難易程度,實(shí)例之間的關(guān)聯(lián),以及學(xué)生的學(xué)習(xí)情況為學(xué)生選擇實(shí)例,指導(dǎo)學(xué)生對(duì)實(shí)例的學(xué)習(xí)。
實(shí)例學(xué)習(xí)的指導(dǎo)策略為:由語(yǔ)法到算法,由易到難;根據(jù)學(xué)習(xí)情況優(yōu)先選擇擴(kuò)展實(shí)例,若當(dāng)前實(shí)例不理解則選擇類比實(shí)例,若還不理解選擇前序知識(shí)點(diǎn)實(shí)例,若實(shí)例理解選擇知識(shí)點(diǎn)的其他實(shí)例,適當(dāng)選擇對(duì)比實(shí)例,達(dá)到一定程度增加難度;追蹤一個(gè)綜合實(shí)例。保證選擇的任何實(shí)例都不含未學(xué)習(xí)的知識(shí)點(diǎn)。
4.1創(chuàng)建程序?qū)嵗龓?kù)
實(shí)例庫(kù)不是實(shí)例的簡(jiǎn)單集合,為了與教學(xué)順序和教學(xué)目標(biāo)配合,并且在學(xué)生進(jìn)行實(shí)例學(xué)時(shí)時(shí)提供相應(yīng)的控制,需要設(shè)計(jì)實(shí)例庫(kù)的組織形式。
首先保存設(shè)計(jì)好的所有實(shí)例。三種程序?qū)嵗枰幚淼膬?nèi)容不同,故分別構(gòu)建語(yǔ)法實(shí)例表(實(shí)例編號(hào),題目描述,題目?jī)?nèi)容,問(wèn)題講解,難度等級(jí))、算法實(shí)例表(實(shí)例編號(hào),題目描述,分析,程序,講解,難度等級(jí))、綜合實(shí)例表(實(shí)例編號(hào),題目描述,實(shí)例分解步驟)以及綜合實(shí)例步驟表(實(shí)例編號(hào),步驟編號(hào),問(wèn)題描述,程序,講解,難度等級(jí))。
保存總結(jié)出來(lái)的領(lǐng)域知識(shí)點(diǎn)。由語(yǔ)法知識(shí)點(diǎn)表(知識(shí)點(diǎn)編號(hào),標(biāo)題,語(yǔ)法描述)和設(shè)計(jì)方法知識(shí)點(diǎn)表(知識(shí)點(diǎn)編號(hào),標(biāo)題,算法思想描述)描述。
構(gòu)造實(shí)例與領(lǐng)域知識(shí)點(diǎn)之間的關(guān)系。每個(gè)實(shí)例都涉及一個(gè)或多個(gè)語(yǔ)法知識(shí)點(diǎn),語(yǔ)法實(shí)例一般會(huì)有一個(gè)(或多個(gè))主語(yǔ)法知識(shí)點(diǎn),算法實(shí)例與綜合實(shí)例的分步實(shí)例會(huì)有一個(gè)(或多個(gè))主設(shè)計(jì)知識(shí)點(diǎn)。建立實(shí)例與知識(shí)點(diǎn)之間的關(guān)系表(實(shí)例類型,實(shí)例編號(hào),相關(guān)知識(shí)點(diǎn)編號(hào),相關(guān)知識(shí)點(diǎn)類型,是否主知識(shí)點(diǎn)),標(biāo)識(shí)出實(shí)例涉及的所有語(yǔ)法知識(shí)點(diǎn),并標(biāo)出語(yǔ)法實(shí)例的主語(yǔ)法知識(shí)點(diǎn),和其他實(shí)例的主設(shè)計(jì)知識(shí)點(diǎn)。表結(jié)構(gòu)為。
建立實(shí)例之間的關(guān)系。由實(shí)例關(guān)系表(關(guān)系類型,關(guān)系編號(hào),實(shí)例編號(hào),備注)構(gòu)建不同的實(shí)例組。
一般教學(xué)領(lǐng)域知識(shí)點(diǎn)間有固定的前序關(guān)系。但程序?qū)嵗g卻沒(méi)有先序關(guān)系,每個(gè)實(shí)例都是獨(dú)立的。但一個(gè)實(shí)例一般會(huì)涉及多個(gè)語(yǔ)法知識(shí)點(diǎn),雖然許多語(yǔ)法之間是沒(méi)有先序關(guān)系的,但教學(xué)進(jìn)度卻使這些知識(shí)點(diǎn)有了先序關(guān)系。故實(shí)例使用的先后順序與教學(xué)順序有關(guān)。為了能正確的提供學(xué)生適宜的實(shí)例,除盡量提供一些僅涉及當(dāng)前知識(shí)點(diǎn)的實(shí)例外,還要將每個(gè)實(shí)例涉及的知識(shí)點(diǎn)都詳細(xì)指出,同時(shí)構(gòu)建教學(xué)進(jìn)度表,在學(xué)生自主學(xué)習(xí)過(guò)程中屏蔽沒(méi)學(xué)過(guò)內(nèi)容的相關(guān)知識(shí)點(diǎn)。教學(xué)進(jìn)度表將相應(yīng)的學(xué)習(xí)目標(biāo)知識(shí)點(diǎn)表的知識(shí)點(diǎn)按教學(xué)進(jìn)度標(biāo)識(shí)出順序關(guān)系,可直接在教學(xué)目標(biāo)相關(guān)的兩個(gè)表中增加一個(gè)字段標(biāo)識(shí)順序號(hào)。
4.2學(xué)生信息庫(kù)
課程的每個(gè)學(xué)生都是系統(tǒng)允許的用戶,為每個(gè)學(xué)生提供學(xué)習(xí)狀況記錄,這里稱為學(xué)生模型。學(xué)生模型由三個(gè)表組成,分別記錄學(xué)生的能力程度、學(xué)習(xí)過(guò)程和學(xué)生當(dāng)前追蹤的綜合實(shí)例及當(dāng)前步驟。根據(jù)學(xué)生的學(xué)習(xí)過(guò)程情況浮動(dòng)學(xué)生的能力值。學(xué)習(xí)過(guò)程記錄所學(xué)的實(shí)例編號(hào),實(shí)例類型,實(shí)例難度等級(jí),實(shí)例關(guān)系編號(hào),學(xué)習(xí)狀況。學(xué)習(xí)能力程度記錄當(dāng)前的能力,用一個(gè)0~100之間的數(shù)表示。
4.3自適應(yīng)學(xué)習(xí)控制策略
學(xué)生學(xué)習(xí)過(guò)程中,若讓學(xué)生隨意選擇實(shí)例學(xué)習(xí),那么眾多的實(shí)例會(huì)使學(xué)生無(wú)所適從,故系統(tǒng)設(shè)計(jì)了自適應(yīng)學(xué)習(xí)控制策略,其結(jié)合教學(xué)順序,教學(xué)目標(biāo),實(shí)例難度,實(shí)例關(guān)系,并根據(jù)學(xué)生的學(xué)習(xí)狀況提供適于學(xué)生的實(shí)例建議。其控制流程如圖1所示。根據(jù)學(xué)生模型選中恰當(dāng)實(shí)例,學(xué)生學(xué)習(xí)一個(gè)實(shí)例時(shí),學(xué)習(xí)完后由學(xué)生選擇對(duì)實(shí)例的學(xué)習(xí)情況:不理解,理解,能編程。記錄學(xué)生模型,從新計(jì)算學(xué)生能力值,然后根據(jù)學(xué)生能力和學(xué)生在當(dāng)前實(shí)例的學(xué)習(xí)情況,根據(jù)約定的策略推薦下個(gè)實(shí)例(屏蔽掉當(dāng)前不適于學(xué)習(xí)的實(shí)例)。
圖1 自適應(yīng)學(xué)習(xí)控制流程
(1) 實(shí)例選擇策略。
將學(xué)生能力分為5個(gè)等級(jí),分別為(bad,lower,low,middle,high)。若學(xué)生能力為lower則選擇語(yǔ)法實(shí)例,否則進(jìn)入算法實(shí)例與綜合實(shí)例;若學(xué)生能力為low,則選擇初級(jí)實(shí)例;若學(xué)生能力為middle,則選擇中級(jí)實(shí)例;若學(xué)生能力為hign,則選擇高級(jí)實(shí)例;若學(xué)生能力為bad,則回溯。回溯方法為查看當(dāng)前所有不理解的實(shí)例,根據(jù)實(shí)例包含的知識(shí)點(diǎn),找出使用最多的知識(shí)點(diǎn),選擇其教學(xué)實(shí)例,若有與本實(shí)例呈系列的實(shí)例優(yōu)先選擇。
若學(xué)生當(dāng)前實(shí)例學(xué)習(xí)狀況為不理解,且能力沒(méi)降級(jí),則選擇類比實(shí)例,若能力降級(jí)則選擇低一級(jí)難度實(shí)例。若當(dāng)前學(xué)習(xí)狀態(tài)為理解,則選擇類比實(shí)例(并專注設(shè)計(jì)程序),若能力升級(jí)也可選擇高一級(jí)實(shí)例。若學(xué)習(xí)狀態(tài)為會(huì)編程,且能力沒(méi)升級(jí),則進(jìn)入其他實(shí)例,否則提供更高一級(jí)實(shí)例。
(2) 學(xué)生能力計(jì)算。
學(xué)習(xí)過(guò)程中,初次進(jìn)入系統(tǒng)學(xué)習(xí)能力程度設(shè)為50,每學(xué)習(xí)一個(gè)實(shí)例,若狀況為不理解則能力程度降低,若為理解則能程度上升,若為可編程則上升幅度更大,能力程度升降分值具體如表1所示。依據(jù)量變到質(zhì)變的原理,能力值累積到一定程度,在學(xué)生的能力進(jìn)入新的等級(jí)。學(xué)習(xí)能力值與能力等級(jí)的關(guān)系通過(guò)一個(gè)映射關(guān)系描述:
系統(tǒng)當(dāng)然也允許學(xué)生自主控制策略選擇。尤其在課程學(xué)完進(jìn)行總復(fù)習(xí)的時(shí)候。提供了多種查詢方式。如查詢包含某知識(shí)點(diǎn)的所有實(shí)例。可以按步驟查看綜合實(shí)例,按系列查看相關(guān)實(shí)例等。
5結(jié)束語(yǔ)
在編程語(yǔ)言課教學(xué)中很多學(xué)生反映,課堂上的有些例子來(lái)不及細(xì)想就過(guò)去了,有些內(nèi)容僅用了一個(gè)例子講解印象不夠深刻,多數(shù)學(xué)生表示希望多看一些實(shí)例,只是沒(méi)有來(lái)源,也有些學(xué)生看了很多參考書(shū)的實(shí)例,但反映還是不懂或不會(huì)編程序。程序?qū)嵗詫W(xué)系統(tǒng)的形式可以提供大量實(shí)例,并指導(dǎo)學(xué)生慢慢體會(huì),逐步深入。在有限的學(xué)時(shí)下,課堂教學(xué)實(shí)例需要精心設(shè)計(jì),同時(shí)要提供大量實(shí)例供學(xué)生課下自學(xué),本文正是針對(duì)此問(wèn)題探討的解決方法。
參考文獻(xiàn):
[1] Yuji Yoneyamaa,Kotaro Matsushitab,Kenneth J. Mackinb, et al. Puzzle Based Programming Learning Support System with Learning History Management[A]. 16th International Conference on Computers in Education[C],2008, 623-627.
[2] 程靜,楊明,邱玉輝. 基于知識(shí)點(diǎn)對(duì)象的個(gè)性化學(xué)習(xí)系統(tǒng)實(shí)施[J]. 西南師范大學(xué)學(xué)報(bào),自然科學(xué)版,2006,31(5):120-123.
[3] 劉偉,付璐,余英良. 個(gè)性化CAI中教學(xué)策略的設(shè)計(jì)與實(shí)現(xiàn)[J]. 河南科技大學(xué)學(xué)報(bào),自然科學(xué)版,2007,28(2):44-49.
[4] Natalia Stash,Alexandra Cristea,Paul De Bra. Learning Styles Adaptation Language for Adaptive Hypermedia[A]. AH 2006[C],2006.323-327.
Discussion about Example Teaching for Programming Language Course
ZHANG Jing-hua
(School of Computer Science of Technology, North China Electric Power University, Baoding, 071003, China)
關(guān)鍵詞:常用;計(jì)算機(jī)編程語(yǔ)言;分析;選用;技巧
中圖分類號(hào):TP311.1
從1946年第一臺(tái)計(jì)算機(jī)誕生至今,計(jì)算機(jī)的發(fā)展日新月異。隨著計(jì)算機(jī)技術(shù)的不斷提高,計(jì)算機(jī)在應(yīng)用范圍也越來(lái)越廣,普及程度越來(lái)越高。現(xiàn)代社會(huì)的大部分行業(yè)離開(kāi)了計(jì)算機(jī)將寸步難行。計(jì)算機(jī)有利于減少人為產(chǎn)生的工作失誤,極大程度上提高工作效率。要充分發(fā)揮計(jì)算機(jī)的作用,不僅要研究計(jì)算機(jī)的硬件設(shè)計(jì),還要開(kāi)發(fā)出能夠滿足人們需要的計(jì)算機(jī)軟件。
人們通過(guò)使用計(jì)算機(jī)編程語(yǔ)言編寫(xiě)程序讓計(jì)算機(jī)解決各式各樣的問(wèn)題。隨著計(jì)算機(jī)的更新速度加快,軟件開(kāi)發(fā)在計(jì)算機(jī)領(lǐng)域中的地位越來(lái)越重要。要提高軟件的開(kāi)發(fā)效率,就一定要了解計(jì)算機(jī)的編程語(yǔ)言。計(jì)算機(jī)編程語(yǔ)言的類型多種多樣,主要可以分為機(jī)器語(yǔ)言、高級(jí)語(yǔ)言和匯編語(yǔ)言。每一門計(jì)算機(jī)編程語(yǔ)言都有其優(yōu)點(diǎn)和缺陷。一名優(yōu)秀的編程程序員都會(huì)掌握多門計(jì)算機(jī)編程語(yǔ)言,在編寫(xiě)程序的過(guò)程中有技巧地選用合適的計(jì)算機(jī)編程語(yǔ)言,實(shí)現(xiàn)不同編程語(yǔ)言之間的互補(bǔ),大力提高軟件的開(kāi)發(fā)效率和使用性能。在計(jì)算機(jī)的編程語(yǔ)言中,比較常用的有C語(yǔ)言、Visual Basic語(yǔ)言和匯編語(yǔ)言。
1 常用計(jì)算機(jī)編程語(yǔ)言分析
1.1 C語(yǔ)言
C語(yǔ)言是目前使用范圍最為廣泛的編程語(yǔ)言。世界上大多數(shù)的軟件程序都是由C語(yǔ)言編寫(xiě)出來(lái)的。C語(yǔ)言出現(xiàn)于1972年,是在當(dāng)時(shí)出現(xiàn)的B語(yǔ)言基礎(chǔ)上發(fā)展而來(lái)的。經(jīng)過(guò)十幾年的發(fā)展,到了20世紀(jì)80年代,C語(yǔ)言由于兼顧了低級(jí)語(yǔ)言和高級(jí)語(yǔ)言的作用而得到廣泛運(yùn)用。
與其他編程語(yǔ)言相比,C語(yǔ)言具有不可比擬的使用優(yōu)勢(shì),具體體現(xiàn)在以下幾個(gè)方面:第一,C語(yǔ)言具有34種運(yùn)算符,語(yǔ)言比較豐富,表達(dá)能力比較強(qiáng);第二,C語(yǔ)言具有32個(gè)關(guān)鍵字,9種控制語(yǔ)句,語(yǔ)言緊湊簡(jiǎn)潔,使用方式靈活;第三,C語(yǔ)言程序設(shè)計(jì)自由度高,使用方便;第四,C語(yǔ)言的功能強(qiáng)大,具備強(qiáng)大的圖形功能、計(jì)算功能和邏輯判斷功能;第五,C語(yǔ)言設(shè)計(jì)的程序可以在大部分系統(tǒng)中運(yùn)行,可移植性強(qiáng),適用范圍大。
當(dāng)然,C語(yǔ)言也存在類型檢查機(jī)制相對(duì)較弱等缺陷。為了彌補(bǔ)C語(yǔ)言的缺陷,20世紀(jì)80年代在C語(yǔ)言基礎(chǔ)上發(fā)展出了C++語(yǔ)言。C++語(yǔ)言保留了C語(yǔ)言的優(yōu)點(diǎn),增加了面對(duì)對(duì)象的機(jī)制。C++語(yǔ)言的出現(xiàn),改變了C語(yǔ)言開(kāi)發(fā)大程序比較吃力的狀況,擴(kuò)大了C語(yǔ)言的使用范圍。更重要的是,C++一種集面向?qū)ο缶幊獭⒎盒途幊毯瓦^(guò)程化編程于一體的編程語(yǔ)言,是編程思想革新的代表語(yǔ)言之一。
1.2 Visual Basic語(yǔ)言(可視化編程語(yǔ)言的代表之一)
Visual Basic語(yǔ)言是微軟公司在1991年研發(fā)出來(lái)的一種編程語(yǔ)言。Visual Basic語(yǔ)言的基本思路就是采用面向?qū)ο蟮臋C(jī)制,將復(fù)雜的程序設(shè)計(jì)問(wèn)題分解為相對(duì)簡(jiǎn)單的對(duì)象集。與C++語(yǔ)言相比,它的使用方式更加靈活方便。可視化編程和事件驅(qū)動(dòng)編程是Visual Basic語(yǔ)言的顯著特點(diǎn)。使用Visual Basic語(yǔ)言開(kāi)發(fā)軟件時(shí)看到的界面與程序?qū)嶋H運(yùn)行的界面是基本一致的,改變了過(guò)去編寫(xiě)程序與界面開(kāi)發(fā)不同步的狀況。程序員在設(shè)計(jì)界面時(shí)可以通過(guò)使用控件畫(huà)出不同類型的對(duì)象,無(wú)需通過(guò)編寫(xiě)程序,可以減少編程的工作量,簡(jiǎn)化編寫(xiě)程序也方便了后期的修改維護(hù)。事件驅(qū)動(dòng)編程是指應(yīng)用程序是由運(yùn)行過(guò)程中的事件決定的,比如用戶的鼠標(biāo)觸動(dòng)等,不進(jìn)行預(yù)定的運(yùn)行路徑設(shè)定。事件驅(qū)動(dòng)編程一般用于協(xié)助開(kāi)發(fā)環(huán)境,受到了程序開(kāi)發(fā)領(lǐng)域的重視。由于Visual Basic語(yǔ)言包含了事件驅(qū)動(dòng)編程語(yǔ)言和可視化編程,使得Visual Basic語(yǔ)言在軟件開(kāi)發(fā)領(lǐng)域中的適用范圍非常廣泛。
1.3 匯編語(yǔ)言
計(jì)算機(jī)系統(tǒng)的應(yīng)用程序的匯編工作都要有匯編語(yǔ)言來(lái)完成。由于匯編程序是利用計(jì)算機(jī)的硬件特性并能直接控制計(jì)算機(jī)的硬件的語(yǔ)言,它的執(zhí)行效率比較高,但是在編寫(xiě)程序和調(diào)試時(shí)會(huì)比較復(fù)雜。
1.4 三種語(yǔ)言結(jié)構(gòu)對(duì)比
1.4.1 C語(yǔ)言舉例
1.4.2 Visual Basic語(yǔ)言舉例
1.4.3 匯編語(yǔ)言舉例
1.4.4 結(jié)構(gòu)對(duì)比結(jié)論
經(jīng)過(guò)對(duì)三種語(yǔ)言結(jié)構(gòu)進(jìn)行對(duì)比后,我們可以發(fā)現(xiàn)Visual Basic語(yǔ)言的語(yǔ)言結(jié)構(gòu)最簡(jiǎn)單,匯編語(yǔ)言的語(yǔ)言結(jié)構(gòu)最復(fù)雜,C語(yǔ)言的語(yǔ)言結(jié)構(gòu)復(fù)雜程度介于兩者之間。
2 常用計(jì)算機(jī)編程語(yǔ)言選用
2.1 選用原則
在選擇計(jì)算機(jī)編程語(yǔ)言時(shí),要注意以下原則:第一,要充分考慮軟件運(yùn)行的硬件環(huán)境。軟件開(kāi)發(fā)使用的匯編語(yǔ)言必須使用與運(yùn)行的硬件環(huán)境。同時(shí),考慮到現(xiàn)在的硬件技術(shù)更新速度非常的快。過(guò)去可以適用的語(yǔ)言,硬件技術(shù)升級(jí)后可能就無(wú)法適用。因此,在編程時(shí)要考慮軟件的調(diào)整問(wèn)題,盡量使軟件調(diào)整更加簡(jiǎn)易。
第二,要考慮平臺(tái)的支持性。要考慮平臺(tái)對(duì)編程語(yǔ)言的支持下,根據(jù)編程語(yǔ)言的優(yōu)勢(shì)進(jìn)行語(yǔ)言選擇,使得編程語(yǔ)言可以發(fā)揮最大的優(yōu)勢(shì)。
第三,要考慮編寫(xiě)程序的實(shí)際需求。要根據(jù)編寫(xiě)的程序和編程語(yǔ)言的特點(diǎn),來(lái)選擇計(jì)算機(jī)編程語(yǔ)言。在一些比較特殊的軟件開(kāi)發(fā)時(shí),程序員要使用專業(yè)的編程語(yǔ)言。專業(yè)的編程語(yǔ)言可以有針對(duì)性地進(jìn)行軟件開(kāi)發(fā),節(jié)省編程時(shí)間,提高編程效率,減少編程過(guò)程中出現(xiàn)的失誤。
第四,要盡量選擇熟悉的編程語(yǔ)言。每一位程序員熟悉的編程語(yǔ)言類型都不相同。程序員在編寫(xiě)程序時(shí)選擇自己熟悉的語(yǔ)言,可以節(jié)省大量的時(shí)間,也便于過(guò)后的程序維護(hù)和修改工作。
第五,要考慮到開(kāi)發(fā)成本的問(wèn)題。不同的編程語(yǔ)言的編寫(xiě)成本都不相同,程序編寫(xiě)出來(lái)過(guò)后的維護(hù)和修改成本也不相同。程序員在選擇編寫(xiě)語(yǔ)言時(shí)要根據(jù)項(xiàng)目的成本來(lái)限制編程語(yǔ)言的選擇。
2.2 選用技巧
根據(jù)上述的原則以及對(duì)三種常用的編程語(yǔ)言結(jié)構(gòu)的比較來(lái)看,可以得出以下這三種編程語(yǔ)言的選用技巧:
第一,C語(yǔ)言的可移植性最強(qiáng),可以適用于大部分的運(yùn)行環(huán)境。C語(yǔ)言的難度適中,加上高校的許多專業(yè)都開(kāi)設(shè)了C語(yǔ)言課程,許多大學(xué)生都掌握了C語(yǔ)言。因此,在編程時(shí)可以優(yōu)先適用C語(yǔ)言。面對(duì)C語(yǔ)言存在的缺陷,程序員可以調(diào)用其他語(yǔ)言進(jìn)行混合編程。
第二,Visual Basic語(yǔ)言的掌握難度較低,但是執(zhí)行效率比較低。使用Visual Basic語(yǔ)言可以簡(jiǎn)化編程過(guò)程,減少失誤,因此Visual Basic語(yǔ)言更適合編寫(xiě)一些復(fù)雜而不講究執(zhí)行效率的程序。
第三,匯編程序的語(yǔ)言結(jié)構(gòu)最為復(fù)雜,掌握難度大,但是運(yùn)行效率比較高。因此匯編程序更加適用于編寫(xiě)一些初始化程序。
3 結(jié)束語(yǔ)
編程語(yǔ)言是計(jì)算機(jī)軟件開(kāi)發(fā)的工具,可供開(kāi)發(fā)者選擇的編程語(yǔ)言很多,選擇合適的編程語(yǔ)言有助于提高編程效率和計(jì)算機(jī)軟件的使用效率。要不斷提高計(jì)算機(jī)軟件的開(kāi)發(fā)效率,就要重視計(jì)算機(jī)編寫(xiě)程序的選擇。有這樣,才能不斷提高計(jì)算機(jī)的使用性能,在競(jìng)爭(zhēng)激烈的計(jì)算機(jī)軟件行業(yè)中占有一席之地。
參考文獻(xiàn):
[1]徐志偉,李偉.織女星網(wǎng)格的體系結(jié)構(gòu)研究[J].計(jì)算機(jī)研究與發(fā)展,2012(08).
[2]劉君華,賈惠芹.虛擬儀器圖形化編程語(yǔ)言LabVIEW教程[M].西安:西安電子科技大學(xué)出版社,2011(20).
[3]喬林.Visual C++6.0高級(jí)編程技術(shù)[M].北京:中國(guó)鐵道出版社,2001(03).
關(guān)鍵詞:計(jì)算機(jī)編程語(yǔ)言;高效;學(xué)習(xí)方法;探究
學(xué)習(xí)計(jì)算機(jī)編程語(yǔ)言時(shí),大多數(shù)人都感覺(jué)知識(shí)點(diǎn)太多、語(yǔ)法規(guī)則復(fù)雜、基礎(chǔ)理論抽象難懂、枯燥乏味,往往就失去學(xué)習(xí)興趣,甚至半途而費(fèi),有始無(wú)終。依據(jù)筆者多年計(jì)算機(jī)編程語(yǔ)言的學(xué)習(xí)、教學(xué)和軟件設(shè)計(jì)實(shí)戰(zhàn)經(jīng)驗(yàn)發(fā)現(xiàn),只要具備一定的數(shù)學(xué)分析和邏輯推斷能力以及較好的英語(yǔ)功底,采取科學(xué)高效的學(xué)習(xí)方法,必定取得事半功倍的學(xué)習(xí)效果,學(xué)好計(jì)算機(jī)編程語(yǔ)言也就指日可待了。
一、必須選擇一款優(yōu)秀而專業(yè)的集成開(kāi)發(fā)環(huán)境
(一)提供諸多智能提示功能,有利于快速而規(guī)范地輸入代碼優(yōu)秀專業(yè)的集成開(kāi)發(fā)環(huán)境(IDE)能夠以不同的顏色顯示程序代碼中的關(guān)鍵字和代碼內(nèi)容,一旦關(guān)鍵字輸入有誤,從顏色上即可判斷出輸入的關(guān)鍵字是否正確;對(duì)于程序中輸入的錯(cuò)誤或不合法的表示,能夠及時(shí)地在錯(cuò)誤列表面板的不同選項(xiàng)卡中顯示出來(lái),包括所有錯(cuò)誤、警告消息的說(shuō)明、行數(shù)、列數(shù),幫助設(shè)計(jì)者快速找到問(wèn)題所在;還能夠以下拉列表的形式自動(dòng)彈出輸入對(duì)象的屬性、方法或函數(shù),只需要輸入對(duì)象屬性或方法的前幾個(gè)字母就可以從彈出的下拉列表中選擇輸入,方便用戶快速而規(guī)范地輸入代碼[1]。
(二)提供了方便的調(diào)試、測(cè)試、編譯和運(yùn)行程序功能無(wú)論是編程初學(xué)者還是熟練的程序員,出現(xiàn)程序錯(cuò)誤在所難免。一般將程序錯(cuò)誤分為語(yǔ)法錯(cuò)誤和邏輯錯(cuò)誤。語(yǔ)法錯(cuò)誤就是編寫(xiě)程序時(shí)對(duì)命令基本格式、關(guān)鍵字或程序結(jié)構(gòu)書(shū)寫(xiě)錯(cuò)誤而導(dǎo)致的錯(cuò)誤;邏輯錯(cuò)誤就是編寫(xiě)的程序在語(yǔ)法上沒(méi)有錯(cuò)誤,但程序的運(yùn)行結(jié)果錯(cuò)誤。語(yǔ)法錯(cuò)誤在程序運(yùn)行時(shí)都會(huì)被編譯器檢查出來(lái),并及時(shí)地給出提示信息;而邏輯錯(cuò)誤不易被檢查出來(lái),可以在開(kāi)發(fā)環(huán)境中通過(guò)設(shè)置程序斷點(diǎn),選擇逐語(yǔ)句、逐過(guò)程運(yùn)行方式查看變量的當(dāng)前值來(lái)排除程序錯(cuò)誤,而對(duì)于可能產(chǎn)生的錯(cuò)誤或是其他可以中斷程序執(zhí)行的異常情況,可以使用異常處理語(yǔ)句(try…catch語(yǔ)句)構(gòu)建各種用來(lái)處理程序異常情況的程序代碼。
(三)有助于理解計(jì)算機(jī)程序運(yùn)行機(jī)制,提高程序編寫(xiě)能力通過(guò)對(duì)程序反復(fù)的調(diào)試、測(cè)試,不斷加深計(jì)算機(jī)對(duì)語(yǔ)句、程序結(jié)構(gòu)和程序運(yùn)行過(guò)程的理解,增強(qiáng)自身嚴(yán)密的邏輯思維和邏輯推理能力以及閱讀程序、程序排錯(cuò)、程序編寫(xiě)能力。
二、主動(dòng)培養(yǎng)計(jì)算機(jī)語(yǔ)言編程思維方式
由于計(jì)算機(jī)語(yǔ)言是人與計(jì)算機(jī)之間的交流語(yǔ)言,其交流的對(duì)象是計(jì)算機(jī),因此就要按照計(jì)算機(jī)的特點(diǎn)和規(guī)則進(jìn)行交流,交流的程度越深,思維方式就會(huì)越向交流對(duì)象靠近。在計(jì)算機(jī)語(yǔ)言的學(xué)習(xí)過(guò)程中,要主動(dòng)培養(yǎng)自己的計(jì)算機(jī)語(yǔ)言編程思維方式[2]。該思維方式具有以下特點(diǎn):
(一)嚴(yán)謹(jǐn)性計(jì)算機(jī)語(yǔ)言也是一種語(yǔ)言,與人類語(yǔ)言相比,更具有嚴(yán)謹(jǐn)性,特別注重語(yǔ)言本身的意思,而會(huì)淡化情感、表達(dá)方式、意境等超出文本本身的意思。每一條語(yǔ)句或命令都有嚴(yán)格的語(yǔ)法規(guī)則,每一個(gè)關(guān)鍵字都有特定的語(yǔ)義和用途。所以,在編寫(xiě)程序時(shí)來(lái)不得一點(diǎn)馬虎,即使有一點(diǎn)點(diǎn)錯(cuò)誤也得不到預(yù)期結(jié)果。
(二)準(zhǔn)確性由于計(jì)算機(jī)編程語(yǔ)言具有嚴(yán)謹(jǐn)?shù)恼Z(yǔ)言體系結(jié)構(gòu),有明確而簡(jiǎn)單的語(yǔ)法規(guī)則,但表達(dá)能力極強(qiáng),使得編寫(xiě)的每一條語(yǔ)句都要準(zhǔn)確地表達(dá),反復(fù)推敲,避免產(chǎn)生歧義或疏漏。如果表達(dá)準(zhǔn)確了才會(huì)得到想要的結(jié)果;如果得不到預(yù)期的結(jié)果,那只能說(shuō)明沒(méi)有表達(dá)清楚,程序代碼寫(xiě)錯(cuò)了。
(三)清晰性人的思維方式是以自己心中世界為基礎(chǔ)的,有時(shí)是模糊的、不確定的,但計(jì)算機(jī)語(yǔ)言編程思維方式是清晰的。如果要通過(guò)編程解決實(shí)際問(wèn)題,首先要按照計(jì)算機(jī)的執(zhí)行方式和語(yǔ)言的表達(dá)方式進(jìn)行分析,把分析的結(jié)果再轉(zhuǎn)化為程序代碼,所以對(duì)實(shí)際問(wèn)題的分析思路、解決思路以及編程思路必須是非常清晰的。計(jì)算機(jī)編程思維方式與人的正常思維方式有很大的差異,往往使得許多初學(xué)者覺(jué)得計(jì)算機(jī)語(yǔ)言是很難學(xué)的。在編程思維方式上需要跨越心理上和思維上的障礙,重點(diǎn)掌握程序設(shè)計(jì)方法和編寫(xiě)程序的思路。編寫(xiě)程序就是把人的需求轉(zhuǎn)化為計(jì)算機(jī)可以理解和接受的語(yǔ)言結(jié)構(gòu),這種轉(zhuǎn)換很多時(shí)候并不容易,即使人的需求的小小變化,也可能會(huì)引起編程的巨大震動(dòng)。計(jì)算機(jī)編程思維方式的改變,往往是最難的改變,甚至需要多年的培養(yǎng)和鍛煉。因此,在學(xué)習(xí)計(jì)算機(jī)語(yǔ)言一開(kāi)始,一定要主動(dòng)培養(yǎng)自己嚴(yán)謹(jǐn)細(xì)致的做事風(fēng)格和清晰準(zhǔn)確的表達(dá)風(fēng)格,還要養(yǎng)成自我反省和善于推敲的科學(xué)習(xí)慣[3]。
三、樹(shù)立規(guī)范意識(shí),培養(yǎng)良好的編程習(xí)慣
(一)縮進(jìn)同一語(yǔ)句塊中的語(yǔ)句應(yīng)該縮進(jìn)到同一層次,這是一個(gè)非常重要的約定。雖然縮進(jìn)不是必需的,同樣也沒(méi)有編譯器強(qiáng)制過(guò),但是增強(qiáng)了程序代碼的可讀性,也體現(xiàn)出代碼之間的包含關(guān)系及層次感。就好比文章的每一段都有兩個(gè)字符的縮進(jìn)一樣,使得文章層次結(jié)構(gòu)分明、易于閱讀。
(二)空白空白也叫空字符,是程序語(yǔ)句中關(guān)鍵字之間、關(guān)鍵字與元素之間的分隔符。在程序運(yùn)行過(guò)程中,編譯器會(huì)忽略空白,但適當(dāng)使用空白能夠改善代碼的格式,提高代碼的可讀性。
(三)注釋編寫(xiě)注釋同縮進(jìn)一樣,編譯器也不會(huì)強(qiáng)迫一定要添加注釋,但是良好的注釋習(xí)慣,能夠讓人們更加輕松地了解代碼的功能,便于后期維護(hù)修改代碼,也使得代碼更加優(yōu)雅和可讀。
(四)命名習(xí)慣統(tǒng)一規(guī)范的命名習(xí)慣,不僅給標(biāo)識(shí)符起了一個(gè)容易記憶的好名,而且還能說(shuō)明標(biāo)識(shí)符的一些特性,達(dá)到“見(jiàn)名知意”的目的。常見(jiàn)的命名習(xí)慣有Pascal和Camel兩種形式。Pascal形式就是所有單詞的第一個(gè)字母大寫(xiě),其他字母小寫(xiě),常用于命名空間、類、函數(shù)等的命名;Camel形式就是除了第一個(gè)單詞外,所有單詞的第一個(gè)字母大寫(xiě),其他字母小寫(xiě),常用于變量、參數(shù)等的命名。
(五)大小寫(xiě)在不同的計(jì)算機(jī)語(yǔ)言中,大小寫(xiě)敏感性是不同的,這個(gè)規(guī)則尤為重要。即使在不區(qū)分大小寫(xiě)的編程語(yǔ)言中,按照約定俗成的習(xí)慣,為了區(qū)分和維護(hù)代碼方便,在程序中一般將常量定義為大寫(xiě)形式,將變量定義為小寫(xiě)形式或以小寫(xiě)開(kāi)始的形式。
四、靈活運(yùn)用多種分析方法
(一)放縮法對(duì)于程序中需要執(zhí)行次數(shù)特別多的循環(huán)結(jié)構(gòu)來(lái)說(shuō),為了使得問(wèn)題簡(jiǎn)單化,可以把循環(huán)執(zhí)行的次數(shù)縮小到有限的幾次進(jìn)行分析和調(diào)試,只要程序在這幾次能夠正確運(yùn)行,那么再擴(kuò)大到原來(lái)的次數(shù),也能正確運(yùn)行。比如,在編寫(xiě)“實(shí)現(xiàn)從鍵盤(pán)輸入100個(gè)數(shù),找出其中的最大數(shù)和最小數(shù)”的程序時(shí),可以采用放縮法,將本應(yīng)循環(huán)輸入100個(gè)數(shù)的語(yǔ)句改為5個(gè)數(shù),然后進(jìn)行分析和調(diào)試,如果程序測(cè)試正確,最后再改回到100個(gè)數(shù)的范圍即可。
(二)分塊法在閱讀特別復(fù)雜的程序時(shí),為了簡(jiǎn)化分析,可將程序逐層分為多個(gè)相對(duì)獨(dú)立的程序塊,直至分到最易理解的基本程序結(jié)構(gòu)為止。同理,在編寫(xiě)復(fù)雜程序時(shí),按照模塊化程序設(shè)計(jì)思想,也要把實(shí)現(xiàn)的功能逐層分塊,直到用最基本的程序結(jié)構(gòu)實(shí)現(xiàn)為止。
(三)代入法對(duì)于某些難以分析的程序來(lái)說(shuō),可以采用代入值的方法來(lái)分析和研究。比如,在“實(shí)現(xiàn)從鍵盤(pán)輸入5個(gè)數(shù),找出其中的最大數(shù)和最小數(shù)”的程序中,可以任意輸入5個(gè)數(shù),驗(yàn)證程序運(yùn)行結(jié)果是否正確,進(jìn)而排除程序中的所有錯(cuò)誤。五、需要多實(shí)踐、多模仿剛開(kāi)始學(xué)習(xí)計(jì)算機(jī)語(yǔ)言時(shí),往往按照教材的編寫(xiě)順序,學(xué)習(xí)語(yǔ)言的基本要素、語(yǔ)法規(guī)則、語(yǔ)句格式等基礎(chǔ)理論知識(shí)。但隨著這些理論知識(shí)的學(xué)習(xí),很容易引起學(xué)習(xí)者產(chǎn)生枯燥無(wú)味的感覺(jué)。為了引起學(xué)習(xí)語(yǔ)言的興趣和激發(fā)進(jìn)一步學(xué)習(xí)的積極性,要特別重視上機(jī)操作實(shí)踐。即使是教材上很簡(jiǎn)單的例題,也要親手輸入到計(jì)算機(jī)編程開(kāi)發(fā)環(huán)境中運(yùn)行一下。通過(guò)程序的運(yùn)行結(jié)果,加深對(duì)計(jì)算機(jī)語(yǔ)言基礎(chǔ)知識(shí)的理解和應(yīng)用常識(shí)的了解。即便在程序運(yùn)行過(guò)程中出現(xiàn)錯(cuò)誤,通過(guò)對(duì)錯(cuò)誤的分析和解決,逐步提高分析程序、糾錯(cuò)程序、編寫(xiě)程序的能力,同時(shí)對(duì)編程思維方式的培養(yǎng)有積極的促進(jìn)作用[4]。隨著自己計(jì)算機(jī)語(yǔ)言知識(shí)的增多、上機(jī)操作經(jīng)驗(yàn)的積累以及編程能力的提高,逐漸會(huì)產(chǎn)生軟件開(kāi)發(fā)的欲望,但軟件開(kāi)發(fā)需要學(xué)習(xí)者具備軟件設(shè)計(jì)、編程的綜合能力。僅靠掌握計(jì)算機(jī)語(yǔ)言的基本知識(shí)和技能還遠(yuǎn)遠(yuǎn)不夠,還需要大量地模仿項(xiàng)目案例,逐漸在這些項(xiàng)目的模仿實(shí)戰(zhàn)中,找到軟件開(kāi)發(fā)所需要具備的其他知識(shí)和能力,同時(shí)也對(duì)自己創(chuàng)新能力的培養(yǎng)大有裨益。多次進(jìn)行產(chǎn)業(yè)革新的沃爾瑪?shù)膭?chuàng)始人山姆·沃爾頓曾說(shuō)過(guò):“我做的事多半都是模仿別人。”因此,在學(xué)習(xí)計(jì)算機(jī)編程語(yǔ)言時(shí),通過(guò)大量項(xiàng)目案例實(shí)戰(zhàn),必須學(xué)會(huì)模仿別人的編程思路和方法。模仿的案例越多,積累的實(shí)戰(zhàn)經(jīng)驗(yàn)也會(huì)越多,編程思維也就越開(kāi)闊,編出的代碼也會(huì)越規(guī)范,運(yùn)行效率也就越高。
>> 幼兒學(xué)哪種才藝比較好 人生“雜食”比較好 農(nóng)村哪些投資項(xiàng)目比較好 還是還給你比較好 痔瘡,怎樣治療比較好 到底怎樣的處理比較好 懶女人命比較好 職場(chǎng)中笑比較好 嫁哪種男人會(huì)比較好 冬蟲(chóng)夏草怎么吃比較好 去愛(ài)人,還是被愛(ài)比較好? 歡慶春節(jié)時(shí),喝什么飲料比較好等 痔瘡手術(shù)后飲食,怎么吃比較好 一天吃幾個(gè)雞蛋比較好? 爸媽說(shuō):倆寶差幾歲比較好? 淺談高中生的數(shù)學(xué)興趣 淺談如何培養(yǎng)高中生對(duì)體育課的興趣 淺談高中生學(xué)習(xí)生物課的興趣培養(yǎng) 淺談如何激發(fā)高中生物理課學(xué)習(xí)的興趣 淺談如何提高高中生對(duì)體育課的興趣和愛(ài)好 常見(jiàn)問(wèn)題解答 當(dāng)前所在位置:中國(guó) > 教育 > 淺談高中生興趣課學(xué)什么編程語(yǔ)言比較好 淺談高中生興趣課學(xué)什么編程語(yǔ)言比較好 雜志之家、寫(xiě)作服務(wù)和雜志訂閱支持對(duì)公帳戶付款!安全又可靠! document.write("作者:未知 如您是作者,請(qǐng)告知我們")
申明:本網(wǎng)站內(nèi)容僅用于學(xué)術(shù)交流,如有侵犯您的權(quán)益,請(qǐng)及時(shí)告知我們,本站將立即刪除有關(guān)內(nèi)容。 隨著我國(guó)經(jīng)濟(jì)社會(huì)的進(jìn)一步發(fā)展,家庭條件的不斷改善,計(jì)算機(jī)已從以前的一種高檔消費(fèi)品正轉(zhuǎn)換成人們?nèi)找嬉蕾嚨谋匦杵罚絹?lái)越多的家庭開(kāi)始配置了計(jì)算機(jī)。與此同時(shí),信息技術(shù)的教學(xué)也越來(lái)越正規(guī)化,學(xué)生的學(xué)習(xí)興趣也在多樣化,不少學(xué)生對(duì)編寫(xiě)計(jì)算機(jī)程序興趣濃厚。但眾所周知,計(jì)算機(jī)語(yǔ)言眾多,大家熟知的就有C、C++、Pascal、Java、VB、C#等語(yǔ)言,那么對(duì)于初涉計(jì)算機(jī)編程的高中生來(lái)說(shuō),如果學(xué)校開(kāi)設(shè)相關(guān)的課外興趣課學(xué)習(xí)什么編程語(yǔ)言會(huì)比較合適呢?這個(gè)問(wèn)題仁者見(jiàn)仁,智者見(jiàn)智,筆者想在本文中談一下個(gè)人的看法。
首先,筆者要聲明,本文不考慮NOIP(全國(guó)青少年信息學(xué)奧林匹克聯(lián)賽)這個(gè)層面的問(wèn)題(NOIP的語(yǔ)言指定為C、C++、Pascal三選一),而是單純站在學(xué)生興趣,并適當(dāng)考慮今后的發(fā)展這一層面來(lái)進(jìn)行思考。筆者個(gè)人的觀點(diǎn)是:C#是比較適合高中生學(xué)習(xí)的一門語(yǔ)言。
筆者首先是不贊成高中生初學(xué)編程學(xué)習(xí)C或C++還有Pascal語(yǔ)言的。對(duì)于沒(méi)有接觸過(guò)編程的學(xué)生來(lái)說(shuō),任何一門計(jì)算機(jī)語(yǔ)言在他們看來(lái)并沒(méi)有什么大的不同。伴隨著強(qiáng)烈的好奇心,學(xué)生在學(xué)習(xí)的初始階段興趣會(huì)十分濃厚,課堂上常常流連忘返。然而隨著時(shí)間的推移,不同的語(yǔ)言課學(xué)生表現(xiàn)出來(lái)的差異就開(kāi)始體現(xiàn)出來(lái),而這其實(shí)是語(yǔ)言本身的性質(zhì)開(kāi)始就決定了的。筆者曾經(jīng)帶過(guò)好幾屆的程序設(shè)計(jì)的興趣班,除掉最后一屆,之前教授的語(yǔ)言都是C或C++。正如筆者如前所述,一開(kāi)始學(xué)生熱情高漲以至于教室人滿為患,但后面卻幾乎沒(méi)有人堅(jiān)持下來(lái)。是筆者課上得太爛嗎?還是有別的原因?經(jīng)過(guò)細(xì)致的調(diào)查、反思,才找出問(wèn)題的關(guān)鍵所在。
眾所周知,現(xiàn)在個(gè)人電腦的操作系統(tǒng)基本上都是視窗化的了,不管是Windows,還是Linux、Mac OS,都無(wú)一例外。C和C++最大的問(wèn)題在于,使用C和C++進(jìn)行可視化編程學(xué)習(xí)周期太長(zhǎng),難度較大,看看一個(gè)簡(jiǎn)單顯示窗體的程序,其主函數(shù)WinMain函數(shù)的長(zhǎng)度、窗口類眾多的成員變量、復(fù)雜的消息循環(huán)及分發(fā)結(jié)構(gòu)就可以想像其難度了(C++使用MFC也沒(méi)有好得太多)。基于這個(gè)原因,學(xué)生學(xué)習(xí)C或C++的時(shí)間里,基本上都是在編寫(xiě)枯燥的控制臺(tái)應(yīng)用程序(因其界面和DOS程序相似,許多人將其誤稱為DOS程序),以及過(guò)深地陷入到算法的糾結(jié)中,還有重復(fù)去發(fā)明鏈表(List)、隊(duì)列(Queue)、棧(Stack)這些數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言的標(biāo)準(zhǔn)庫(kù)中是不包含這些基本的數(shù)據(jù)結(jié)構(gòu)的),而學(xué)生生活中的許多問(wèn)題實(shí)際上算法都比較簡(jiǎn)單,但需要更友好的圖形界面的呈現(xiàn)方式(比如一個(gè)隨機(jī)選人的程序),這就導(dǎo)致學(xué)生在漫長(zhǎng)的學(xué)習(xí)過(guò)程中不能學(xué)以致用而缺乏成就感,故而漸漸失去學(xué)習(xí)興趣。而這在其他三門語(yǔ)言中是很容易就可以實(shí)現(xiàn)的事(事實(shí)上這在C#中最短不超過(guò)10行代碼就可以完成了)。
總的來(lái)說(shuō),C和C++看似易學(xué),實(shí)際上學(xué)習(xí)難度很大,對(duì)于偏向于實(shí)現(xiàn)簡(jiǎn)單應(yīng)用的高中學(xué)生而言是不適宜的。筆者覺(jué)得它們更適合于那些進(jìn)一步深入研究計(jì)算機(jī)軟件開(kāi)發(fā),如系統(tǒng)級(jí)(如操作系統(tǒng)內(nèi)核、嵌入式應(yīng)用、硬件驅(qū)動(dòng),以及內(nèi)存和或效率特別苛刻的電信級(jí)應(yīng)用等)的開(kāi)發(fā)人員學(xué)習(xí)。當(dāng)然前面沒(méi)有詳細(xì)討論P(yáng)ascal,是因?yàn)槠浜芏喾矫婧虲語(yǔ)言相似,但其應(yīng)用基本上囿于教學(xué)領(lǐng)域,從長(zhǎng)遠(yuǎn)著想故而不將其列入考慮范圍。
那么剩下的還有三門語(yǔ)言VB、Java以及C#可選,哪一門高中生學(xué)習(xí)起來(lái)會(huì)比容易,興趣會(huì)比較高呢?
從學(xué)習(xí)的難易程度上講,VB無(wú)疑是最簡(jiǎn)單的,而且一些地方的高中程序設(shè)計(jì)選修課教材教學(xué)語(yǔ)言選擇的就是VB(教材用)。這樣看上去貌似VB應(yīng)該是最合適的語(yǔ)言了。其實(shí)不然,正如文中之前所強(qiáng)調(diào)的,立足于學(xué)生的生活實(shí)際。誠(chéng)然,VB在學(xué)習(xí)難度上確實(shí)簡(jiǎn)單,但是使用VB編寫(xiě)實(shí)際應(yīng)用的難度實(shí)際上要大于Java和C#,這是因?yàn)閮蓚€(gè)因素:一是Java和C#本身的標(biāo)準(zhǔn)庫(kù)里包含了大量的實(shí)現(xiàn)好了的通用組件,可以很大地減少開(kāi)發(fā)時(shí)間,而VB的庫(kù)函數(shù)則要簡(jiǎn)陋得太多;二是Java和C#有大量開(kāi)源的免費(fèi)組件可以直接拿來(lái)用,使用他們可以“站在巨人的肩膀上去解決問(wèn)題”,而VB幾乎很少。另外,VB也有一個(gè)天生的缺陷,其本質(zhì)上不是一個(gè)真正的面向?qū)ο笳Z(yǔ)言,因?yàn)槠浔旧聿恢С掷^承、多態(tài)這些面向?qū)ο笳Z(yǔ)言的基本特征,而面向?qū)ο蟪绦蛟O(shè)計(jì)毫無(wú)疑問(wèn)是現(xiàn)在及今后的主流。況且,Java和C#的學(xué)習(xí)難度比VB大不了多少,若從強(qiáng)調(diào)快速應(yīng)用和長(zhǎng)遠(yuǎn)發(fā)展的角度講,Java和C#是更適合的語(yǔ)言。