0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

工程師必須要懂得C語言 如果不懂C語言該感到危機(jī)

工程師人生 ? 來源:網(wǎng)絡(luò)整理 ? 2018-04-07 08:50 ? 次閱讀

在大學(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)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 工程師
    +關(guān)注

    關(guān)注

    59

    文章

    1571

    瀏覽量

    68574
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7613

    瀏覽量

    137238
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    C語言C++中結(jié)構(gòu)體的區(qū)別

    同樣是結(jié)構(gòu)體,看看在C語言C++中有什么區(qū)別?
    的頭像 發(fā)表于 10-30 15:11 ?300次閱讀

    C語言與Java語言的對(duì)比

    C語言和Java語言都是當(dāng)前編程領(lǐng)域中的重要成員,它們各自具有獨(dú)特的優(yōu)勢(shì)和特點(diǎn),適用于不同的應(yīng)用場(chǎng)景。以下將從語法特性、內(nèi)存管理、跨平臺(tái)性、性能、應(yīng)用領(lǐng)域等多個(gè)方面對(duì)C
    的頭像 發(fā)表于 10-29 17:31 ?386次閱讀

    C語言與其他編程語言的比較

    C語言作為一種歷史悠久的編程語言,自其誕生以來,一直在軟件開發(fā)領(lǐng)域扮演著重要角色。它以其高效、靈活和可移植性強(qiáng)的特點(diǎn),成為了系統(tǒng)級(jí)編程的首選語言之一。
    的頭像 發(fā)表于 10-29 17:30 ?321次閱讀

    hex文件如何查看原c語言代碼

    是處理器可以直接執(zhí)行的指令,而 C 語言代碼則是人類可讀的高級(jí)編程語言代碼。 然而,如果你想要從 .hex 文件中獲取一些有用的信息或者對(duì)程序進(jìn)行分析,你可以考慮以下幾種方法: 反匯編
    的頭像 發(fā)表于 09-02 10:37 ?2598次閱讀

    按照這樣學(xué)習(xí)C語言,成為卷王不是夢(mèng)!

    在計(jì)算機(jī)編程領(lǐng)域,C語言被譽(yù)為一種強(qiáng)大而靈活的編程語言,掌握好C語言不僅可以讓你輕松駕馭各種編程任務(wù),還能夠?yàn)槟愕穆殬I(yè)生涯打下堅(jiān)實(shí)的基礎(chǔ)。但
    的頭像 發(fā)表于 07-06 08:04 ?335次閱讀
    按照這樣學(xué)習(xí)<b class='flag-5'>C</b><b class='flag-5'>語言</b>,成為卷王不是夢(mèng)!

    PLC編程語言C語言的區(qū)別

    在工業(yè)自動(dòng)化和計(jì)算機(jī)編程領(lǐng)域中,PLC(可編程邏輯控制器)編程語言C語言各自扮演著重要的角色。盡管兩者都是編程語言,但它們?cè)诙鄠€(gè)方面存在顯著的區(qū)別。本文將從多個(gè)維度深入探討PLC編程
    的頭像 發(fā)表于 06-14 17:11 ?3045次閱讀

    【大語言模型:原理與工程實(shí)踐】探索《大語言模型原理與工程實(shí)踐》2.0

    、自然語言處理感興趣的研究人員、工程師以及學(xué)生閱讀。無論是初學(xué)者還是有一定基礎(chǔ)的專業(yè)人士,都能從中獲得有價(jià)值的信息。
    發(fā)表于 05-07 10:30

    幫你避雷 C語言所謂的短路現(xiàn)象~

    C語言短路現(xiàn)象算是C語言的基礎(chǔ)吧,不過有時(shí)候代碼寫得不規(guī)范也容易引入一些bug,所以這些操作在工程師實(shí)踐中盡量少用。雖然下面找的例子比較簡(jiǎn)單
    的頭像 發(fā)表于 03-27 08:09 ?436次閱讀
    幫你避雷 <b class='flag-5'>C</b><b class='flag-5'>語言</b>所謂的短路現(xiàn)象~

    C語言基礎(chǔ)-為什么要使用C?

    當(dāng)今最流行的 Linux 操作系統(tǒng)和 RDBMS(Relational Database Management System:關(guān)系數(shù)據(jù)庫管理系統(tǒng)) MySQL 都是使用 C 語言編寫的。
    發(fā)表于 03-25 11:20 ?472次閱讀

    C語言#define的應(yīng)用

    C/C++ 編程語言中,當(dāng)程序被編譯時(shí),被發(fā)送到編譯器,編譯器將程序轉(zhuǎn)換為機(jī)器語言,然后完成編譯并執(zhí)行程序。預(yù)處理器也稱為宏預(yù)處理器。
    發(fā)表于 03-06 11:29 ?393次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>#define的應(yīng)用

    C語言的指針用法

    C語言編程中善用指針可以簡(jiǎn)化一些任務(wù)的處理,而對(duì)于一些任務(wù)(比如動(dòng)態(tài)內(nèi)存分配),必須要有指針才行的。也就是說精通C指針編程是很有必要的,幫助你成為一名優(yōu)秀的Cer。
    發(fā)表于 03-05 14:22 ?381次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>的指針用法

    plc編程語言c語言的聯(lián)系 c語言和PLC有什么區(qū)別

    PLC編程語言C語言的聯(lián)系 PLC(可編程邏輯控制器)是一種針對(duì)自動(dòng)化控制系統(tǒng)的特殊計(jì)算機(jī)。PLC編程語言是為了控制和管理自動(dòng)化生產(chǎn)過程中的各種設(shè)備而設(shè)計(jì)的。與之相比,
    的頭像 發(fā)表于 02-05 14:21 ?4274次閱讀

    c語言,c++,java,python區(qū)別

    C語言C++、Java和Python是四種常見的編程語言,各有優(yōu)點(diǎn)和特點(diǎn)。 C語言
    的頭像 發(fā)表于 02-05 14:11 ?2501次閱讀

    vb語言c++語言的區(qū)別

    VB語言C++語言是兩種不同的編程語言,雖然它們都屬于高級(jí)編程語言,但在設(shè)計(jì)和用途上有很多區(qū)別。下面將詳細(xì)比較VB
    的頭像 發(fā)表于 02-01 10:20 ?2412次閱讀

    枚舉有多大?c語言枚舉end的作用是什么?

    可以是整數(shù)或字符,它們被稱為枚舉常量。枚舉常量可以通過枚舉成員來引用。 枚舉的大小是取決于它所表示的范圍的大小。在C語言中,枚舉沒有固定的大小,而是根據(jù)其取值范圍來確定的。如果枚舉類型只包含一個(gè)枚舉常量,則其大小將與
    的頭像 發(fā)表于 01-19 14:19 ?642次閱讀