時間:2022-12-17 22:27:54
序論:在您撰寫編程語言時,參考他人的優(yōu)秀作品可以開闊視野,小編為您整理的7篇范文,希望這些建議能夠激發(fā)您的創(chuàng)作熱情,引導(dǎo)您走向新的創(chuàng)作高度。
關(guān)鍵詞 Java技術(shù);編程設(shè)計;語言研究
中圖分類號 TP3 文獻(xiàn)標(biāo)識碼 A 文章編號 1674-6708(2017)188-0068-02
Java編程技術(shù)是當(dāng)前計算機(jī)軟件設(shè)計方面較為常用的方式之一,其具有較強(qiáng)的通用性、高效性和安全性,得到了各大軟件公司的青睞。近年來其廣泛的運(yùn)用在各大PC、數(shù)據(jù)中心中,成為了編程行業(yè)不可或缺的重要工具。相比于C+語言來講,其更易于上手,方便快捷,對于初學(xué)者來講更具熟練使用的可能性。本文簡單介紹了Java編程的概念,并對當(dāng)前Java編程領(lǐng)域存在的問題進(jìn)行了總結(jié)研究,并相對應(yīng)的提出了筆者的看法,希望其中的拙見能夠?qū)ο嚓P(guān)產(chǎn)業(yè)的發(fā)展做出一份貢獻(xiàn),從而推動整個計算機(jī)軟件系統(tǒng)的健康發(fā)展。
1 Java編程過程中存在的問題
1.1 Java編程過程中中文字符無法正常顯示
Java編程軟件本非中國制造,其主要針對的是以英文字符為工具語言的Java編程而設(shè)計,因此在文字切換與適應(yīng)性等領(lǐng)域存在較大的問題。這一問題主要表現(xiàn)在中英外文在同一框架內(nèi)使用時的兼容性較差、容易出現(xiàn)中文空缺或亂碼現(xiàn)象等。在進(jìn)行中文環(huán)境的Java應(yīng)用的開發(fā)當(dāng)中,由于Java技術(shù)本身的缺陷,一旦出現(xiàn)中外文交互使用的情況時,就有可能出現(xiàn)中文字符信息缺失或無法識別的情況。例如:網(wǎng)頁制作系統(tǒng)中的中文字符無法正確顯示,出現(xiàn)阿拉伯?dāng)?shù)字亂碼、在bios后臺系統(tǒng)中出現(xiàn)系統(tǒng)阻礙或漏洞,其文字符號顯示為“?”等在不同特殊情況下,其表現(xiàn)也往往不大相同。
1.2 Java編程技術(shù)人員技藝不夠精湛,編程過程容易出現(xiàn)細(xì)節(jié)錯誤
在20世紀(jì)末期,我國計算機(jī)軟件的發(fā)展逐步推進(jìn),理論界也開始了進(jìn)一步的討論與研究,Java語言編程相關(guān)技術(shù)在此刻進(jìn)入人們的視野,然而由于技術(shù)水平有限,理論基礎(chǔ)也并不扎實,使得Java編程相關(guān)技術(shù)雖然得以出現(xiàn),但其理論體系發(fā)展并不完善?,F(xiàn)如今,由于我國經(jīng)濟(jì)高速發(fā)展,Java編程領(lǐng)域需要大量的技術(shù)人才,但由于Java編程技術(shù)本身屬于舶來品,很多技術(shù)人員在學(xué)習(xí)過程中一知半解,很難在實際工作中施展拳腳,有效運(yùn)用。在Java編程行業(yè)扎根的技術(shù)人員一定程度上不再充分吸收最新的技術(shù)理念,也封鎖了從各大高校剛剛畢業(yè)的知識分子進(jìn)入相關(guān)行業(yè)工作的途徑,這使得Java編程技術(shù)的有效傳播與發(fā)展成為奢望。目前的Java編程人員在學(xué)習(xí)該軟件期間并未能做到充分理解、耐心練習(xí)、有效把握。因而在實踐工作過程中往往會出現(xiàn)這樣或者那樣的問題。Java編程技術(shù)人員在編程過程中很容易使用錯誤或類似的代碼進(jìn)行編程操作,這會導(dǎo)致編程結(jié)果出現(xiàn)較大偏差,對相關(guān)軟件使用方產(chǎn)生巨大的經(jīng)濟(jì)財產(chǎn)損失,類似的失誤林林總總,難以避免,嚴(yán)重制約了相關(guān)技術(shù)的發(fā)展。
1.3 Java編程軟件編程原理落后,需要更新版本,及時創(chuàng)新
Java編程軟件最初主要以歐美國家為使用方,因此其軟件設(shè)計、編程習(xí)慣均以歐美人員的慣用風(fēng)格為藍(lán)本。在20世紀(jì)末期,Java編程操作系統(tǒng)傳入中國,相關(guān)研究人員在粗略改動下基本沿用了其基礎(chǔ)操作框架,為我國軟件編程行業(yè)賺得了寶貴的“紅利時期”。然而當(dāng)前我國計算機(jī)軟件更新迅捷,傳統(tǒng)的操作系統(tǒng)、編程方式似乎難以滿足日益增長的客觀需要。當(dāng)前科學(xué)研究、高校教學(xué)所使用的Java編程模板已經(jīng)難以適應(yīng)當(dāng)代科技發(fā)展需要,出現(xiàn)了一系列的問題,這些問題表現(xiàn)在文字轉(zhuǎn)換的兼容性、版本差異導(dǎo)致的相互不識別問題等。這些問題促使相關(guān)科研機(jī)構(gòu)進(jìn)一步更新Java主模板,及時創(chuàng)新,使其適應(yīng)現(xiàn)代化、信息化發(fā)展的需要。
2 解決相應(yīng)問題的措施與方法
2.1 提高Java的中文編碼轉(zhuǎn)換能力,設(shè)立中文
字庫
眾所周知,當(dāng)前編程軟件運(yùn)作均是采用Unicode格式的編碼,而本地網(wǎng)絡(luò)計算機(jī)系統(tǒng)默認(rèn)支持的卻極有可能是其他形式的編碼。這要求我國Java編程軟件制造研究機(jī)構(gòu)要及時更新編碼列表,提高系統(tǒng)中文編碼的識別轉(zhuǎn)化能力,也要盡可能的設(shè)立中文字庫,通過中外文字符的一一對應(yīng)提高Java編程軟件的適應(yīng)性與靈活性。要針對性地改變Java編程軟件的源文件系統(tǒng),有選擇性地加入字庫檢索功能,從而為Java系統(tǒng)的本地化提供基礎(chǔ)與條件,保證在“Java源代碼―Java字節(jié)碼―虛擬機(jī) (JVM)―操作系統(tǒng)―顯示設(shè)備”過程中的每一步都必能夠正確地處理中文
編碼。
2.2 加強(qiáng)專業(yè)技術(shù)培訓(xùn),提高相關(guān)技術(shù)人員的專業(yè)水平
Java編程技術(shù)當(dāng)前已經(jīng)取得了較大進(jìn)展,但由于我國相關(guān)技術(shù)領(lǐng)域開展較晚,對很多基礎(chǔ)知識的了解不足,這使得編程人員在未能良好掌握基礎(chǔ)的前提下就投入了實際的工作之中。想要解決技術(shù)人員專業(yè)水平不足的問題,最佳方法便是在工作之余推行廣泛的專業(yè)技術(shù)培訓(xùn),在學(xué)中進(jìn)行工作,在工作中熟練所學(xué)知識。要定期對國際先進(jìn)編程技術(shù)進(jìn)行展望,定期邀請國際頂尖編程技術(shù)管理人員進(jìn)行親身指導(dǎo),要時刻注重優(yōu)秀人才的引進(jìn)。相關(guān)計算機(jī)軟件科研機(jī)構(gòu)應(yīng)當(dāng)選派本機(jī)構(gòu)內(nèi)優(yōu)秀科研人才進(jìn)入國際頂尖科研機(jī)構(gòu)進(jìn)行交換學(xué)習(xí),也可國內(nèi)交換,從而增強(qiáng)相應(yīng)機(jī)構(gòu)間對于Java編程理論的掌握與創(chuàng)新能力。要注重相關(guān)學(xué)界的理論創(chuàng)新,對有特殊才能的社會人員、青年學(xué)生果斷錄用,從而為Java編程領(lǐng)域的發(fā)展儲備人才。
2.3 更新Java編程軟件技術(shù),及時創(chuàng)新
Java編程軟件需要隨著時間的發(fā)展而自我完善,中國編程技術(shù)要想進(jìn)一步發(fā)展就需要行業(yè)整體提高對Java編程的理解和應(yīng)用能力。當(dāng)前Java編程軟件大多以Unicode格式的編碼為主要字符,與中文字符進(jìn)行交互使用時容易出現(xiàn)各種漏洞。相關(guān)技術(shù)人員的任務(wù)便是改變這一格局,創(chuàng)新使用其他編碼符號,并且對軟件運(yùn)作機(jī)制與框架進(jìn)行創(chuàng)新研究,一改原有的源代碼與操作模式,通過后臺操作提高軟件運(yùn)作效率與質(zhì)量。充分引進(jìn)歸國技術(shù)人才,將先進(jìn)操作模式與技巧引入編程系統(tǒng),進(jìn)一步簡化軟件使用方法,更新使用界面,使得相關(guān)軟件的使用方式中國化、簡單化,符合廣大中國編程工作者的使用
習(xí)慣。
3 結(jié)論
Java編程語言產(chǎn)生于交錯復(fù)雜的網(wǎng)絡(luò)環(huán)境之中,其要求Java語言編輯能夠?qū)Χ鄧淖诌M(jìn)行有效的處理,當(dāng)前Java編程技術(shù)尚不能做到這一點,這就要求相關(guān)技術(shù)人員能夠有效地進(jìn)行技術(shù)創(chuàng)新,將多國語言識別的合理內(nèi)核進(jìn)行總結(jié),從而改善Java編程軟件的整體運(yùn)行機(jī)制。Java編程技術(shù)對整個計算機(jī)軟件的發(fā)展歷史來講意義重大,對于整個計算機(jī)軟件市場也產(chǎn)生了極大地變革。有效處理Java編程語言難題能夠幫助相關(guān)產(chǎn)業(yè)朝著良好的方向進(jìn)行發(fā)展。筆者在文中正是基于這樣的考慮,拋磚引玉,希望上文內(nèi)容能夠櫬蠹曳⒒右患賈長留下助力,在此期盼我國Java技術(shù)領(lǐng)域能夠有更大的
發(fā)展。
參考文獻(xiàn)
[1]馮中毅,董海棠,岳建斌.Java Web開發(fā)中的亂碼問題分析及解決方案研究[J].科技信息,2013(19):92.
關(guān)鍵詞:單片機(jī);編程
中圖分類號:TP312文獻(xiàn)標(biāo)識碼:A文章編號:1009-3044(2007)03-10765-01
1 引言
隨著單片機(jī)技術(shù)日新月益的發(fā)展,學(xué)習(xí)它的人可是越來越多了。對于初學(xué)者來說,好多人一開始總會被單片機(jī)的各種各樣的編程語言搞糊涂了。因為單片機(jī)目前的編程語言常見的有四種,即匯編語言、C語言、PL/M和BASIC。究竟要學(xué)哪一種編程語言好呢?我們先來做個比較吧。
2 單片機(jī)的BASIC編程語言
BASIC是一種高級語言,它的英文含義是“初學(xué)者通用符號指令代碼”,是在1965年5月,由美國科學(xué)家托馬斯?庫爾茲研制出來的。10多年后,微軟公司把它移植到微型機(jī)上。幾十多年來,BASIC語言一直被認(rèn)為是初學(xué)編程的語言。它已經(jīng)由QBASIC發(fā)展到VB#版本,具備了很多結(jié)構(gòu)化思想和編程方式,如函數(shù)、模塊、局部變量、全局變量、數(shù)據(jù)傳遞等。早期的BASIC語言由于生成的代碼不是最終目標(biāo)機(jī)器的代碼,而是經(jīng)過一個RUNTIME程序解釋后運(yùn)行的,所以執(zhí)行效率低。而單片機(jī)的BASIC編譯器是直接將程序代碼編譯成相應(yīng)芯片的機(jī)器碼,不需要在單片機(jī)的內(nèi)存中駐留RUNTIME程序,執(zhí)行效率與其他編譯器編譯出來的一樣。
我們現(xiàn)在以MCS-Electronics公司開發(fā)出來的BASCOM-8051開發(fā)環(huán)境為例,簡要介紹一下以BASIC語言為基礎(chǔ)的單片機(jī)編程系統(tǒng)。
它和一般BASIC語言一樣具有如:For、To、Step、If、Else、End 、Select Case等等命令,其用法及功能是沒有什么區(qū)別的,因此初學(xué)者比較容易入門。
另外,它還有針對單片機(jī)硬件所設(shè)計的命令如:LCD命令可以用一條命令來實現(xiàn)LCD的顯示操作。
Cls '清LCD屏
Lcd"Hello world." '向LCD輸入字符串
類似于這樣的命令主要是提供了直接對單片機(jī)及其外部硬件的操作,特別是提供了對單片機(jī)端口的直接操作,如:P1、P2、P2.1、P0.3等等,簡化了整個開發(fā)過程,是開發(fā)人員重點學(xué)習(xí)的部分。
例如有硬件電路如圖(1)所示,編程使發(fā)光二極管間隔兩秒鐘閃爍一次的程序如下:
While I = 2
P1.0 = Not P1.0
Wait I
Wend
End
3 單片機(jī)的PL/M編程語言
PL/M 語言是Intel公司從8080微處理器開始為其系列產(chǎn)品開發(fā)的編程語言,其特點是:
3.1 簡單易學(xué)
PL/M-51語言只有兩類語句:一類是說明語句,用于說明變量和過程;另一類是可執(zhí)行語句,如賦值語句、條件語句和循環(huán)語句等。這些語句的功能和BASIC語言中相應(yīng)的語句相似,如:
P1=02H;/*賦值語句*/
IF M>2 THEN N=P1;/*條件語句*/
DO I=0 TO 10;/*循環(huán)語句 */
3.2 可讀性好
PL/M-51是一種結(jié)構(gòu)化語言,其程序是塊式結(jié)構(gòu),可采用縮進(jìn)式方法書寫源程序,使程序?qū)哟吻宄?,便于理解和閱讀。一個完整的程序可由多個模塊組成,而每個模塊又是由多個程序塊構(gòu)成。
3.3 可靠性高
PL/M-51編譯軟件檢查用戶程序?qū)纹瑱C(jī)的各種資源使用情況,對沖突使用情況或不合理使用情況能提出警告,并能自動為用戶程序合理分配內(nèi)存。
3.4 隔離性好
PL/M-51中,既可有全局的靜態(tài)變量,也可有局部的動態(tài)變量,對于全局性的靜態(tài)變量,其性質(zhì)和BASIC中的變量一樣,該變量在整個程序中均有效。對于局部的動態(tài)變量,它只有在其所說明的程序塊中或過程中有效,在該程序塊或過程之外則無效。局部動態(tài)變量的特點是,當(dāng)由多個人共同編制一個程序中的不同模塊時,而不必?fù)?dān)心是否使用了相同的標(biāo)識符而發(fā)生沖突。模塊化的程序設(shè)計增加了程序設(shè)計的靈活性的方便性。
3.5 兼容性好
PL/M-51可同匯編語言或其他語言的目標(biāo)模塊連接起來,生成可執(zhí)行代碼如果用戶必須使用匯編語言編制一段程序,或是想利用已調(diào)好的匯編語言程序塊,那么該段匯編可以很方便地連接到PL/M-51程序目標(biāo)塊中。
3.6 具有良好的算法庫和庫管理能力
PL/M-51語言具有INTEL公司所提供的算法庫和庫管理功能用戶能利用現(xiàn)成的算法庫完成加、減、乘、除等運(yùn)算,并能建立自己的特定算法庫,使得編程一勞永逸,提高軟件的開發(fā)效率。
由上面幾點可見,PL/M語言是類似于Pascal一種語言,是一種結(jié)構(gòu)化語言。PL/M編譯器好像匯編器一樣可產(chǎn)生緊湊代碼,可以說它是一種"高級匯編語言",可詳細(xì)控制著代碼的生成。但對51系列的單片機(jī)來說,PL/M不支持復(fù)雜的
算術(shù)運(yùn)算、浮點變量而無豐富的庫函數(shù)支持。學(xué)習(xí)PL/M無異于學(xué)習(xí)一種新語言。
4 單片機(jī)的匯編語言
匯編語言是一種用文字助記符來表示機(jī)器指令的符號語言,是最接近機(jī)器碼的一種語言。其主要優(yōu)點是占用資源少,程序執(zhí)行效率高,由于它一條指令就對應(yīng)一條機(jī)器碼,每一步的執(zhí)行動作都很清楚,并且程序大小和堆棧調(diào)用情況都容易控制,調(diào)試起來也比較方便。但是不同的類型的單片機(jī),其匯編語言可能有點差異,所以不易移植。比如你在PIC12CE518單片機(jī)上用匯編語言編了一個程序,到了STC89C51單片機(jī)上那可就運(yùn)行不了,因為他們的指令系統(tǒng)是有區(qū)別的。
單片機(jī)的匯編語言非常像其他匯編語言。指令系統(tǒng)比第一代微處理器要強(qiáng)一些。但單片機(jī)擁有不同存儲區(qū)域使得其編程變得復(fù)雜一些,可是作為一位電子工程師,懂得匯編語言就可幫助你了解影響任何語言效率的特殊規(guī)定。例如,懂得匯編語言指令就可以使用在片內(nèi)RAM作變量的優(yōu)勢,因為片外變量需要幾條指令才能設(shè)置累加器和數(shù)據(jù)指針進(jìn)行存取。同樣的,當(dāng)要求使用浮點數(shù)和啟用函數(shù)時也只有具備匯編編程經(jīng)驗才能避免生成龐大的、效率低的程序,對于這方面的編程,沒有匯編語言是做不到的。
5 單片機(jī)的C語言
單片機(jī)的C語言是一種編譯型程序設(shè)計語言,它兼顧了多種高級語言的特點,并具備匯編語言的功能。C語言具有功能豐富的庫函數(shù),運(yùn)算速度快,編譯效率高,有良好的可移植性,而且可以實現(xiàn)直接對系統(tǒng)硬件的控制。此外,C語言程序具有完整的程序模塊結(jié)構(gòu),從而為軟件開發(fā)中采用模塊化程序設(shè)計方法提供了有力的保障。與匯編相比,有如下優(yōu)點:
(1)對單片機(jī)的指令系統(tǒng)不要求了解,僅要求對51的存儲器結(jié)構(gòu)有初步了解,至于寄存器分配、不同存儲器的尋址及數(shù)據(jù)類型等細(xì)節(jié)均由編譯器管理。
(2)程序有規(guī)范的結(jié)構(gòu),可分為不同的函數(shù)。這種方式可使程序結(jié)構(gòu)化,將可變的選擇與特殊操作組合在一起,改善了程序的可讀性。
(3)編程及程序調(diào)試時間顯著縮短,從而提高效率。 提供的庫包含許多標(biāo)準(zhǔn)子程序,具有較強(qiáng)的數(shù)據(jù)處理能將已編好程序可容易的植入新程序,因為它具有方便的模塊化編程技術(shù)。
單片機(jī)C語言作為一種非常方便的語言而得到廣泛的支持,C語言程序本身并不依賴于機(jī)器硬件系統(tǒng),基本上不做修改就可根據(jù)單片機(jī)的不同較快地移植過來。
綜上所述,單片機(jī)的四種編程語言各有各的優(yōu)缺點,作為單片機(jī)初學(xué)者,筆者認(rèn)為還是應(yīng)該先學(xué)習(xí)匯編語言,不一定要學(xué)得很精很熟悉,但要有一定的了解。因為匯編語言程序除了具有簡潔明快、跳躍性強(qiáng)、占ROM資源少等優(yōu)點以外,還因它和單片機(jī)底層硬件緊密聯(lián)系,可以讓初學(xué)者更加了解單片機(jī)硬件系統(tǒng)各種資源,熟悉各個功能模塊的作用,從而為編出更高效率的程序打好扎實的基礎(chǔ)。
用單片機(jī)匯編語言編寫的程序代碼效率高,但學(xué)習(xí)起來相對難度較大,而且對于一個大型項目,如果完全采用匯編語言來編程,就顯得很繁瑣,尤其是遇到算法方面的問題時,匯編語言根本就應(yīng)付不了。況且現(xiàn)在單片機(jī)的主頻在不斷的提高,在高頻率時鐘的作用下,我們完全不需要那么高效率的代碼;另外,單片機(jī)的ROM和RAM空間也在不斷的增加,足夠裝得下你用C語言寫的任何程序代碼,單片機(jī)C語言相關(guān)的資料又多又好找,可移植性非常好,比如只需要改變一個IO口寫個溫度傳感器的程序在任何一個單片機(jī)上都能使用。由此可見用單片機(jī)C語言進(jìn)行程序設(shè)計,已成為單片機(jī)軟件開發(fā)的一個主流,作為一個技術(shù)全面并涉足較大規(guī)模的軟件系統(tǒng)開發(fā)的單片機(jī)開發(fā)人員最好能夠掌握基本的C語言編程。
當(dāng)然,有時候用單片機(jī)C語言也不能夠?qū)崿F(xiàn)所有要編寫程序的功能,比如當(dāng)想編寫一個精確控制的定時程序時,用起匯編語言來還是比較方便的。因此想成為一個優(yōu)秀的單片機(jī)編程技術(shù)員,最好就是能懂得單片機(jī)C語言和匯編語言的混合編程。
參考文獻(xiàn):
[1]藍(lán)點方舟科技網(wǎng). . 8051系列單片機(jī)BASIC語言開發(fā)環(huán)境簡介[Z].
[2]/. PL/M-51高級語言特點[Z].
[3]王杰潔,耿英杰. 單片機(jī)C語言和匯編語言的簡單比較[Z].
全書分為18個部分,共50章:第1部分 判定和規(guī)則,含第1-3章:1.語法對象;2.感應(yīng)定義;3.假設(shè)與一般性判斷。第2部分 靜力學(xué)和動力學(xué),含第4-7章:4.靜態(tài)類型變量;5.動態(tài)類型變量;6.變量的類型安全;7.動態(tài)評估。第3部分 函數(shù)類型,含第8-10章:8.函數(shù)的定義和值;9.Gdel的T介紹;10.Plotkin的PCF介紹。第4部分 有限數(shù)據(jù)類型,含第11-14章:11.積類型;12.和類型;13.模式匹配;14.泛型編程。第5部分 無限數(shù)據(jù)類型,含第15-16章:15.感應(yīng)及傳導(dǎo)類型;16.遞歸類型變量。第6部分 動力學(xué)類型,含第17-19章:17.非類型化λ演算;18.動態(tài)類型變量;19.混合類型變量。第7部分 變量類型,含第20-22章:20.Girard的F系統(tǒng);21.摘要類型;22.構(gòu)造函數(shù)和種類。第8部分 亞型,含第23-24章:23.亞型;24.單種。第9部分 類和方法,含第25-26章:25.動態(tài)調(diào)度;26.繼承。第10部分 例外和延續(xù),含第27-29章:27.堆??刂?;28.例外;29.繼續(xù)。第11部分 含第30-31章:30.建設(shè)性邏輯;31.經(jīng)典邏輯。第12部分 符號,含第32-34章:32.符號;33.流體綁定;34.動態(tài)分級。第13部分 狀態(tài),含第35-36章:35.現(xiàn)代化語言;36.分配參考。第14部分 懶惰,含第37-38章:37.懶惰評價;38.極化。第15部分 并行,含第39-40章:39.嵌套并行;40.未來及預(yù)測。第16部分 并發(fā)式語言,含第41-43章:41.流程積分;42.并發(fā)式語言;43.分布式語言。第17部分 模塊化,含第44-46章:44.組件;45.抽象類型和類型類;46.層次結(jié)構(gòu)和參數(shù)。第18部分 推理方程式,含第47-50章:47.T的推理方程式;48.PCF的推理方程式;49.參數(shù)化;50.過程等價。
作者Robert Harper現(xiàn)任職于賓夕法尼亞的卡內(nèi)基 - 梅隆大學(xué),他的研究興趣主要集中在類型理論,證明論和范疇論應(yīng)用到編程語言的語義和實現(xiàn)。發(fā)表的論文包括正確編譯多態(tài)性與動態(tài)類型、ACM研究:高效的緩存算法功能、結(jié)構(gòu)和計算機(jī)程序的效率等;參與的講座有美國印第安納大學(xué)計算機(jī)科學(xué)系特聘講座、LICS/ MFPS聯(lián)席會議等。
本書通過類型理論提供了編程語言基本知識的新觀點。大多數(shù)教科書強(qiáng)調(diào)分類,而本書強(qiáng)調(diào)遺傳學(xué)這一新的視角,可擴(kuò)展的理論框架有直接的實際應(yīng)用。讀者僅需要初等數(shù)學(xué)的知識便可閱讀此書。本書適合編程理論、計算機(jī)程序方面的研究人員、研究生閱讀參考。
李亞寧,碩士研究生
(中國科學(xué)院自動化研究所)
關(guān)鍵詞:單片機(jī);編程語言
中圖分類號:TP313文獻(xiàn)標(biāo)識碼:A文章編號:1007-9599 (2010) 04-0000-01
Comparison on Various Microcontroller Programming Languages
Zhou Hao
(China West Normal University, Physics and Electronic Information College,Nanchong 637002,China)
Abstract:MCU applications now is gradually expanding,meanwhile microcontroller programming language can be used for it is also more and more, the most commonly used languages are C language, PL / M. and the BASIC language, etc. This paper will give a variety of Comparison of these languages and strengths and weaknesses, to provide quick and easy path for beginners.
Keywords:Single chip micyoco(MCU);Programming language
一、引言
隨著計算機(jī)技術(shù)和產(chǎn)業(yè)的不斷發(fā)展,單片機(jī)的優(yōu)點和特性十分突出,其應(yīng)用領(lǐng)域也非常廣泛。下面分別對匯編語言、C語言、PL/M.和BASIC等4種語言做個對比,讓大家對這4總語言有一個較為清晰的認(rèn)識。
二、匯編語言
匯編語言是是最接近機(jī)器碼的一種語言,它用來表示機(jī)器指令的符號語言,一種用文字助記符。占用資源少是其主要優(yōu)點,程序執(zhí)行效率高。匯編語言調(diào)試起來也比較方便是因為它一條指令就對應(yīng)一條機(jī)器碼,每一步的對應(yīng)都很清楚,并且程序大小和堆棧調(diào)用情況都容易掌控。但是因為不同的類型的單片機(jī)的指令系統(tǒng)是有區(qū)別的,所以其匯編語言也有些差異,不易移植。單片機(jī)的匯編語言和其他匯編語言也很相像。指令系統(tǒng)比第一代微處理器要好一些。但單片機(jī)編程之所以變得復(fù)雜一些是因為其擁有不同存儲區(qū)域,如果你是一位電子工程師,懂得匯編語言就等于是一個基礎(chǔ),它可以幫助你了解影響任何語言效率的特殊規(guī)定。
三、單片機(jī)的C語言
單片機(jī)的C語言是一種具備匯編語言功能以及多種高級語言的編譯型程序設(shè)計語言。C語言可以直接控制系統(tǒng)硬件,此外還具有許多其他功能。如庫函數(shù)功能多樣,操作運(yùn)算速度快,編譯效率強(qiáng),可移植性也較強(qiáng)。值得一提的是在軟件開發(fā)中如果采用模塊化程序設(shè)計方法C語言就具有明顯的優(yōu)勢,因其具有完整的程序模塊結(jié)構(gòu)。它與匯編相比,有如下幾大優(yōu)點:
(一)程序函數(shù)可互有差異且組織結(jié)構(gòu)規(guī)范,其最大的優(yōu)點就是使程序的可讀性得到很大的提高,程序結(jié)構(gòu)化趨于完善。
(二)模塊化編程技術(shù)使得其數(shù)據(jù)處理力較強(qiáng),它能將已編好的程序輕松的植入新程序且所需要的編程及程序調(diào)試周期短,效率高。
(三)C語言程序最大的優(yōu)點就是它不依賴于機(jī)器硬件系統(tǒng),因此它能較快地移植且不做修改。
(四)它是一種中級語言。他具有承上啟下功能,上則具有高級語言的基本結(jié)構(gòu)和語句,下則具備低級語言的實用性,他可以對位、字節(jié)和地址進(jìn)行操作,就像匯編語言,上述三個地址是計算機(jī)最基本的工作單元。
(五)它是結(jié)構(gòu)式語言。結(jié)構(gòu)式語言的顯著特點是代碼及數(shù)據(jù)的分隔化,有
各種各樣的數(shù)據(jù)類型,這種結(jié)構(gòu)化方式可使程序?qū)哟吻逦?便于使用、維護(hù)以及調(diào)試。
(六)C語言功能齊全。具并引入了指針概念,可使程序效率更高。另外C
語言也具有強(qiáng)大的圖形功能,支持多種顯示器和驅(qū)動器。而且計算功能、邏輯判斷功能也比較強(qiáng)大,可以實現(xiàn)決策目的的游戲。
四、PL/M編程語言
PL/M語言具有以下幾大優(yōu)點:
(一)具有較好的可讀性
模塊式的程序,結(jié)構(gòu)化的語言以及縮進(jìn)式的書寫方法,這都使得其可讀性提高。一個大型的程序是由多個模塊組成的,而在每一個模塊下面又分布著多個程序塊,這樣每個程序塊負(fù)責(zé)一部分功能,各司其責(zé),即縮短了編程時間又提高了程序設(shè)計的靈活性。
(二)具有較好的可依賴性
如果程序中有沖突使用或不合理使用時其能在提出警告的同時自動為用戶程序重新合理分配內(nèi)存,給使用者帶來了方便也有效地節(jié)約了空間資源。
(三)具有較好的結(jié)合性
局部動態(tài)變量是指一個程序中的不同模塊由多個人共同編制,但其不會因為使用了相同的標(biāo)識符而發(fā)生沖突,從而減小了工作量.全局的靜態(tài)變量不像局部動態(tài)變量那樣在所說明的程序塊中有效而在其以外無效,它是在整個程序中都有效,而PL/M正是這兩者的結(jié)合。
(四)具有較好的兼容性
PL/M程序可以使用戶方便地連接某段特定的匯編語言程序并生成可執(zhí)行代碼。
(五)BASIC編程語言
BASIC譯成中文是“初學(xué)者通用符號指令代碼”,它是由美國科學(xué)家托馬斯庫爾茲研制出來的,后由微軟公司把它應(yīng)用到微型機(jī)上,BASIC一直被定義為初學(xué)者最合適的編程語言,它的最大特點及優(yōu)點就是容易入門,現(xiàn)在BASIC語言也包括了很多結(jié)構(gòu)化程序及編程方式。例如,局部變量,全局變量,數(shù)據(jù)傳遞,函數(shù),模塊等。
一、變量與函數(shù)的相互調(diào)用
c語言可以調(diào)用匯編子程序和匯編語言中定義的變量。但要注意由于。編譯后的目標(biāo)文件自動地在函數(shù)名和變量名前加一個下劃線,所以在匯編語言中調(diào)用C語言的函數(shù)和變量時,應(yīng)在函數(shù)名和變量名前加一下劃線。在匯編語言程序開始部分,應(yīng)對調(diào)用的函數(shù)和變量用EXTERN加以說明。
二、調(diào)用者與被調(diào)用者的參數(shù)傳遞
這種數(shù)據(jù)傳遞通過堆棧完成,在執(zhí)行調(diào)用時從調(diào)用程序參數(shù)表中的最后一個參數(shù)開始,即從右到左自動依次壓人堆棧;將所有參數(shù)壓人堆棧后,再自動將被調(diào)用程序執(zhí)行結(jié)束后的返回地址(斷點)壓人堆棧,以使被調(diào)程序結(jié)束后能返回主調(diào)程序的正確位置而繼續(xù)執(zhí)行。進(jìn)人匯編子程序后,為了能正確獲取主調(diào)程序并存人堆棧中的數(shù)據(jù),被調(diào)的匯編子程序先后要做如下一些工作:
l、保存sp的副本進(jìn)人匯編子程序后,子程序中免不了要有壓棧和出棧的操作,故sP時刻在變化。為了能用SP訪問堆棧中的參數(shù),安全辦法是一進(jìn)人子程序后,先為SP制副本,以后對傳遞參數(shù)的訪問都用副本進(jìn)行。一般可用BP保存SP,如:pushbPmovbP,sp
2、保留數(shù)據(jù)空間如果匯編子程序中需要一些局部數(shù)據(jù),可以簡單地減小SP的值,以便在??臻g中保留出一段存貯區(qū),用于存放局部數(shù)據(jù),該區(qū)域須在子程序結(jié)束后恢復(fù)。如下語句可以保留一個局部數(shù)據(jù)區(qū):pushbPmovbP,spsubsp,spaee;設(shè)spaee=4如上語句段中,SPACE是局部數(shù)據(jù)的總字節(jié)數(shù)。在以后的應(yīng)用中,由于SP是變化的,而BP是固定的,用負(fù)偏移量可以存取局部變量。上例利用BP及偏移量,將兩個字的局部數(shù)據(jù)初始化為0。
3、保留寄存器值如果在被調(diào)子程序中用到sI、DI等其它寄存器,則應(yīng)先把它們壓人堆棧,以保留寄存器原值。例如,下例就是將SI和DI寄存器的值壓棧:pushbpmoybp,SpsubSp,sPaeePush51Pushdi
4、獲取傳遞參數(shù)BP保留了SP在參數(shù)傳遞完并將BP壓棧后的一個副本,利用BP可以很方便地訪問各參數(shù)。現(xiàn)假設(shè)調(diào)用了名為funcl匯編程序模塊的主函數(shù):maln(){……fund(pl,pZ,p3);……}。各參數(shù)都是2字節(jié)的整數(shù)值,返回地址retumaddress,在小模式編譯方式共占用2個字節(jié)。如果要將傳遞的參數(shù)p卜pZ、p3取出,并分別賦給bx、Cx、dx寄存器,可由下列語句完成這一功能:movbx,[bp+4jmovcx,[bp+6]movdx,[bp+8〕
關(guān)鍵詞:編程語言;雙語教學(xué);Java程序設(shè)計
1編程語言類課程雙語教學(xué)的建設(shè)現(xiàn)狀
目前,幾乎所有的編程語言都是由歐美國家設(shè)計和實現(xiàn)的,它們的幫助文檔、語言規(guī)范說明全都是英文。雖然常用的程序開發(fā)軟件已經(jīng)有漢化版本,也有相應(yīng)的中文幫助文檔,但是漢化或多或少存在不準(zhǔn)確的地方;另外,英語和漢語表達(dá)思維的不同,使得一些編譯和運(yùn)行錯誤的提示信息看起來不知所云。因此,在高校推動雙語教學(xué)勢在必行。為了探索有效的教學(xué)方法和模式,切實提高大學(xué)生的專業(yè)英語水平和直接使用英語從事科研的能力,教育部于2007年至2010年啟動了“雙語教學(xué)示范課程建設(shè)項目”,支持建設(shè)503門雙語教學(xué)示范課程。在這些示范課程中,計算機(jī)專業(yè)課程包括操作系統(tǒng)(原理)、數(shù)據(jù)結(jié)構(gòu)(和算法分析)等約40項課程建設(shè)項目,幾乎囊括了計算機(jī)主要專業(yè)課程。其中,純編程語言類課程有7項,包括計算機(jī)網(wǎng)絡(luò)編程、C語言程序設(shè)計、Delphi計算機(jī)高級編程技術(shù)、面向?qū)ο蟪绦蛟O(shè)計等。當(dāng)然,除了這些國家級的雙語課程建設(shè)項目外,目前我國還存在著各類由省或?qū)W校支持的雙語教學(xué)示范課程項目。整體上看,計算機(jī)專業(yè)的雙語教學(xué)課程建設(shè)并沒有區(qū)分不同課程的特性。雖然計算機(jī)專業(yè)課程相比其他人文社科課程而言,更適合進(jìn)行雙語教學(xué),但是,考慮到雙語教學(xué)的師資以及學(xué)生水平現(xiàn)狀,在課程選擇上理應(yīng)有取舍。編程語言類課程的內(nèi)容大部分在講述語言特性和示例程序,幾乎不涉及自然語言交流的模糊性和復(fù)雜性,即減少了英語口頭表達(dá)能力欠缺所導(dǎo)致的障礙,這種“刻板性”使得編程語言類課程非常適合進(jìn)行雙語教學(xué)。
2編程語言類課程雙語教學(xué)模式探索
在組織雙語教學(xué)時,考慮到教學(xué)目標(biāo)、學(xué)生的基礎(chǔ)、師資力量等各方面原因,我們從教材選擇、教學(xué)手段、授課語言等方面,探討一種較為實際可行的教學(xué)模式。(1) 采取國外優(yōu)秀原版教材與自編講義相結(jié)合的方式。一方面,我們選擇原版優(yōu)秀教材。原版優(yōu)秀教材很多,它們服務(wù)于不同的授課對象,在選樣時,除了要考慮教學(xué)目標(biāo)外,還要考慮學(xué)生的接受程度。由于學(xué)生的母語是非英語,即使他們通過英語四級或者六級,閱讀英文專業(yè)知識的能力仍然欠缺,因此,選擇具有中文譯本的英文教材更好。同時,我們不應(yīng)該完全依賴這些國外優(yōu)秀教材,完全按照其編排順序進(jìn)行授課。許多國外教材的信息量都非常大,知識點的編排比較分散,我們難以在有限的學(xué)時內(nèi)按照教材的編排次序推進(jìn)教學(xué)進(jìn)度,這就需要對教材的內(nèi)容進(jìn)行分析總結(jié),針對每一節(jié)課的授課目標(biāo),整理成講義,標(biāo)識出相關(guān)的章節(jié)并在課前發(fā)給學(xué)生預(yù)習(xí)。(2)采取英文板書結(jié)合英文PPT演示的教學(xué)手段。講解編程語言時,特別是講述重要語法點和難點時,采取邊寫程序邊給出解釋的方式,板書代碼的英文注釋強(qiáng)化了該知識點在學(xué)生大腦中的印象,并能夠帶領(lǐng)學(xué)生進(jìn)一步沉浸在英文思維的氛圍中。同時,利用多媒體技術(shù)進(jìn)行教學(xué),將術(shù)語解釋、語法形式等采用英文PPT演示的形式放映,可以將教師從一些繁瑣的板書中解脫出來,節(jié)省教學(xué)時間。(3)采取用英文講授專業(yè)知識點的方式。講授編程語言類課程時,對于專業(yè)知識點部分,應(yīng)該采用英文,但是在非專業(yè)知識的表達(dá)以及語句的銜接等方面,出于慣性思維,可以使用中文。不過,考慮到學(xué)生的接受程度,對于關(guān)鍵知識點,可以再用中文補(bǔ)述一下。
3教學(xué)實踐
在Java程序設(shè)計課程的雙語教學(xué)活動中,我們選用的教材是HeadFirstJava。該書內(nèi)容適合初學(xué)者,較為全面,語言特點講解得非常透徹。此外,它的編排有趣,且中文譯本質(zhì)量高。板書采用英文,結(jié)合英文PPT。下文以編程語言的兩個重要語法點,同時也是教學(xué)難點為例,說明Java程序設(shè)計雙語教學(xué)的實施過程。1)引用變量。Java編程語言中變量的類型可以分為簡單類型和引用類型,它們對應(yīng)的英文分別是primitivetypes和referencetypes。解釋簡單類型時可直接列舉8種簡單類型,并在PPT上顯示。然而對于“引用”這個詞,即使解釋了引用類型包括類類型、接口類型以及數(shù)組類型,學(xué)生還是有疑問:引用究竟是什么意思?誰引用了誰?針對這些問題,我們在PPT演示中給出相關(guān)的術(shù)語解釋,并設(shè)計引用變量的聲明和賦值語句代碼,再輔以代碼運(yùn)行時的內(nèi)存變化情況,如圖1所示。學(xué)生能夠從上述PPT演示中準(zhǔn)確地理解“引用”這個詞的含義:如果一個變量是引用類型,如String類型,那么這個變量將可以引用到一個String類型的對象,或者稱這個變量可以引用或指向一個String類型的對象。2)動態(tài)綁定。C++和Java編程語言都會講到一個重要概念,即方法查找時的“動態(tài)綁定”,這也是教學(xué)難點,常常和“多態(tài)”“虛方法”這些詞聯(lián)系在一起?!皠討B(tài)”這個詞在漢語中的意思非常廣泛,“綁定”一詞的意思過于抽象,事實上,在編程語言中,動態(tài)通常指的就是程序的“運(yùn)行時”(run-time),而綁定表達(dá)了“引用變量在運(yùn)行時實際引用到的對象的類型”這層意思。其實,C++語言關(guān)于動態(tài)綁定和多態(tài)中有這樣的描述:Yougetthebehaviorassociatedwiththeobjecttowhichthevariablerefersatruntime.Thebehaviorisnotdeterminedbythecompiletimetypeofthevariable.Thisisanaspectofpolymorphism,andisanimportantfeatureofobject-orientedlanguages.Thisbehaviorisoftenreferredtoasvirtualmethodinvocation.同理,在Java中也有類似描述:Whenweinvokeanoverriddenmethod,Javacallsthemethodfortheobject'sdynamictype,regardlessofthevariable'sstatictype.Javalooksuptherightmethodforagivenobjectatrun-time.如果在授課過程中使用這些英文解釋,再輔以實例并展示運(yùn)行時內(nèi)存的變化,如圖2所示(實際教學(xué)中,使用不同的顏色標(biāo)識圖中不同部分,以達(dá)到板書的清晰性),可以系統(tǒng)地講解這個概念。專業(yè)清晰的英文描述加上實例,使得講解更具有說服力,并且直接易懂。以上講解過程中,考慮到學(xué)生的接受程度,在講解時可以輔以中文。然而,隨著雙語教學(xué)的不斷推進(jìn),對于專業(yè)知識的講述還是應(yīng)當(dāng)使用英語,這樣可以進(jìn)一步讓學(xué)生更容易與國際接軌。
4問題和建議
實踐教學(xué)中,我們發(fā)現(xiàn)學(xué)生面臨最直接的問題是:一些學(xué)生聽說是雙語教學(xué),認(rèn)為自己的英語很差,很快產(chǎn)生了畏難心理。其實這是不必要的,從實踐來看,一些具有一定編程基 礎(chǔ),有興趣但是英語成績并不突出的學(xué)生,課 堂表現(xiàn)和成績?nèi)匀槐容^好。相反,僅僅英語通 過六級,而編程能力較弱的學(xué)生,并沒有很好 的表現(xiàn)。事實上,編程語言的英文教材和資料 的語法并不復(fù)雜,也不涉及我們所缺失的西方 文化背景知識,并且,編程實踐能夠幫助學(xué)生 準(zhǔn)確理解英文描述,增進(jìn)他們的英語思維能力。 因此,在課堂上教師不要強(qiáng)調(diào)學(xué)生英語成績的 好壞背景,而是強(qiáng)調(diào)“雙語教學(xué)的重點仍然是 專業(yè)學(xué)習(xí)”。 雙語教學(xué)實踐中遇到的另外一個突出問題 是教學(xué)互動性不高。互動性不高主要有兩個方面 的原因,一是專業(yè)上沒有把握,有些跟不上進(jìn) 度;二是英語表達(dá)能力的欠缺。針對前者,由 于雙語教學(xué)增加了學(xué)生的學(xué)習(xí)任務(wù),教師需要 更多地與學(xué)生進(jìn)行交流,從學(xué)生的反饋中對教 學(xué)進(jìn)度、每堂課的教學(xué)內(nèi)容作適當(dāng)調(diào)整,并教 導(dǎo)學(xué)生做到課前先預(yù)習(xí)、課堂上多記筆記、課 后多咨詢;針對后者,應(yīng)當(dāng)采取多鼓勵的方式, 訓(xùn)練學(xué)生用英文進(jìn)行表達(dá),同時,允許學(xué)生用 中文回答問題,并提出希望下次能夠以英文回 答,這些可以在一定程度上調(diào)動學(xué)生參與課堂 教學(xué)的積極性。 編程語言類課程的雙語教學(xué)是高校計算機(jī) 專業(yè)教學(xué)的時代要求,雖然在高校已經(jīng)實踐了 多年,但是仍然存在一些問題,我們需要不斷地 摸索,進(jìn)一步完善編程語言類課程的雙語教學(xué)工 作,實現(xiàn)將英語變?yōu)榫幊陶Z言類課程學(xué)習(xí)者的第 二語言的教育目標(biāo)。
參考文獻(xiàn):
[1]王平,朱艷輝,翁艷彬.論如何使雙語教學(xué)真正輔助計算機(jī)專業(yè)教育的發(fā)展[J].計算機(jī)教育,2010(2):98-101.
[2]ShewchukJ.DatastructuresandJavaprogramming[EB/OL].[2014-05-18].
[3]SierraK,BatesB.HeadFirstJava[M]2nded.Sebastopol:O'ReillyMedia,2005.
[4]黃宏博.C語言程序設(shè)計課程雙語教學(xué)探索與實踐[J].計算機(jī)教育,2010(16):63-65.
[5]董東,黃文艷.計算機(jī)導(dǎo)論與Java程序設(shè)計雙語教學(xué)調(diào)查分析[J].計算機(jī)教育,2010(16):114-118.
關(guān)鍵詞:ASP;網(wǎng)絡(luò)編程;教學(xué)目的;教學(xué)方法;教學(xué)改革
1ASP網(wǎng)絡(luò)編程語言課程的教學(xué)目的及存在的主要問題
當(dāng)前各大高校計算機(jī)專業(yè)的學(xué)生都會開設(shè)網(wǎng)絡(luò)編程類的專業(yè)課,尤其以ASP為大多數(shù),所以有很多關(guān)于ASP方面的教學(xué)研究,著重探討了ASP教學(xué)的方法、學(xué)習(xí)模式以及考核模式等,這些內(nèi)容給我校教學(xué)工作提供了很多成功經(jīng)驗和參考,但是它們往往都忽略了一個根本性問題,作為計算機(jī)專業(yè)的學(xué)生為什么要學(xué)習(xí)網(wǎng)絡(luò)編程語言?為什么要選擇ASP作為網(wǎng)絡(luò)編程語言? 只有弄清這些根本性問題,才能更好地指導(dǎo)我們的教學(xué)工作。
1.1教學(xué)目的
由于Internet的普及,越來越多的軟件都與網(wǎng)絡(luò)有了聯(lián)系,學(xué)習(xí)網(wǎng)絡(luò)編程語言也就成了計算機(jī)專業(yè)學(xué)生的必修課;ASP這種網(wǎng)絡(luò)編程語言相對簡單,主要用于開發(fā)小型網(wǎng)站,同時很多學(xué)校開設(shè)了VB這門語言課程,學(xué)生學(xué)習(xí)ASP就比較容易上手,所以選擇ASP作為教學(xué)語言是非常合適和科學(xué)的。
計算機(jī)專業(yè)的學(xué)生學(xué)習(xí)任何一門語言的關(guān)鍵是學(xué)習(xí)程序設(shè)計的理念,而不是語言本身,是為了在今后的工作中,通過學(xué)校期間的知識積累,具備相應(yīng)崗位所需要的技能和能力。將來學(xué)生從事的工作方向和內(nèi)容是多樣化的,他們必須具備再學(xué)習(xí)的能力才能更容易地掌握新的語言和工具。
所以,ASP教學(xué)的主要目的不是讓學(xué)生精通ASP這門網(wǎng)絡(luò)編程語言,較少的課時和實驗學(xué)時、以及學(xué)生個人能力的差別和努力程度,也無法讓學(xué)生都達(dá)到精通。學(xué)習(xí)ASP是為了讓他們了解網(wǎng)絡(luò)編程相關(guān)知識、發(fā)展方向和網(wǎng)絡(luò)編程語言的思路。
1.2當(dāng)前教學(xué)存在的主要問題
1.2.1學(xué)生學(xué)習(xí)興趣不高
學(xué)習(xí)興趣是一門功課能否出成績的決定性因素,所以,要想讓學(xué)生把這門功課學(xué)好,就必須調(diào)動學(xué)生的學(xué)習(xí)熱情,只有讓學(xué)生在平時的課堂或?qū)嵙?xí)機(jī)房都能主動的學(xué)習(xí)相關(guān)知識,才能更好地領(lǐng)會學(xué)習(xí)重點,掌握關(guān)鍵技術(shù)。
1.2.2教科書編寫水平參差不齊
現(xiàn)在的教科書層出不窮,教科書編寫水平差異很大,其中有些教科書語言組織混亂,重點不突出,知識點跳躍大,甚至一本書多處出現(xiàn)編寫和印刷錯誤,而教學(xué)用書是學(xué)生學(xué)習(xí)一門技術(shù)的起點,所以教科書的選擇顯得尤為重要。
1.2.3教師的素質(zhì)問題
教學(xué)不但關(guān)乎學(xué)生學(xué)習(xí)的興趣,也對知識點的學(xué)習(xí)起到了指引作用,很多老師的教學(xué)幻燈片內(nèi)容都是照搬書本上整段的文字,上課時教師就照著幻燈片照本宣科,布置的作業(yè)和實驗報告在學(xué)生提交后也不認(rèn)真審閱。
2改進(jìn)課程教學(xué)方法的思路
針對目前ASP教學(xué)中存在的普遍問題展開分析和研究,有助于我們在今后的教學(xué)工作中進(jìn)行改進(jìn),能夠有目的性和針對性的制定相應(yīng)對策,提高教學(xué)質(zhì)量。
2.1學(xué)生學(xué)習(xí)興趣的培養(yǎng)
學(xué)生學(xué)習(xí)興趣的高低由三個方面決定的:
1) 學(xué)生自身的好學(xué)程度。它是學(xué)生學(xué)習(xí)興趣的決定因素,教師要做的只是在平時的教學(xué)中讓他們認(rèn)識到學(xué)習(xí)的重要性和必要性,其他就只能依靠學(xué)生自身了。
2) 老師的正確引導(dǎo)。老師的作用在這里得到了充分的體現(xiàn),學(xué)生想要汲取知識,可是課堂的枯燥無味、晦澀難懂會讓學(xué)生產(chǎn)生抵觸情緒,如何讓枯燥的學(xué)習(xí)趣味化、簡單化和具體化是老師們必須做好的工作。
3) 一定的壓力。沒有壓力何來動力,中興、華為為什么是IT行業(yè)的龍頭?因為他們的員工有壓力,也許壓力過大會產(chǎn)生一定的負(fù)面影響,但我們應(yīng)該看到它積極的一面,在中興、華為工作過的人水平確實得到很大提高,不僅僅是因為他們接觸了更多的高新技術(shù),而是那樣的工作環(huán)境迫使員工不斷地汲取知識。同樣教師在教學(xué)中也需要讓學(xué)生感到壓力――沒有一技之長無法在社會上立足,沒有技術(shù)只能待業(yè),不認(rèn)真學(xué)習(xí)只能補(bǔ)考或重修。
所以,在學(xué)生興趣培養(yǎng)上,不但要做好自身的引導(dǎo)責(zé)任,而且要通過現(xiàn)實社會讓學(xué)生從自身提高學(xué)習(xí)的源動力,只有內(nèi)外結(jié)合,才能真正地把學(xué)生的興趣培養(yǎng)起來。
2.2教科書的選擇
選擇一本真正適合教學(xué)的教科書,是做好教學(xué)工作的第一步。教科書的選擇應(yīng)該尊崇以下幾個關(guān)鍵點:
1)書本的知識不能過于跳躍,要連貫;
2) 書本的知識應(yīng)能充分突出ASP網(wǎng)絡(luò)編程語言的學(xué)習(xí)重點,應(yīng)能引導(dǎo)學(xué)生掌握ASP的編程思路;
3) 重要知識點的詳細(xì)性。既然敘述了一個知識點,就應(yīng)該把該知識點敘述得透徹,不能僅僅提供一般的表述形式,甚至連例子都省略了,這樣的課本不利于學(xué)生對知識點的掌握。
2.3教師的素質(zhì)和責(zé)任心
首先,教師是學(xué)生學(xué)習(xí)的引路石,如果連教師自己都不能熟練地應(yīng)用ASP這門語言,那么他就不可能把握這門語言的精髓,也不可能教好這門功課;其次,現(xiàn)在的教學(xué)都是聲像教學(xué),一般都是教師通過事前做的課件,邊操作邊給學(xué)生講解,那么課件的質(zhì)量也十分重要,不能僅僅局限于課本,而是應(yīng)該突出重點,增加實例,課件的知識容量應(yīng)遠(yuǎn)大于課本的內(nèi)容,并且應(yīng)以例題為主,不能僅僅是書本的減縮版。最后,要介紹一些新的技術(shù)和方法,只有這樣才能讓學(xué)生有機(jī)會了解書上沒有介紹、但在實際編程中又非常重要的技巧和經(jīng)驗,這樣的課堂才是精彩的,這樣的授課方式才是學(xué)生喜于接受的。
3ASP課程的教學(xué)改革方案
根據(jù)平時的教學(xué)經(jīng)驗,筆者總結(jié)出如下的教改方案,并已取得了一定的教學(xué)效果。
3.1引導(dǎo)與實戰(zhàn)相結(jié)合,培養(yǎng)學(xué)生學(xué)習(xí)興趣
引導(dǎo)和實戰(zhàn)是相輔相成的,只有正確地引導(dǎo),才能讓學(xué)生在實戰(zhàn)中得到真正的鍛煉,只有實戰(zhàn)的不斷演練,才能更好地讓引導(dǎo)發(fā)揮作用。
引導(dǎo)應(yīng)分為兩個部分:
1) 在學(xué)習(xí)之初引導(dǎo)他們認(rèn)識學(xué)習(xí)ASP的重要性。在ASP課程開始,不能只是簡單地介紹ASP 是微軟公司推出的一種基于瀏覽器的網(wǎng)絡(luò)數(shù)據(jù)庫編程技術(shù),利用它可以實現(xiàn)Internet/Intranet上的數(shù)據(jù)庫編程,是Windows環(huán)境下B/S結(jié)構(gòu)應(yīng)用的主要編程工具[1];而應(yīng)側(cè)重于當(dāng)前ASP的應(yīng)用情況,因為學(xué)生畢業(yè)離校后,他們中有很大一部分人將會從事與網(wǎng)絡(luò)相關(guān)的開發(fā)工作,極有可能使用、PHP或是JSP,并且ASP比這些語言更容易入門,對于今后學(xué)習(xí)其他語言有極大的幫助,從而讓他們能夠認(rèn)識了學(xué)習(xí)這門知識的重要性。
2) 在學(xué)習(xí)中多講解一些學(xué)生平時上網(wǎng)時經(jīng)常接觸的動態(tài)網(wǎng)頁制作,引導(dǎo)他們進(jìn)一步認(rèn)識動態(tài)網(wǎng)頁設(shè)計與我們的生活息息相關(guān)。如開發(fā)聊天室、計數(shù)器、BBS論壇等是最能體現(xiàn)ASP這類網(wǎng)絡(luò)編程語言的特點。
實戰(zhàn)是學(xué)好一切軟件開發(fā)技術(shù)的最佳途徑。有了大量的實際訓(xùn)練才能盡快地掌握開發(fā)技巧,融會貫通各主要技術(shù)要點,同時,每次需求目標(biāo)的實現(xiàn),都是體現(xiàn)了編程人員的自身價值,有利于提高他們的自信心和成就感,這對于學(xué)習(xí)興趣的培養(yǎng)十分有利。
在實際操作中,由簡到繁的實戰(zhàn)訓(xùn)練思路,讓他們在學(xué)習(xí)中得到自我認(rèn)可;熟練掌握知識點,積累一定的開發(fā)思路,使他們覺得原來平時經(jīng)常接觸的動態(tài)網(wǎng)頁是那么得簡單,從而進(jìn)一步推動他們學(xué)習(xí)的動力,實現(xiàn)引導(dǎo)目的,為今后工作開辟一條道路。
3.2教學(xué)內(nèi)容的總體規(guī)劃
時下ASP教科書的內(nèi)容基本上都是HTML語言、VBScript腳本語言、ASP中的5個重點內(nèi)置對象、ADO組件使用和數(shù)據(jù)庫操作等幾個部分[2]。在教學(xué)大綱的制定上,就應(yīng)該讓學(xué)生了解學(xué)習(xí)的各個主要知識點、知識點間的關(guān)系和需要掌握的程度等內(nèi)容。所以在教學(xué)上應(yīng)該有一個明確的指導(dǎo)意見。下面根據(jù)教學(xué)中的實際經(jīng)驗整理了一個簡單的教學(xué)思路。
1) 學(xué)習(xí)HTML語法的重點: TABLE和Form標(biāo)簽的使用。
2) 學(xué)習(xí)VBScript腳本語言的重點:正常使用。
3) 掌握ASP的5個重點內(nèi)置對象和常用組件的學(xué)習(xí)重點:使用方法及應(yīng)用范圍。
4) 掌握SQL Server應(yīng)用的學(xué)習(xí)重點:掌握數(shù)據(jù)庫的連接和操作。
從上面的學(xué)習(xí)重點可以看出,把學(xué)習(xí)的重點大多定義為使用和認(rèn)識的層面,而不是要求必須熟練掌握,因為這些教學(xué)任務(wù)的目的只是讓學(xué)生知道做一個動態(tài)網(wǎng)頁必須具備哪些基本知識,這些基本知識和ASP是怎樣的關(guān)系。至于熟練掌握應(yīng)用則是實驗?zāi)康闹?不應(yīng)該在平時的課堂教學(xué)中過多地要求學(xué)生死記硬背這些知識點,因為用多了自然就記住了。
3.3立足教科書,拓展知識點
教學(xué)目的不是為了考試,而是為了開啟一扇門。僅有教學(xué)規(guī)劃是遠(yuǎn)遠(yuǎn)不夠的,教師作為學(xué)生的引路人,還應(yīng)在ASP的實際教學(xué)中引導(dǎo)學(xué)生使用工具、掌握最新技術(shù)。教師在實際教學(xué)中,對于知識點的把握和教學(xué)準(zhǔn)備還應(yīng)該具有以下的一些內(nèi)容:
1) 在HTML語法教學(xué)中,除了講解TABLE和Form標(biāo)簽的使用等書本內(nèi)容,還應(yīng)講解DIV CSS,在網(wǎng)站布局方面,它必然是今后網(wǎng)站制作中最前沿的新技術(shù),也必然是一種新的趨勢,有必要讓學(xué)生了解它的一些最基本的知識[3]。
2) 在HTML語法教學(xué)中,還應(yīng)涉及到Dream- weaver這類網(wǎng)頁編輯和網(wǎng)站管理的編輯器,對初涉網(wǎng)頁設(shè)計的人而言,這類軟件確實是非常好用的工具。
3) 在VBScript教學(xué)中,還應(yīng)簡單提及JavaScript。當(dāng)學(xué)習(xí)ASP時,也應(yīng)該已經(jīng)學(xué)習(xí)或是開始學(xué)習(xí)Java了,VBScript作為入門是一種不錯的選擇,但從學(xué)習(xí)目的而言,JavaScript和Java語言一樣,在今后一段時期內(nèi)必然會得到更廣泛地應(yīng)用,所以在學(xué)習(xí)完VBScript后,應(yīng)該讓學(xué)生了解JavaScript一些基本知識和特點。
4) 在SQL Server的應(yīng)用內(nèi)容里面,應(yīng)著重強(qiáng)調(diào)數(shù)據(jù)庫的重要性和數(shù)據(jù)操作功能。無論學(xué)生今后從事哪一類編程工作都應(yīng)該會接觸到數(shù)據(jù)庫,作為計算機(jī)專業(yè)的學(xué)生,數(shù)據(jù)庫應(yīng)該是他們必須學(xué)習(xí)和熟練掌握的內(nèi)容。除了介紹該部分內(nèi)容的書本知識以外,還應(yīng)該著重強(qiáng)調(diào)數(shù)據(jù)庫的規(guī)劃,這點在非專業(yè)的數(shù)據(jù)庫書籍中一般不會提及或很少提及,之所以要強(qiáng)調(diào),是為了讓學(xué)生能夠認(rèn)識到ASP有一個主要的特性就是通過對數(shù)據(jù)庫的操作建立功能強(qiáng)大的Web應(yīng)用程序,沒有一個高效的數(shù)據(jù)庫,就沒有了ASP所依賴的基礎(chǔ)。
5) 教學(xué)的準(zhǔn)備。作為一個稱職的ASP教師,不僅應(yīng)具備對ASP的熟練應(yīng)用和把握,在準(zhǔn)備教學(xué)內(nèi)容時,應(yīng)該有三本以上不同作者的ASP 教材,并且在幻燈片的制作上要借鑒不同老師的教學(xué)優(yōu)點,多一些范例,少一些文字,多一些素材,少一些代碼的羅列,只有這樣的課件,才是合格的。另外,還應(yīng)該向?qū)W生推薦一些課外參考書目和比較好的教學(xué)視頻,比如,袁理編著機(jī)械工業(yè)出版社出版的《ASP完全自學(xué)手冊》,由高振國或劉建明主講的《動態(tài)網(wǎng)頁設(shè)計》和黑鷹的《ASP教程》視頻等,這樣有利于學(xué)生在課余更好地學(xué)習(xí)這門功課。
3.4改革考評模式
作為專業(yè)課,一般都是由教研組自行命題考試,這樣方便授課老師根據(jù)學(xué)科特點進(jìn)行考核,對于這種重視操作和應(yīng)用的學(xué)科,應(yīng)該提高操作比重,降低筆試成績所占比重,筆者將操作比重提高到60%(其中平時實驗占10%),筆試部分占40%。操作內(nèi)容中不但有既定知識點的實驗[4],而且在學(xué)期開始,就對學(xué)生進(jìn)行分組,給每個小組指定課題――設(shè)計特定內(nèi)容的網(wǎng)站。 學(xué)期結(jié)束,對各小組的成果進(jìn)行考評,按完成情況、功能實現(xiàn)、系統(tǒng)效率、友好界面等部分給定考評成績,結(jié)合期末考試成績,給出最終學(xué)生個人成績[5]。這樣既兼顧了書本知識,又結(jié)合了ASP這門學(xué)科的特點,有利于提高學(xué)生的學(xué)習(xí)熱情和實際應(yīng)用技能,同時學(xué)生通過系統(tǒng)設(shè)計對于書本中孤立知識點做到融會貫通。
4結(jié)語
針對學(xué)科特點,制定合適的教學(xué)方案是提高教學(xué)
成果的保證。以教師課前的精心準(zhǔn)備和課堂的精彩講解為基礎(chǔ),以引導(dǎo)學(xué)生的學(xué)習(xí)興趣為著手,以實際應(yīng)用和考試為手段,從而保證學(xué)生對知識點的掌握和融會貫通,認(rèn)識網(wǎng)絡(luò)編程語言的思路,以及在學(xué)習(xí)中提升團(tuán)隊協(xié)作的素質(zhì)。
參考文獻(xiàn):
[1] 頊宇峰,馬軍. ASP網(wǎng)絡(luò)編程從入門到精通[M]. 北京:清華大學(xué)出版社,2006:20-30.
[2] 張景峰,韓紅旗,劉博濤. ASP程序設(shè)計及應(yīng)用[M]. 北京:中國水利水電出版社,2005:39-42.
[3] 尚俊杰. 網(wǎng)絡(luò)程序設(shè)計:ASP[M]. 3版. 北京:清華大學(xué)出版社,2009:1-5.
[4] 鄭益群. “ASP網(wǎng)頁制作”教學(xué)方法探索與實踐[J]. 電腦知識與技術(shù),2008(22):727-728.
[5] 劉鳳玲,王云平. ASP 課程分組教學(xué)的探討與實踐[J]. 遼寧高職學(xué)報,2009(12):11-12.
Thoughts of the Teaching of ASP Network Programming Language
MIN Zhao-e, XIAO Xin-xin
( Department of Information Sciences, Nanjing College for Population Program Management, Nanjing 210042, China)