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