文章图片
在过去的几年里 , 用于嵌入式开发的编程语言的数量开始激增 。 开发人员可以使用汇编、C、C++、Python、MicroPython、Java和Rust等语言 。 (甚至还有一些工具可用于为应用程序建模并为开发人员生成代码) 。 对于新项目 , 嵌入式开发人员应该使用哪种编程语言?这篇文章将探讨一些为嵌入式开发人员选择正确编程语言的建议 。
建议#1 – 避免死亡或正在死亡的语言
随着时间的推移 , 编程语言不再流行 , 这是不可避免的 。 发明了新的做事方法 , 发明了新的语言来解决当今的编程问题 。 曾经常用的语言逐渐消失 , 取而代之的是新的语言 。
请注意 , 汇编语言是全球第8 大最受欢迎的编程语言!但是 , 你知道有多少人积极地用汇编语言编写应用程序?在大多数情况下 , 汇编语言已经死了 。 当然 , 我们偶尔会编写汇编来优化某些功能 , 但我们并不是每天都在编写汇编语言 。 因此 , 请确保你选择的语言尚未死亡或尚未正在逐渐消失 。
建议#2 – 选择面向对象的语言
今天几乎每个系统都可以用数据驱动、面向对象的体系结构来描述 。 我相信许多嵌入式系统自然而然地落入了这种设计范式 , 没有必要折磨我们的设计来获得它们 。 但是 , 选择支持面向对象编程概念的编程语言对于构建可扩展和可重用的软件系统至关重要 。
当我们查看嵌入式系统的编程语言列表时 , 我们会注意到前五种语言存在一个小问题;C 和汇编不是面向对象的语言!它们不提供嵌入式开发人员实施现代软件架构所需的现代工具集 。 此外 , 这些语言需要大量额外的工作才能获得自然内置到其他语言中的功能 。
建议#3 – 仅使用标准化语言
构建必须经过多年维护和更新的商业产品的人不应该用非标准化的语言 , 除非他们能够承担与不断升级软件相关的技术债务 。 在像Rust一样标准化语言之前 , 该语言的规范是不断变化的 。 随着语言的发展和确定做事的最佳方式 , 它在不断变化 。 这意味着你可能使用一个编译器得到结果A , 然后使用另一个编译器得到结果B 。 同样的语言 , 不同的结果 , 都是因为语言不标准化!
尽管新语言令人兴奋 , 但对于大多数企业来说使用标准化语言是有意义的 。 我认为使用具有标准的语言并积极更新这些标准以发展语言及其功能是有意义的 。 像C++ 这样的语言是一个不错的选择 。 C++有一个定义明确的标准 , 标准每三年更新一次 。 结果 , 为开发人员提供了新技术和新功能来改进他们的软件 , 使语言活起来 。 它还提供了一个一致的标准 , 这样团队就不必承担变更的技术债务 , 如果他们不想这样做 。 相反 , 他们继续使用他们采用的标准版本 。
建议#4 – 平衡语言运行时权重
嵌入式开发团队的一个关键考虑因素是他们语言的运行时权重 。
如果你检查C/C++ , 你会发现运行C 应用程序所需的代码大小远低于1 KB 。 运行代码的开销也可以忽略不计甚至不存在 , C/C++ 具有轻量级的运行时权重 。 如果你检查Python 或MicroPython , 你会发现情况并非如此 。 MicroPython 解释器通常构建到300 – 400 KB之间!运行解释器的开销相对较小 , 但解释器的权重相当高 。
如果内存成本被认为便宜或不重要 , 那么重量级运行时可能没什么大不了的 。 在这种情况下 , 使用像MicroPython这样的语言可以带来很多好处 。 例如 , 几乎每个人都知道Python或者可以很快学会它 。 此外 , 它的适应性强 , 编码标准比人们想象的要多 。 升级应用程序代码也可以像更新一些脚本模块一样快 。
- 萧山|总投资约104亿元!18个重大招商项目签约落户萧山经济技术开发区
- 高管称《碧海黑帆》开发良好 将在下一财年发售
- Sandbox|育碧与The Sandbox合作开发「疯狂兔子」元宇宙版本
- VR/AR技术开发|2022年全球科技公司将专注于VR/AR技术开发
- 开发自动驾驶解决方案 捷豹路虎/NVIDIA达成合作
- 编程学习的兴起|少儿编程的未来在哪里?
- 华为|关键时刻来临!余承东公开发声,华为果然不一般
- 软件开发|商业无代码应用平台简介
- 康奈尔大学|不出声也能命令Siri!清华校友开发「无声语言识别」项链
- 价格战|夹缝求生混饭吃,艰难面试java开发上岸