美國兩位計算機系教授:Java對學生有害

mmruy發表於2008-03-13
【CSDN 1月9日訊息】 國際訊息 美國紐約大學的兩位電腦科學系退休教授發表一篇公開文章,標題是“電腦科學教育:明日的軟體工程師在何處?”。在文中,他們強烈地批評了紐約大學和其他大學,沒有向學生傳授純粹的語言如C、C++、Lisp和ADA。

“學生從當前教育實踐課程中獲取的技能不足以應付今日軟體行業的發展(尤其是安全和安全目的方面)。更不幸的是,與外部行業需要過於匹配了,我們訓練了許多容易被取代的軟體工程師。”

尤為注意的是,文中以“Java作為第一程式語言的諸多缺陷”為小標題對Java進行了批判:

由於Java在Web應用領域的流行,以及初學者容易生成圖形化程式設計,Java成為入門課程中使用最普遍的語言。從此後學生發現很難在一個沒有影像介面的語言上編寫程式,不清楚源程式和硬體如何執行之間的關係,更具有危險性的是他們一點也不瞭解指示器的語義,這使得使用C語言程式設計也成為挑戰。”

程式設計的真正的美妙之處在於,將複雜的過程縮減成非常小的一個簡單操作。Java並沒有體現這種美妙,它鼓勵採用“問題解決(problem-solving)”的方式,使程式設計師就像五金店的水管工人:到處翻騰抽屜、閣子最後找出需要的零件。最終的結果使得學生知道如何將一些簡單的程式組到一起,而對程式設計卻一無所知。而且過早地使用Java庫和框架有一個更大的缺陷:它使得學生很難對編寫的東西形成執行時間成本(run-time cost)的概念,因為他們很難知道究竟哪種方法的呼叫是有效的。

我們為此亦找到了一些證據。Bjarne Stroustrup(被譽為C++之父)在德州農工大學(Texas A&M University )的報告中,指出了工業對於這種方式越來越多的不滿,而且Bjarne這樣說,“從工業那裡我看到了許多許多對此(Java作為第一程式語言來使用)的抱怨,尤其是AT&T, IBM, Intel, Bloomberg, NI, Microsoft, Lockheed-Martin等等。”

另外在文中,這兩位教授們認為真正的程式設計師能夠使用任何語言(C,Java,Lisp,Ada)。【吶不喊】

相關文章