新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 牛人業(yè)話 > 嵌入式編程感想:會用C語言的是真男人!

嵌入式編程感想:會用C語言的是真男人!

作者: 時(shí)間:2014-07-17 來源:網(wǎng)絡(luò) 收藏

  幾個(gè)月前筆者跟兩個(gè)年輕企業(yè)家在巴爾的摩吃了頓愉快的午餐,這兩個(gè)年輕人最近才從霍普金斯大學(xué)(Johns Hopkins University)計(jì)算機(jī)科學(xué)系畢業(yè),創(chuàng)辦了一家業(yè)績快速成長的顧問公司;他們的公司擅長以一種稱為 on Rails (又稱)的語言,撰寫以網(wǎng)頁為中心的數(shù)據(jù)庫(web-centric databases)軟件。

本文引用地址:http://2s4d.com/article/249851.htm

  我們邊吃飯邊談一些工作上的話題,其中一個(gè)年輕人下了個(gè)令我難忘的評論:“用寫程序是真正的男人!”這句話是他跟同學(xué)在將可用的編程語言進(jìn)行分類時(shí)所發(fā)明的;而即使優(yōu)秀如他,也當(dāng)場承認(rèn)他不符合以上“真正的男人”條件??磥?,這句話不僅反映了的高難度,也顯示對較年輕的設(shè)計(jì)工程師來說,真的不好掌握。

  對現(xiàn)代的計(jì)算機(jī)科系學(xué)生來說,學(xué)習(xí)C語言就像選修一門用拉丁文來上的課那樣;但C語言并不是已經(jīng)過時(shí)的設(shè)計(jì)語言,且在方興未艾的嵌入式軟件開發(fā)領(lǐng)域維持著主導(dǎo)地位。下面的圖一是美國版EETimes子網(wǎng)站Embedded Systems Design十三年來針對嵌入式軟件所應(yīng)用之設(shè)計(jì)語言的調(diào)查統(tǒng)計(jì)表。

  

 

  圖1

  從 圖一可看出,C語言在1997~2009年之間都是嵌入式軟件開發(fā)使用最多的語言;近五年來,C與語言更瓜分了大部分原屬匯編語言 (assembly)的版圖,其中較高階的發(fā)展速度雖不如預(yù)期,但仍在嵌入式軟件設(shè)計(jì)領(lǐng)域維持27%左右的占有率。整體看來,語言使用率在 90年代晚期加速上升,在2001年達(dá)到高峰,然后稍微下滑、之后維持穩(wěn)定。

  無論如何,嵌入式軟件設(shè)計(jì)師不會在短時(shí)間內(nèi)放棄使用C語言,原因有很多個(gè):首先,C語言編譯器支持大多數(shù)的8位、16位與32位CPU;其次,C語言在處理器與驅(qū)動程序?qū)蛹墸婢吒叩图壵Z言的特色。

  當(dāng) 然,如果僅獲得一小群人數(shù)逐漸減少的程序設(shè)計(jì)師支持,C語言難以繼續(xù)作為重要的設(shè)計(jì)語言而存活;而既然C語言仍然如此重要,也意味著嵌入式軟件設(shè)計(jì)師并不 會減少。目前每年新上市的CPU有98%都是嵌入式的,這類新型CPU的長期發(fā)展性也非常樂觀。圖二顯示美國那斯達(dá)克指數(shù)與新CPU出貨量變化的消長關(guān)系。

  

 

  圖1

  嵌入式軟件設(shè)計(jì)教育斷層

  但 在C語言在全世界各地的重要性日益增加的同時(shí),學(xué)校里卻越來越少學(xué)生愿意去學(xué)如何使用該種設(shè)計(jì)語言;這反映了嵌入式系統(tǒng)設(shè)計(jì)領(lǐng)域日益嚴(yán)重的「教育斷層」問 題。美國的高等教育機(jī)構(gòu)在提供實(shí)用的、嵌入式軟件設(shè)計(jì)必備的技能教育方面非常失敗,相關(guān)開發(fā)技巧非得在工作崗位上才能學(xué)得到。

  

 

  圖3

  從圖三可以看出,在電子工程相關(guān)科系,只有一小部分課程是與嵌入式軟件開發(fā)有關(guān)的;而計(jì)算機(jī)科學(xué)系所提供的嵌入式軟件開發(fā)相關(guān)課程也只多一點(diǎn)點(diǎn)?,F(xiàn)在有不少美國大學(xué)雖提供額外的計(jì)算機(jī)工程 學(xué)分,但大多數(shù)還是來自現(xiàn)有電子工程、計(jì)算機(jī)科學(xué)系的課程與教授,并沒有太多有關(guān)嵌入式軟件開發(fā)的新內(nèi)容。而在職訓(xùn)練也很少提供嵌入式軟件開發(fā)課程。

  如果以上我所舉出的,有關(guān)C語言將在可見的未來繼續(xù)保有重要性、特別是在嵌入式軟件設(shè)計(jì)領(lǐng)域的種種證據(jù)屬實(shí),那麻煩就真的大了──因?yàn)楝F(xiàn)在的年輕程序設(shè)計(jì)師雖然都很聰明,他們恐怕不知道該如何使用C語言寫程序,甚至不想學(xué)。

  總 有人得寫那些需求量越來越大的嵌入式軟件──新一代設(shè)計(jì)語言可能幫得上忙,卻無法支持所有那些發(fā)展資歷已數(shù)十年、未來數(shù)十年也會繼續(xù)被應(yīng)用的CPU架構(gòu); 既然這樣的趨勢難以避免,我們這個(gè)圈子需要培育年輕一代的C語言程序設(shè)計(jì)師。但該怎么做呢?若狀況持續(xù)發(fā)展下去,又會產(chǎn)生怎樣的結(jié)果?

  【備注】我確信那位年輕人并沒有性別歧視,「真正的女人」當(dāng)然也會使用C語言!

  (參考原文:Real men program in C,by Michael Barr,本文作者為嵌入式系統(tǒng)設(shè)計(jì)領(lǐng)域的專家,目前經(jīng)營一家嵌入式系統(tǒng)顧問公司Netrino)

c語言相關(guān)文章:c語言教程


c++相關(guān)文章:c++教程




關(guān)鍵詞: C語言 Ruby C++

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉