当前位置: 首页 > 科技观察

选择嵌入式编程语言的五个技巧

时间:2023-03-22 01:57:44 科技观察

嵌入式开发人员应该为新项目使用哪种编程语言?本文将探索为嵌入式开发人员选择正确编程语言的一些建议。建议#1-避免使用已死或将死的语言随着时间的推移,编程语言不可避免地会变得不受欢迎。发明了新的做事方式,发明了新的语言来解决当今的编程问题。曾经普遍使用的语言正在逐渐消失,新的语言正在取而代之。请注意,汇编语言是世界上第8大最流行的编程语言!但是,您知道有多少人在积极地使用汇编语言编写应用程序?在大多数情况下,汇编语言已经死了。当然,我们偶尔会写汇编来优化一些功能,但我们不会每天都写汇编语言。因此,请确保您选择的语言没有消亡或消失。建议#2–选择面向对象的语言当今几乎每个系统都可以用数据驱动、面向对象的体系结构来描述。我相信许多嵌入式系统自然而然地属于这种设计范式,没有必要折磨我们的设计来获得它们。然而,选择一种支持面向对象编程概念的编程语言对于构建可伸缩和可重用的软件系统至关重要。当我们查看嵌入式系统的编程语言列表时,我们注意到前五种语言存在一个小问题;C和汇编不是面向对象的语言!它们不提供嵌入式开发人员实现现代软件架构集所需的现代工具。此外,这些语言需要大量额外的工作才能获得其他语言自然内置的功能。建议#3-仅使用标准化语言构建必须多年来维护和更新的商业产品的人不应使用非标准化语言,除非他们能够负担得起与不断升级软件相关的技术债务。在像Rust这样的语言被标准化之前,语言的规范是不断变化的。它随着语言的发展而不断变化,并决定了做事的最佳方式。这意味着您可能使用一个编译器得到结果A,而使用另一个编译器得到结果B。同样的语言,不同的结果,都是因为语言不规范!与新语言一样令人兴奋,对于大多数企业来说,使用标准化语言是有意义的。我认为使用具有标准的语言并积极更新这些标准以发展语言及其功能是有意义的。像C++这样的语言是一个不错的选择。C++有一个定义明确的标准,每三年更新一次。结果,开发人员获得了新技术和功能来改进他们的软件并使语言栩栩如生。它还提供了一个一致的标准,这样团队就不必承担变更的技术债务(如果他们不想的话)。相反,他们继续使用他们采用的标准版本。建议4–平衡语言运行时权重嵌入式开发团队的一个关键考虑因素是他们语言的运行时权重。如果您研究C/C++,您会发现运行C应用程序所需的代码大小远低于1KB。运行代码的开销也可以忽略不计或不存在,C/C++具有轻量级的运行时权重。如果您查看Python或MicroPython,您会发现情况并非如此。MicroPython解释器通常构建到300-400KB之间!运行解释器的开销比较小,但是解释器的权重相当高。如果内存成本被认为便宜或不重要,那么重量级运行时可能没什么大不了的。在这种情况下,使用像MicroPython这样的语言可以带来很多好处。例如,几乎每个人都知道Python或者可以很快掌握它。此外,它具有适应性,并且编码标准比人们想象的要多。升级应用程序代码也可以像更新一些脚本模块一样快。无论哪种情况,嵌入式开发团队都应该仔细考虑与他们选择的语言相关的开销。例如,python、Java、Labview等可能比其他语言的运行成本更高。建议#5-使用适合你的语言归根结底,你(团队)需要决定哪些功能和语言最适合你的需求。例如,如果整个行业都在转向Python,但汇编语言更有意义,因为您提供了手动优化的库,那么请选择汇编语言。另一方面,如果您有一堆用C编写的遗留代码并希望继续利用现有资产,请使用C。(或者包装您的C代码并使用C++!)。不要让我们这个时代的语言时尚说服你改变。相反,使用有意义的方法并考虑我们在本文中讨论的建议。嵌入式开发人员和团队确实有丰富的编程语言选择来开发他们的嵌入式软件。他们选择的语言将取决于他们编写的软件类型、公司的需求以及他们在维护代码时产生的技术债务。在选择要使用的语言时,本文中的建议应该提供一些额外的考虑。如果有疑问,C/C++,尤其是C++,可能是一个很好的默认值。