在大學院校的計算機科學體系中,持續缺乏對嵌入式系統編程關注的情況,可能會讓分散的情況日趨嚴重。事實上,美國的工程教育越來越趨向于集中在某些特定領域,這也日益突顯出了當地大學的計算機科學教育在嵌入式系統編程方面的不足之處。
然而,問題在于,嵌入式系統開發安全、可靠、關鍵任務系統的基礎,而這些系統通常會用在從醫療到商用客機在內等許多大型開發專案中,因而使問題顯得更加突出。許多批評的聲浪都認為,造成嵌入式編程領域產生落差的原因,是由于大學的計算機科學系所越來越偏向如Java這類時髦的程序語言,但付出的代價卻是犧牲了教導學生如何去設計及分析算法和數據結構等基礎。紐約大學榮譽教授暨軟件工具供應商Adacore公司CEO Robert Dewar最近發表一篇文章,探討嵌入式領域的落差情況,他認為,許多大學都必須重新思考他們的程序課程規劃。
“說穿了,”Dewar寫道,“用Java來取代傳統程序入門課程中使用的語言,像是Pascal, Ada, C或是C++等──無異是讓整體教學的水準往后退了一大步。許多大學轉向Java的理由只是因為學生畢業后好找工作,但諷刺的是,這些學校培養出了僅具備膚淺技能的程序設計人才,他們正在失去與來自各個不同國家,具備更多技能與深度知識的人才競爭的能力。”
一些嵌入式編程專家則認為,Dewar還低估了嵌入式領域編程落差的嚴重性。該領域的專家之一Michael Barr,則是采取更具體的行動──他舉辦了為期一周的“嵌入式軟件研習營”(Embedded Software Boot Camp)──希望借由面對面的教學,彌合所謂的嵌入式編程落差。這個研習營的重點集中在培養某些技能,如用C或C++來做硬件控制、撰寫更多設備驅動程序等,而Barr的結論是:美國的大學并沒有做好固件開發培訓。
“我發現,這些參加研習營的人都有一個共同點,就是他們在課堂上的表現通常都不是很好,除非他們都知道C語言,”Barr說。“我并不是說他們必須很懂C,但他們起碼要知道基本的C語法。”那些一開始就從Java開始的計算機科學或工程系畢業生“根本無法觸及問題核心,”他說。“這就是我覺得情況變糟的主要原因。”
危機迫在眉睫?
Barr的專長是醫療設備和其他嵌入式系統設計,他指出,自他舉辦研習營以來,他已經看到了解決嵌入式編程人才短缺問題的一線曙光,像IEEE等團體也開始關注這個問題了。下一次的研習營將在今年五月初于美國馬里蘭州舉行,屆時除了美國本土,還將有來自比利時、加拿大、墨西哥和土耳其的參加者。Barr認為,目前在做的事,正是彌補美國大學的計算機科學課程缺乏嵌入式編程訓練的最好方法。
Barr表示,這個研習營的參與者對課程內容的反應包羅萬象,像是有人會說:“你幫我把我以前曾經學過,但卻從來不知如何使用的知識整合起來了”;也有人說: “為什么二十年前沒有人教我這些?”
嵌入式傳道者Michael Barr用以下這張Venn圖來說明目前計算機工程領域的嵌入式軟件編程現況,以及為何我們總是缺乏良好的固件開發培訓。
這解釋了為何大學的電腦科學系所不再強調以C為基礎的嵌入式語言教學。除了Java熱潮興起外,觀察家們認為,追求研究補助金也是讓資深工程師和計算科學教授們從課堂上消失的主要原因。另一個事實則是嵌入式編程團隊規模一般比較小,如通常由一個硬件工程師和幾個軟件工程師組成,因此,這個領域也無法產生讓畢業生向往的大量就業機會。
另一方面,在航空等產業中,一些大型的嵌入式專案通常都沿用較舊的技術。“這種保守、過程導向的工作環境,通常會讓許多軟件工程師卻步,”Barr說。觀察家們對于嵌入式編程語言如C之中的指令若持續落后,是否會帶來危機一事意見并不相同。一位工程師對嵌入式軟件專家Dewar的文章做出了如下回復:“能解決問題才是關鍵。至于專門的程序語言知識并不重要。工程師可以學習。在這個產業中,任何一種特定的知識,壽命其實都不長。”
但Barr憂心之處在于缺乏C語言課程,還多大多數熟悉傳統程序語言的軟件工程師年紀都偏高了,“某種程度來說,這也是一種危機。”他進一步表示,嵌入式軟件涉及的層面非常廣泛,從冰箱到汽車到智能手機以及醫療設備,全都包含在內。
-
工程師
+關注
關注
59文章
1570瀏覽量
68517 -
C語言
+關注
關注
180文章
7604瀏覽量
136813
發布評論請先 登錄
相關推薦
評論