close

 

 

080402105829z15Y.jpg 

 

 

專家觀點:會用C語言的是真男人!

 

幾個月前筆者跟兩個年輕企業家在巴爾的摩吃了頓愉快的午餐,這兩個年輕人最近才從霍普金斯大學(Johns Hopkins University)電腦科學系畢業,創辦了一家業績快速成長的顧問公司;他們的公司擅長以一種稱為Ruby on Rails (又稱Ruby)的語言,撰寫以網頁為中心的資料庫(web-centric databases)軟體。

我們邊吃飯邊談一些工作上的話題,其中一個年輕人下了個令我難忘的評論:「用C語言寫程式是真正的男人!」這句話是他跟同學在將可用的編程語言進行分類時所發明的;而即使優秀如他,也當場承認他不符合以上“真正的男人”條件。看來,這句話不僅反映了C語言的高難度,也顯示對較年輕的設計工程師來說,C語言真的不好掌握。


對現代的電腦科系學生來說,學習C語言就像選修一門用拉丁文來上的課那樣;但C語言並不是已經過時的設計語言,且在方興未艾的嵌入式軟體開發領域維持著主導地位。下面的圖一是美國版EETimes子網站Embedded Systems Design十三年來針對嵌入式軟體所應用之設計語言的調查統計表。


從圖一可看出,C語言在1997~2009年之間都是嵌入式軟體開發使用最多的語言;近五年來,C與C++語言更瓜分了大部分原屬組合語言(assembly)的版圖,其中較高階的C++發展速度雖不如預期,但仍在嵌入式軟體設計領域維持27%左右的佔有率。整體看來,C++語言使用率在90年代晚期加速上升,在2001年達到高峰,然後稍微下滑、之後維持穩定。




20090812_Clanguage_NT01P1.jpg


無論如何,嵌入式軟體設計師不會在短時間內放棄使用C語言,原因有很多個:首先,C語言編譯器支援大多數的8位元、16位元與32位元CPU;其次,C語言在處理器與驅動程式層級,兼具高低階語言的特色。


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




20090812_Clanguage_NT01P2.jpg


嵌入式軟體設計教育斷層


但在C語言在全世界各地的重要性日益增加的同時,學校裡卻越來越少學生願意去學如何使用該種設計語言;這反映了嵌入式系統設計領域日益嚴重的「教育斷層」問題。美國的高等教育機構在提供實用的、嵌入式軟體設計必備的技能教育方面非常失敗,相關開發技巧非得在工作崗位上才能學得到。


從圖三可以看出,在電子工程相關科系,只有一小部分課程是與嵌入式軟體開發有關的;而電腦科學系所提供的嵌入式軟體開發相關課程也只多一點點。現在有不少美國大學雖提供額外的電腦工程學分,但大多數還是來自現有電子工程、電腦科學系的課程與教授,並沒有太多有關嵌入式軟體開發的新內容。而在職訓練也很少提供嵌入式軟體開發課程。



20090812_Clanguage_NT01P3.jpg



如果以上我所舉出的,有關C語言將在可見的未來繼續保有重要性、特別是在嵌入式軟體設計領域的種種證據屬實,那麻煩就真的大了──因為現在的年輕程式設計師雖然都很聰明,他們恐怕不知道該如何使用C語言寫程式,甚至不想學。


總有人得寫那些需求量越來越大的嵌入式軟體──新一代設計語言可能幫得上忙,卻無法支援所有那些發展資歷已數十年、未來數十年也會繼續被應用的CPU架構;既然這樣的趨勢難以避免,我們這個圈子需要培育年輕一代的C語言程式設計師。但該怎麼做呢?若狀況持續發展下去,又會產生怎樣的結果?


【備註】我確信那位年輕人並沒有性別歧視,「真正的女人」當然也會使用C語言!


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

 

原文網址

http://www.eettaiwan.com/ART_8800581112_480102_NT_ec9075be.HTM?click_from=8800029681,8656845686,2009-08-12,EETOL,ARTICLE_ALERT

 

 

咳..咳...

flotan果真男人也~

<( ̄ c ̄)y▂ξ

 

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 flotan 的頭像
    flotan

    囈語、敘事、兩三事...

    flotan 發表在 痞客邦 留言(1) 人氣()