亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Java > 正文

Java不適合于作為主要編程教學語言

2023-06-23 14:40:18
字體:
來源:轉載
供稿:網友

前兩年,我所在的學校在全校開始將VB作為大學生的基礎教學語言,將VB作為大學生的基礎教學語言,可能由于課程基礎教研室對VB比較熱衷,而認為C語言或C++的一些語法較難。效果如何呢?沒有人去做過調查和分析,但從我接觸的班級來說,效果都非常的差,很多基本概念都不知道,就別提編寫程序了,更不用提用VB編寫什么算法了。今天在網上看到這篇文章,感覺與我的想法較為一致,轉到這里,與所有能看到這篇文章的人共同反思。

CSDN首頁推薦了一篇文章,說兩位退休的美國大學教授上書反對將Java作為編程教學語言,對此我表示高度認同。對于Java,我并不反感,而且相信它在工業應用中的地位不可取代,但是,我一直反對將Java作為主要的編程教學語言,因為教學語言承擔著與生產語言不同的任務,它必須能夠幫助學生奠定堅實的技術基礎,塑造核心技術能力。在這方面,Java不能夠勝任。

1990年代中期以前,美國的計算機編程入門教育以Pascal為主。我的一位美國程序員朋友至今還懷念他與Pascal為伴的高中年代。到了1990年代中后期,由于ANSI C語言“糾正”了早期C語言的一些不適合編程教學的問題,因此成為很多美國高中和大學編程入門課的教學語言。1998年,美國指導編程教學的一個協會推薦將C++作為入門教學語言,在當時引起很大的反響,認為是編程教育方面的一個重要進步。但遺憾的是,C++非常復雜,而當時C++語言的教育體系又非常不成熟,因此很多地方的教學方法不得當,把學生迅速拖入無邊無際的語言細節當中,引起了學生痛苦的抱怨。大約經過兩三年不成功的實踐之后,在本世紀初,美國計算機教育界普遍接受Java作為編程入門語言。此后在很短的時間里,Java迅速成為美國高中和大學里的首選編程教學語言,老師教得輕松,學生學得甜蜜,所以這個局面一直持續到現在。

而在中國,BASIC語言及其變體一直到1990年代中期都還是“算法語言”課程的主要教學內容,充分折射出當時中國計算機教學與工業應用之間的脫節。只是到了1990年代后期,C語言才確立了在中國工科計算機編程入門教育中的主流地位。到現在為止,大部分工科學生都“必修”“C程序設計語言”這門課程。不過事實上,根據我的了解,這門課程的總體教學質量相當糟糕,大部分學生可以說是滿懷希望而來,兩手空空而去。在這種情況下,中國高校計算機編程入門教育已經開始悄悄向Java過渡了。據我所知,有一些名校已經開始將Java設為編程入門課程,并且認為這是與國際接軌進步標志。

在我的朋友圈子里,大多數真正的一線開發者和技術領導者,對于將Java作為入門教學語言的“發展方向”都持質疑態度。他們中很多人目前主要的工作都集中在Java上,因此這種態度并非來自所謂語言宗教情緒,而是來自他們招聘和實際工作中的感受。他們發現,只學習Java、C#、VB等“現代”編程語言的學生,精于拿來主義,長于整合和快速開發,思維活躍,生產效率高,讓他們來做直截了當的、有章可循的、非研究性和非創新性的工作比較合適,但是基礎不扎實,對計算機系統的理解薄弱,處理細節和矛盾的能力不足,一旦他們熟悉的套路用不上,則缺少自主分析問題、解決問題的知識、能力和經驗。

今天看到兩位教授的“上書”,才知道原來他們也有同感。只不過這兩位教授說的更直白,直接反對將Java作為入門編程語言,而是冒天下之大不韙,公然號召開歷史倒車,要求退回到C、C++、Lisp和Ada去。

我是支持兩位教授的。我認為,Java、C#、VB和其它虛擬機之上的語言都不適合作為專業程序員的入門教學語言。在中國還非常缺乏具有創新和獨立解決問題的高水平程序員的局面下,我們應該認真做好的事情是努力提高C/C++的教學質量,而不是圖快活轉向Java。

教學語言的選擇是至關重要的事情。作為大多數學生第一種需要認真學習理解的編程語言,教學語言將會成為他們中間很多人的“編程母語”,深深地烙印在學生的思維方式中。這個編程母語要幫助學生破除計算機和軟件的神秘感,建立對于程序的基本認識和對計算機模型的最初理解。在后續專業基礎課和專業課程的學習中,這門編程語言應該作為主要工具貫穿始終,幫助學生認識計算機系統,掌握算法與數據結構技能,熟悉操作系統概念,理解編譯原理知識,理解軟件抽象及軟件設計的基本思想,完成一定量的課程及課外項目實踐,建立正確的軟件開發實踐習慣。不但如此,這種教學語言必須是工業界的主流語言,否則學生學非所用,學習動力無法保證。

按照這個標準來衡量,Java適合于作為主要的編程教學語言嗎?我不這么認為。首先,我承認Java在教學上有一些優勢,比如其開發環境和工具支持非常成熟,有助于培養學生正確的編程習慣;Java是當今第一工業主流語言,標準類庫非常全面,可以迅速地開發具有實際用途的程序,有助于激發和保持學生的興趣;而在數據結構、算法、編譯原理的教學方面,Java也毫不落于下風,在軟件抽象設計(面向對象)方面,Java還有著明顯的優勢;特別是在并行編程的教學方面,Java 1.5 concurrency包提供的優勢是壓倒性的。盡管有如上這些優勢,但Java作為教學語言存在著一個致命的缺陷,即它是一個虛擬機語言,這一點就足以把它從教學語言的名單上去掉。作為一個虛擬機語言,Java對開發者隔絕了下層的真實系統,從而構造了一個近乎完美的環境,在這個環境里,世界上只有一種機器,一個操作系統,內存是無限的,所有的機器都具有相同的字節順序和一致的類型約定,為了設計的優美而犧牲速度永遠是正義行為,從反射到運行時自動加載,從完備的容器類到統一字符編碼,一大堆漂亮的功能都可以不費吹灰之力唾手而得。要是這個世界上每臺計算機都是一個Java機器,每項編程任務都可以在這樣一個近乎完美的環境中開發,那毫無以為,Java是最合適的編程教學語言。但是事實上呢?這樣一個完美的環境是Java力量的源泉,但這卻不是真實的世界。在真實世界里,我們可能面對非常原始的環境,苛刻的運行時限制,復雜多變的系統環境,令人窒息的細節魔鬼,要對付這些東西,需要開發者具有在應對復雜性,自己構造環境,在諸多限制條件下尋找解決方案的能力。而這種能力,被無數人無數次地證明是軟件開發、特別是軟件創新的核心能力。把Java作為教學語言,恰恰會導致這種核心能力的缺失。除此之外,如果耐心觀察的話,不難發現,幾乎在任何軟件領域里的創新性成果都首先是由C/C++語言實現的,原因很簡單,Java是站在C/C++基礎之上的,只有C/C++先把大路趟開,Java才能夠順勢而上。

相反,盡管C/C++語言作為教學語言有很多的不足,比如不同環境下開發模式差異大,細節繁多,開發效率低,容易犯錯,測試和調試困難,學習者難以保持動力,等等,但是這些問題都可以解決。而C/C++的關鍵優點,是能夠讓學習者在真實的計算機抽象上、在大量的細節和矛盾中學會思考,學會解決問題,學會了解真實的系統,知輕重,明生死,從而建立核心能力。掌握了C/C++語言,再去學習和理解Java、C#、Python、Ruby和其它語言,就比較容易達到更高的境界。反之,如果習慣了舒舒服服躺在完美世界里當闊少,那就很難有勇氣面對真實的世界。當然,很多開發者認為,現在更重要的能力是理解業務、整合現有資源的能力,而不是處理底層細節的技術。這種說法放在個人身上沒有問題,但是不能成為整個編程教育的指導思想。我們需要各個層面上的人才,精通業務和設計的架構師固然很重要,但能夠在底層作出創新成果的編程高手實際上更為稀缺和珍貴,很多時候也能夠創造更大的價值。而且,更重要的是,一個精通系統知識的開發者在往上走的時候不會遇到大的障礙,而一個只知道拼裝組合的“高級設計師”,往往連往下看的勇氣都沒有。

Java的另外一個問題,是其所倡導的繁瑣設計風格,一個對象套一個對象,一個對象疊一個對象,概念之間彼此橫七豎八地互相依賴,人為制造出一大堆貌似精美、實則累贅的所謂設計。這個問題我已經批評過多次,并且相信這股歪風一定會最終被人們拋棄,Java最終會歸于質樸。但是在這一天到來之前,Java對于初學者來說,很可能蒙住他們的雙眼,使他們看不到軟件設計中最可貴的簡單性和優美的統一,體會不到數據和程序的統一。在這一點上,C表現的非常好,而C++如果教學得體,可以做的更好。

當然,這并不是為現在的C/C++教學辯護。恰恰相反,從我了解的情況來看,目前普通高校的C/C++教學質量非常令人擔憂。學生學不會,而且越學越沒有興趣,老師則感到教起來很棘手,迫于現實情況往往選擇敷衍了事。反而是教Java,無論如何學生還能學到一點東西,對就業也有直接的幫助。至于學生的核心能力確實,發展后勁不足等問題,就讓他們在現實工作中自己解決吧。坦率地說,這種想法也很有道理。不過,從教學角度來說,我認為老師們還是應該積極考慮如何提高C/C++的教學質量。畢竟學生階段是十分寶貴的,基礎不在這個時期夯實,將來想彌補,就算不是完全不可能,也將付出十倍的代價。本著對學生職業生涯的負責態度,還是應該幫助學生達到這個階段應該達到的目標。在兩位教授的公開信里,也充分表達出這個意思。

我贊成的編程教育過程,應當是以C/C++(基本上是C)為主線,貫穿起算法、數據結構、系統原理、編譯和數據處理、軟件設計和組件技術等關鍵知識領域,讓學生能夠從根本上理解現代軟件系統的原理和構造,并通過有效的練習建立正確的軟件設計觀念和良好的工程實踐習慣。在這個基礎上,無論將來是深入學習C++,還是進入Java的繁榮世界,或者擁抱Python、Ruby,甚至于走向Web開發,都會心領神會,勢如破竹。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日产国产成人免费图片| 精品久久久视频| www.欧美免费| 国产日韩中文字幕| 亚洲成人网久久久| 精品国产电影一区| 欧美亚洲成人精品| 日韩欧美在线视频| 亚洲第一精品自拍| 久热爱精品视频线路一| 国产精品国产三级国产专播精品人| 亚洲免费av电影| 欧美大胆在线视频| 91精品91久久久久久| 欧美重口另类videos人妖| 日韩在线播放视频| 国产精品久久久久久中文字| 国产精品69精品一区二区三区| 国产精品久久久久久久久久尿| 国外视频精品毛片| 免费91麻豆精品国产自产在线观看| 久久天天躁狠狠躁老女人| 国产精品日韩欧美大师| 欧美日韩国产专区| 精品magnet| 色婷婷av一区二区三区在线观看| 国产精品久久97| 亚洲国产成人av在线| 国产精品久久久精品| 午夜精品美女自拍福到在线| 91精品国产乱码久久久久久久久| 成人中心免费视频| 亚洲一区二区国产| 韩剧1988免费观看全集| 国产精品久久久精品| 欧美大片在线看免费观看| 国产日韩在线精品av| 日韩在线一区二区三区免费视频| 亚洲精品videossex少妇| 国产日韩在线免费| 日本久久久久亚洲中字幕| 日韩精品一区二区视频| 亚洲r级在线观看| 精品调教chinesegay| 欧美成人亚洲成人日韩成人| 黑人与娇小精品av专区| 中文字幕9999| 精品福利视频导航| 日韩在线视频线视频免费网站| 97超级碰碰碰久久久| 成人激情视频在线播放| 亚洲新声在线观看| 亚洲国产成人在线视频| 国产精品一二区| 国内自拍欧美激情| 久久精品中文字幕一区| 色无极影院亚洲| 欧美国产极速在线| 精品国产成人在线| 亚洲午夜色婷婷在线| 7m精品福利视频导航| 精品亚洲夜色av98在线观看| 国产精品久久久久久久久久新婚| 亚洲精品短视频| 欧美最猛性xxxxx亚洲精品| 国产丝袜一区二区| 日韩av在线影视| 欧美天天综合色影久久精品| 在线观看国产精品91| 亚洲视频在线观看| 欧美日韩国产综合新一区| 怡红院精品视频| 国产一区视频在线播放| 国产精品午夜一区二区欲梦| 欧美成人在线影院| 久久精品亚洲94久久精品| 91精品视频播放| 欧美成人精品一区二区三区| 深夜精品寂寞黄网站在线观看| 一本一道久久a久久精品逆3p| 国产91精品在线播放| 日韩精品免费在线播放| 日韩精品黄色网| 欧美激情乱人伦一区| 97免费视频在线播放| www亚洲精品| 欧美黄色三级网站| 久久久噜噜噜久噜久久| 日韩电影在线观看中文字幕| 91国产美女视频| 欧美色另类天堂2015| 国产精品美女www爽爽爽视频| 欧美国产日韩一区二区三区| 成人一区二区电影| 亚洲a区在线视频| 91欧美日韩一区| 日韩中文字幕国产精品| 欧美视频在线观看免费网址| 欧美尤物巨大精品爽| 搡老女人一区二区三区视频tv| 欧美xxxwww| 精品久久久久久中文字幕| 午夜精品在线观看| 欧美亚洲在线播放| 国产丝袜高跟一区| 超碰91人人草人人干| 精品国产成人在线| 亚洲视频综合网| 国产精品久久一| 亚洲社区在线观看| 亚洲成人中文字幕| 国产午夜精品视频| 久久99精品国产99久久6尤物| 欧美精品video| 国内伊人久久久久久网站视频| 91av在线免费观看视频| 中文字幕亚洲欧美日韩在线不卡| 国产精品18久久久久久麻辣| 一区二区欧美亚洲| 久久国产色av| 欧美另类高清videos| 色综合五月天导航| 97国产suv精品一区二区62| 欧美日韩性生活视频| 欧美日韩成人黄色| 亚洲成人精品久久久| 国产精品国产福利国产秒拍| 91国产精品电影| 精品国产福利在线| 日韩在线视频网站| 亚洲欧美另类人妖| 日韩欧美成人网| 蜜月aⅴ免费一区二区三区| 久久久成人的性感天堂| 精品小视频在线| 国产欧美日韩中文字幕在线| 国产精品男人爽免费视频1| 一区二区三区在线播放欧美| 久久精品中文字幕免费mv| 国产啪精品视频| 一区二区三区日韩在线| 国产一区二区三区日韩欧美| 亚洲国产99精品国自产| 国模精品视频一区二区三区| 综合国产在线观看| 国模极品一区二区三区| 国产99在线|中文| 亚洲美女av网站| 国产精品久久久久久久7电影| 亚洲国产精品美女| 5278欧美一区二区三区| 欧美高清无遮挡| 欧美日韩国产第一页| 免费成人高清视频| 日韩电影免费观看中文字幕| 热99精品只有里视频精品| 欧美肥婆姓交大片| 日韩视频免费中文字幕| 蜜臀久久99精品久久久久久宅男| 理论片在线不卡免费观看| 91色在线视频| 欧美日韩国产va另类| 91久久国产综合久久91精品网站| 成人精品久久av网站|