在大学院校的计算机科学体系中,持续缺乏对嵌入式系统编程关注的情况,可能会让分散的情况日趋严重。事实上,美国的工程教育越来越趋向于集中在某些特定领域,这也日益突显出了当地大学的计算机科学教育在嵌入式系统编程方面的不足之处。 
 在大学院校的计算机科学体系中,持续缺乏对嵌入式系统编程关注的情况,可能会让分散的情况日趋严重。事实上,美国的工程教育越来越趋向于集中在某些特定领域,这也日益突显出了当地大学的计算机科学教育在嵌入式系统编程方面的不足之处。 
  然而,问题在于,嵌入式系统开发安全、可靠、关键任务系统的基础,而这些系统通常会用在从医疗到商用客机在内等许多大型开发专案中,因而使问题显得更加突出。 
  许多批评的声浪都认为,造成嵌入式编程领域产生落差的原因,是由于大学的计算机科学系所越来越偏向如Java这类时髦的程序语言,但付出的代价却是牺牲了教导学生如何去设计及分析算法和数据结构等基础。纽约大学荣誉教授暨软件工具供应商Adacore公司CEO Robert Dewar最近发表一篇文章,探讨嵌入式领域的落差情况,他认为,许多大学都必须重新思考他们的程序课程规划。 
  “说穿了,”Dewar写道,“用Java来取代传统程序入门课程中使用的语言,像是Pascal, Ada, C或是C++等──无异是让整体教学的水准往后退了一大步。许多大学转向Java的理由只是因为学生毕业后好找工作,但讽刺的是,这些学校培养出了仅具备肤浅技能的程序设计人才,他们正在失去与来自各个不同国家,具备更多技能与深度知识的人才竞争的能力。” 
  一些嵌入式编程专家则认为,Dewar还低估了嵌入式领域编程落差的严重性。该领域的专家之一Michael Barr,则是采取更具体的行动──他举办了为期一周的“嵌入式软件研习营”(Embedded Software Boot Camp)──希望藉由面对面的教学,弥合所谓的嵌入式编程落差。这个研习营的重点集中在培养某些技能,如用C或C++来做硬件控制、撰写更多设备驱动程序等,而Barr的结论是:美国的大学并没有做好固件开发培训。 
  “我发现,这些参加研习营的人都有一个共同点,就是他们在课堂上的表现通常都不是很好,除非他们都知道C语言,”Barr说。“我并不是说他们必须很懂C,但他们起码要知道基本的C语法。” 
  那些一开始就从Java开始的计算机科学或工程系毕业生“根本无法触及问题核心,”他说。“这就是我觉得情况变糟的主要原因。” 
  危机迫在眉睫? 
  Barr的专长是医疗设备和其他嵌入式系统设计,他指出,自他举办研习营以来,他已经看到了解决嵌入式编程人才短缺问题的一线曙光,像IEEE等团体也开始关注这个问题了。下一次的研习营将在今年五月初于美国马里兰州举行,届时除了美国本土,还将有来自比利时、加拿大、墨西哥和土耳其的参加者。Barr认为,目前在做的事,正是弥补美国大学的计算机科学课程缺乏嵌入式编程训练的最好方法。 
  Barr表示,这个研习营的参与者对课程内容的反应包罗万象,像是有人会说:“你帮我把我以前曾经学过,但却从来不知如何使用的知识整合起来了”;也有人说: “为什么二十年前没有人教我这些?” 
  嵌入式传道者Michael Barr用以下这张Venn图来说明目前计算机工程领域的嵌入式软件编程现况,以及为何我们总是缺乏良好的固件开发培训。

  这解释了为何大学的电脑科学系所不再强调以C为基础的嵌入式语言教学。除了Java热潮兴起外,观察家们认为,追求研究补助金也是让资深工程师和计算科学教授们从课堂上消失的主要原因。另一个事实则是嵌入式编程团队规模一般比较小,如通常由一个硬件工程师和几个软件工程师组成,因此,这个领域也无法产生让毕业生向往的大量就业机会。 
  另一方面,在航空等产业中,一些大型的嵌入式专案通常都沿用较旧的技术。“这种保守、过程导向的工作环境,通常会让许多软件工程师却步,”Barr说。 
  观察家们对于嵌入式编程语言如C之中的指令若持续落后,是否会带来危机一事意见并不相同。一位工程师对嵌入式软件专家Dewar的文章做出了如下回覆:“能解决问题才是关键。至于专门的程序语言知识并不重要。工程师可以学习。在这个产业中,任何一种特定的知识,寿命其实都不长。” 
  但Barr忧心之处在于缺乏C语言课程,还多大多数熟悉传统程序语言的软件工程师年纪都偏高了,“某种程度来说,这也是一种危机。”他进一步表示,嵌入式软件涉及的层面非常广泛,从冰箱到汽车到智能手机以及医疗设备,全都包含在内。

如果不懂C语言?你该感到危机了相关推荐

  1. 大学c语言程序设计听不懂,C语言听不懂?那你还不点进来看看?

    最近16级的小鲜肉们结束了为期两周的军训生活,正式开始了自己的的大学学习生活,不过刚一开始上课小鲜肉们就懵了,专业课好难啊!C语言听不懂啊!( Ĭ ^ Ĭ ) 别慌,学长教你几招帮你渡过难关. 小鲜肉 ...

  2. 【c语言】初识c语言-让你对c语言不在感到一无所知

    作者:低调 作者宣言:写好每一篇博客 文章目录 前言 一.什么是C语言? 二.第一个C语言程序 三.数据类型 3.1常见的数据类型. 3.2每个类型的大小是多少? 3.3数据类型是以什么方式打印出来的 ...

  3. 大学c语言程序设计听不懂,C语言没学好,C++听不懂,怎么办?

    老家一位侄子给我来信,谈了学程序设计的不顺.他大一,计算机专业.当叔的正好能给建议. [来信] 叔,我上学期的学习中主要是C语言和英语有问题.俩门都是刚过,尤其是对于C的学习,基本没有什么兴趣,而且因 ...

  4. c编程语言英文读不懂,C语言编程 可以不会英语 但必须要懂以下英语单词

    有很多编程学习者,或者想学习编程的学员,都有个困扰,不会英语能不能学好编程. 以下是小编的观点: 不会英语是不影响写程序的.你可以不精通英语,但是一些最基本的英文单词你还是要熟悉,熟悉这些单词,可以大 ...

  5. 他24岁,4篇Nature在手,也会关心学不懂C语言怎么办

    鱼羊 白交 发自 凹非寺  量子位 报道 | 公众号 QbitAI 中科大少年班校友.96年出生的曹原,再次连发两篇Nature文章! 最新一期Nature,连发两篇魔角石墨烯的最新进展,来自麻省理工 ...

  6. 什么是“GB/T ”? 计算机术语你又知道多少? 想不想别人听不懂的语言搞定别人!...

    本标准采用GB/T6583.GB/T 5271.1和GB/T 5271.20中规定的定义以及下列定义. 注:合适时,产品可以解释为系统的一部分. 3.1  需方  acquirer 从供方获得或采购系 ...

  7. 猜数游戏c语言编程_做游戏,学编程(C语言) 10 僵尸危机

    这个案例,分享14级同学大一时实现的打僵尸小游戏,电脑点击下图可以看到动图效果: 这个案例的代码不复杂,但是结合了游戏角色的动画效果.射击声音特效,实现后还是挺酷的.对应的游戏素材.分步骤代码,可从百 ...

  8. 做游戏,学编程(C语言) 10 僵尸危机

    这个案例,分享14级同学大一时实现的打僵尸小游戏,电脑点击下图可以看到动图效果: 这个案例的代码不复杂,但是结合了游戏角色的动画效果.射击声音特效,实现后还是挺酷的.对应的游戏素材.分步骤代码,可从百 ...

  9. c语言自学听不懂,为什么C语言这么难学,怎么才能学好呢?

    C语言是最基础的编程语言了,其实,对于理工科专业的人来说,C语言并不难,C语言都学不好,怎么学习C .C#.Java.汇编语言等,这些语言比C语言要难得多. 也许是因为刚接触C语言,刚刚接触一门全新的 ...

最新文章

  1. python制作桑基图_Python制作桑基图
  2. 分享一些简单的删查改sql语句
  3. Canal实时同步数据到RocketMQ
  4. Oracle12c开启scott账户
  5. java 没有提示信息,ActionErrors没有提示信息
  6. typora导出word指定样式_(二)最简洁的Markdowd编辑器:Typora
  7. 我写了10年博客,却被人说“不火”?我是这样怼回去的?
  8. C++socket编程(八):8.2简单的基于UDP的客户端和服务端
  9. cocos2d-x之读取xml文件
  10. Linux中关于httpd仓库安装的简要步骤
  11. 可以在电脑上在线录制视频GIF的软件,不需要下载安装
  12. Jmeter使用函数助手生成随机数,处理同一个随机数多处使用
  13. TRAS为springcloud提供高性能的RPC能力
  14. easyui 行编辑中上传附件
  15. DM DBLINK使用笔记
  16. window 10 局域网同步时间(解决错误:This scheduler instance is still active but was recovered by another instanc)
  17. Error starting Tomcat context
  18. kubernetes pod一直是ContainerCreating,READY是0/1
  19. POJ3067 Japan
  20. 深入Vue底层,手写一个vuex

热门文章

  1. Markdown 编辑器速查表
  2. 【Java 代码实例 11】利用百度语音识别技术实现文字转语音的应用
  3. elasticsearch 编程api 2
  4. java模板引擎 jade_Jade模板引擎使用详解
  5. 0.96寸oled屏幕在任意区域画点
  6. vivo的android是什么手机,安卓旗舰机哪家强?这三款手机榜上有名,值得一看
  7. windows无法打开添加打印机_Win7无法添加打印机如何解决 Win7无法添加打印机解决方法【详解】...
  8. 以图搜图,图像识别...
  9. 进制转换十六进制转十进制
  10. Python的GIL锁