【.com快译】长期以来,C/C++一直是嵌入式系统编程领域的编译器,但两者也都有各自的缺陷。相比之下,Python已成为嵌入式系统中的另一种主要语言选择。在今天的文章中,我们将讨论双方的优缺点以及Python在嵌入式编程领域的定位。C/C++是一种编译型语言,而Python是一种解释型语言。C语言诞生于1969年,C++出现于1983年,与1989年才发展起来的Python相比,显然要年轻一些。经过几十年的磨练,Python已经成为最流行的开源编程语言之一。Python解释Python在美国各个计算机科学系中最受欢迎。根据BarrGroup发布的调查结果,排名前十的计算机科学系中有八个正在使用Python教授编码技能。不管这里的优缺点如何,事实证明应届毕业生对Python的理解远胜于C/C++。大多数开发爱好者都有一定的Python使用经验,他们的Python水平往往高于C/C++。然而,在嵌入式领域,情况恰恰相反——BarrGroup在调查中发现,95%的嵌入式系统都使用C/C++语言。虽然这种情况对Python很不利,但其易用的特性和更广泛的从业者相信,它在未来会一步步超越C/C++。Python在嵌入式计算领域发展迅速。虽然目前非C/C++语言只占嵌入式系统代码的5%,但Python无疑会在未来几年内迅速蚕食C/C++的份额。无人机、机器人或其他涉及Arduino和RaspberryPi的项目正在吸引许多具有Python技能背景的爱好者,这一趋势势必对嵌入式编程产生深远影响。与C/C++编写速度慢、容易出错、难以直接阅读相比,Python向来以编写方便、错误率低、可读性好着称。事实上,Python的复用性远高于C/C++,这一优势将在当前的敏捷开发环境中起到决定性的作用。嵌入式算法本身变得越来越复杂。使用神经网络和其他高度复杂的过程,Python取代了简单的控制循环作为基础。此外,Python库的性能更高且更人性化,可以显着提高程序员的工作效率。C/C++声明C/C++的特性非常明确:旨在构建紧凑且运行速度更快的代码。然而,运行速度只是开发工作中需要考虑的因素之一。Python虽然执行效率不如C/C++,但是其开发效率更高,所以两者只能说是各有所长。提高Python速度性能我们目前有多种选择来提高Python代码的运行速度。除了Theano库之外,还有Cython等Python优化扩展可用,基本相当于利用Python的静态类型和关键字来提高数学运算的速度。由于Cython本身是静态类型的,您可以将其编译为C/C++,并享受与后者相同的速度优势。即时(简称JIT)编译器是另一种加速Python运行时的好方法。这些编译器可以与Python解释器并行运行,生成汇编指令代码以加快执行速度。虽然对于软件来说,数据结构和算法的优化是提升性能的核心法宝,但是其设计和实现难度太大,相信以上工具可以帮助大家更轻松地完成提速。使用Python与嵌入式系统通信Python可能是用户和嵌入式系统之间通信的最杰出的中间件选择。通过Python发送和接收消息可以帮助用户轻松完成自动化测试。Python脚本还可以将系统置于不同的状态、设置配置和测试所有实际用例。Python还可用于接收嵌入式系统数据以供以后分析。此外,程序员还可以使用Python开发参数和其他方法来对此类数据执行分析任务。大家在考虑Python和C/C++的优劣势时,其实都面临这样的选择:开发速度还是运行时速度。不过,在未来,这个问题可能不需要Python开发人员担心,而是由嵌入式系统设计人员担心——毕竟Python的流行早已势不可挡。原标题:Pythonvs.C/C++inembeddedsystems原作者:TomRadcliffe
