gzyueqian
13352868059

嵌入式开发:C是时候退休了吗?

更新时间: 2022-12-28 09:50:18来源: 粤嵌教育浏览量:5232

C编程语言无疑是计算机科学最成功的编程语言之一。它是嵌入式系统开发人员最流行的语言,几乎80%的嵌入式项目都使用它。经过近半个世纪的使用,嵌入式开发人员是时候转向更现代的语言了吗?C是时候退休了吗?

 

出于几个原因,淘汰C并转向更现代的编程语言的诱惑相对较大。首先,往往受到科技公司高度追捧的入门级工程师几乎没有C语言经验,如今的大学课程专注于教授PythonC++等现代语言。让他们跟上速度和经验可能需要大量的金钱和时间投资,很少有公司对此感兴趣。

 

接下来,虽然C编程语言非常流行,但它已经过时了。C不支持类和继承等现代编程概念。如果你比较一下C++PythonRust等现代语言的特性集,C语言开始变得像恐龙了!C标准上一次添加新功能是在2011年!2017年的标准版本只做了技术上的修改和澄清,预计2023年即将发布的标准版本也很可能不会动摇局面。

 

淘汰C语言看起来仍然很诱人,但是仅仅放弃C语言有几个问题。首先,C语言对于运行在硬件附近的低级过程应用程序来说是一种很好的语言它既紧凑又高效。第二,嵌入式开发高级工程师对这种语言根深蒂固他们已经使用这种语言几十年了,对学习和过渡到一种更现代的语言没有兴趣。最后,如此多的遗留库和代码库使用C,我们不能抛弃它们。移植遗留代码的成本太大了!


看来我们有点左右为难了!作为一个行业,我们应该淘汰C语言,以利用更现代的语言和技术,但改变的时间和成本以及我们必须维护的遗留代码的数量往往会阻碍C语言的淘汰。在保持我们从C语言中获得的好处的同时,对更现代技术的需求可能会使我们远离使用单一的主流语言,并迫使我们依赖多种语言来完成工作。

 

如果你仔细观察这个行业,这种情况已经发生了。我看到一些公司正在向使用C++过渡,但仍然有大量的C库。我看到一些公司在尝试Rust,但是依赖于他们可靠的C库作为构建的一部分,反之亦然。不幸的是,或者也许,取决于你的观点,幸运的是,这意味着C将在未来无限期地继续保持主导语言的地位。

 

C是时候退休了吗?这是一个简单却复杂的问题。你可能不想在8位微控制器上使用C++或其他语言。如果使用机器学习或开发连接设备来使用先进的32位微控制器,除了C之外的语言将为提供成功所需的额外工具,在嵌入式开发中,转换语言的时间和成本可能太高。建议是,如果这是一个新的设计,从现代语言开始如果是遗留设计,利用遗留代码,用现代语言编写新代码。

免费预约试听课