在C上开始使用C 福建省体彩网的5个理由

十多年前,关于C 福建省体彩网何时最终超越C并成为主导的嵌入式系统编程语言,一直存在着不断的辩论和期待。时至今日,C仍然是主要语言,而且似乎不会很快出现。鉴于微控制器硬件的发展,更重要的是,随着工具链的发展和优化,现在可能是时候开始从使用C过渡到使用C 福建省体彩网的时候了。这是开发人员应开始考虑在其嵌入式系统中使用C 福建省体彩网的几个原因。

原因1– Use modern object oriented programming techniques

C编程语言是一种将近50年前发明的过程语言。这是一门很棒的语言,但是却缺少现代编程语言所具备的一切
•封装
•继承
•多态
C开发人员有时可以模仿这些面向对象的基本功能,但是它总是被强制执行并且需要更多的精力。现代语言自然会使用这些技术,如果使用得当,可以提高代码的可读性,重用性和可移植性。在当今复杂的系统中,最好使用可以在一个应用程序中重复使用的类和对象。

原因#2– Compiler and toolchain support for microcontrollers

在过去的几年中,微控制器领域的编译器和工具链对C 福建省体彩网的支持一直是工具提供商关注的重点。查看一些商业和开源编译器,您会很快发现编译器完全支持最新的C 福建省体彩网标准C 福建省体彩网 14。检查这些编译器的最新C标准C11,您会很幸运地找到支持甚至一些最新功能的编译器。

Beyond just compiler support, microcontroller manufacturers are starting to include hooks in their own tools to be able to easily develop C福建省体彩网 applications. There seems to be a quiet storm brewing where C福建省体彩网 could quickly become the dominate language in the 嵌入式的 space.

原因#3 – Active standards committee

C 福建省体彩网标准的更新频率远高于C标准。 C标准在1999年和2011年进行了更新。C福建省体彩网标准已经进行了四次更新,预计在2017年将发布另一个版本,此后每三个版本更新一次。这些更新并不一定只是改善C 福建省体彩网,而是更新功能并添加新功能以与行业中发生的变化保持最新。尽管存在C的所有问题,含糊不清和已知问题,但更改,更新和澄清的步伐都是蜗牛般的。

原因#4– Performance and code size

在嵌入式系统中应使用C还是C 福建省体彩网的争论中,最大的争论在于性能和代码大小。人们总是抱怨C 福建省体彩网代码比C代码更大,并且性能比C代码差。在当今的开发环境中,现代的编译器及其优化器非常出色。再一次,开发人员可能需要做一些实验或将C 福建省体彩网语言的使用限制为可以保证性能的子集,但是老实说,无论如何,我们都必须对C做同样的事情!

原因#5– Object oriented programming is taught everywhere

到处都教授面向对象的编程技术。大学生在计算机科学课上学习Java或C 福建省体彩网。软件设计更自然地遵循面向对象的思维,而不是过程过程。与使用C 福建省体彩网相比,使用C 福建省体彩网的新工程师更有可能更快地提高工作效率,因为它自然符合他们在大学四五年内所学的知识。 C似乎是一种古老的语言,他们无法关联,需要学习,而且我们都知道C是一种非常古怪的语言。这些怪癖需要多年的时间来学习和掌握。

结论

C编程语言不会很快消失。但是,提供了可供开发人员使用C 福建省体彩网和开始过渡的工具。 C 福建省体彩网为开发人员提供了开始使用面向对象方法的机会,同时在必要时同时继续使用旧版C代码。开始使用C 福建省体彩网的原因很多,可以继续使用C的原因很多,但是在接下来的几年里,越来越多的示例代码开始出现在C 福建省体彩网中,请不要感到惊讶。

6 thoughts 上 “在C上开始使用C 福建省体彩网的5个理由”

  1. C 福建省体彩网也是一种古怪的语言,原因与C完全相同– it’s powerful and let’您对事物有严格的控制权。

    C 福建省体彩网的最大问题是隐藏了不应’不被隐藏。嵌入式编程要求您始终知道每个字节在哪里。您当然可以在C 福建省体彩网中做到这一点,但学校不是’教学编程学科(对象编码固然很好,但它往往会带来很多膨胀,因为,膨胀在很大程度上更容易编码,并且隐式地被教导资源是无限的,所以为什么不走简单的道路)。

    Therefore the modern school educated programmer still has a steep learning curve when it comes to 嵌入式的 coding, C福建省体彩网 or C.

  2. 使用C 福建省体彩网可能有很多原因,甚至可能不是C 福建省体彩网,而是其他原因(Lua,Rust,ADA等)…)。但是,也可能有不使用C 福建省体彩网的原因。首先是使用适合工作的工具。在某些情况下,C 福建省体彩网比C更有意义:需要GUI,要求覆盖多于一套的硬件(抽象的驱动程序框架,带有处理设备差异的派生类),所需的第3个软件已经在C 福建省体彩网中,并且还有更多。
    至于上述原因,也可以用其他方式来论证:
    原因1–并非每个系统都需要继承或多态性,因此可以在C中以许多成熟的设计模式轻松实现封装。
    原因#2–有许多处理器仍然没有C 福建省体彩网支持或没有足够好的C 福建省体彩网支持(而且可能总是…)
    原因#3 –如此频繁地更新C 福建省体彩网可能不是一个好主意,因此C更加稳定。从历史上看,C 福建省体彩网标准委员会不太愿意接受嵌入式系统开发人员的需求,因为C 福建省体彩网人士对功能的速度和功能十分着迷。由于移动平台的普及,这种情况可能会开始改变,但是我担心它们“embedded”是运行带有MMU的CPU的智能手机或平板电脑。
    原因#4– This is no-reason. In many 嵌入式的 applications the stability and predictability of the code execution is more important than speed or even (sometimes) the size. Here C beats C福建省体彩网 by its nature.
    原因#5–面向对象的教学无处不在。好。恕我直言,这不是太好用C 福建省体彩网完成。 C是古怪的?实用的C 福建省体彩网不是吗?让’s从一个良好的类设计的样板代码开始,通常在至少6页或以上的书中进行介绍,并且通常会有整整一章专门介绍它!更糟糕的是:由于C语言不经常被教导,所以有大量的简历涌入招聘人员的垃圾箱。通常不会讲C,因为在错误和非常危险的前提下,C 福建省体彩网会在没有C的情况下默认知道C。
    结论–没错,C很快就不会去任何地方。但是恕我直言,它不会在很长的时间内走到任何地方。只要处理器的设计和制造方式没有太大变化,就可以存在8位处理器,所以C。如果在基础体系结构中发生这样的巨大变化,C 福建省体彩网也很有可能不适用。 C 福建省体彩网可以替代C的前提是基于这样的假设,即C 福建省体彩网是C的超集,正如我已经说过的那样,这是一个错误且危险的假设。

  3. C 福建省体彩网是一种ated肿的语言,它有很多错误,例如自动变量和共享指针。它隐藏了内存管理。它不适用于资源有限且需要低级编程的MCU。

    1. 感谢您的看法。我将同意,开发人员需要非常小心如何使用C 福建省体彩网以及决定在哪种微控制器环境中使用它。当然,有些功能不是最佳选择,但可以使用一组核心的C 福建省体彩网功能,它们可以对开发人员有帮助。当子集被扩展或开发人员确实注意他们在写什么时,危险就变成了。再次感谢您的评论!

  4. 关于C 福建省体彩网似乎仍然存在很多误解。您可以将C 福建省体彩网视为C的超集,甚至可以使用C 福建省体彩网编译器编写C代码并获得更高质量的代码,因为C 福建省体彩网编译器具有许多优点,而无需增加任何内存或性能开销。

发表评论

您的电子邮件地址不会被公开。 必需的地方已做标记 *

该网站使用Akismet减少垃圾邮件。 了解如何处理您的评论数据.