C语言在1997~2009年之间都是嵌入式软件开发使用最多的语言;近五年来,C与C++语言更瓜分了大部分原属汇编语言 (assembly)的版图,其中较高阶的C++发展速度虽不如预期,但仍在嵌入式软件设计领域维持27%左右的占有率。整体看来,C++语言使用率在 90年代晚期加速上升,在2001年达到高峰,然后稍微下滑、之后维持稳定。
无论如何,嵌入式软件设计师不会在短时间内放弃使用C语言,原因有很多个:首先,C语言编译器支持大多数的8位、16位与32位CPU;其次,C语言在处理器与驱动程序层级,兼具高低级语言的特色。
当 然,如果仅获得一小群人数逐渐减少的程序设计师支持,C语言难以继续作为重要的设计语言而存活;而既然C语言仍然如此重要,也意味着嵌入式软件设计师并不 会减少。目前每年新上市的CPU有98%都是嵌入式的,这类新型CPU的长期发展性也非常乐观。图二显示美国那斯达克指数与新CPU出货量变化的消长关系。
嵌入式软件设计教育断层
但在C语言在全世界各地的重要性日益增加的同时,学校里却越来越少学生愿意去学如何使用该种设计语言;这反映了嵌入式系统设计领域日益严重的「教育断层」问 题。美国的高等教育机构在提供实用的、嵌入式软件设计必备的技能教育方面非常失败,相关开发技巧非得在工作岗位上才能学得到。
在电子工程相关科系,只有一小部分课程是与嵌入式软件开发有关的;而计算机科学系所提供的嵌入式软件开发相关课程也只多一点点。现在有不少美国大学虽提供额外的计算机工程 学分,但大多数还是来自现有电子工程、计算机科学系的课程与教授,并没有太多有关嵌入式软件开发的新内容。而在职训练也很少提供嵌入式软件开发课程。
如果以上我所举出的,有关C语言将在可见的未来继续保有重要性、特别是在嵌入式软件设计领域的种种证据属实,那麻烦就真的大了──因为现在的年轻程序设计师虽然都很聪明,他们恐怕不知道该如何使用C语言写程序,甚至不想学。
总 有人得写那些需求量越来越大的嵌入式软件──新一代设计语言可能帮得上忙,却无法支持所有那些发展资历已数十年、未来数十年也会继续被应用的CPU架构;既然这样的趋势难以避免,我们这个圈子需要培育年轻一代的C语言程序设计师。但该怎么做呢?若状况持续发展下去,又会产生怎样的结果?
参考原文:Real men program in C,by Michael Barr,本文作者为嵌入式系统设计领域的专家,目前经营一家嵌入式系统顾问公司Netrino)
em27]
最后修改:2009-8-18 9:26:20