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