Python又登顶了,它能成为嵌入式未来吗?

Python 虚拟环境 + 嵌入式 + 编译pyd 部署方案 + 简易UI 利用嵌入式python 发布代码到没有安装 python 的电脑去执行。不方便直接提供源码时可编译为 pyd 阅读详情

8月29日,IEEE Spectrum发布2023年顶级编程语言排行榜,在排行中,Python愈加拥有统治地位,一度成为嵌入式的得力竞争者,嵌入式开发的未来就在Python了吗?

IEEE Spectrum公布了三类榜单,虽然每种榜单的权重有所不同,但得出的结果却极为接近。

其实Python早蝉联多年榜首,其丰富的库和框架,如Pandas、Scikit-learn等成为其最大的竞争优势,在近两年表现强势,但需要注意的是,C、C++、C#等大型语言相加的总和是超过Python的,同时这几种语言也在特定维度拥有更好的流行度。

6~10名的编程语言排名发生了较大变动。最明显的是,微软的C#语言从2020年的第25位跃升至第6名,或与2020年年底发布的C# 9.0 、尚在襁褓的Windows 11以及开发者对分布式系统的兴趣持续增长有关;HTML也进入了前十,位列第9;Arduino和Matlab则跌出前十。

在就业语言使用排行中,SQL摘得桂冠,其次才是Python、Java、JavaScript、C++、C#、C等。

曾经作为查询数据库的SQL,无疑是现在就业市场最基本的技能,而事实上,大多雇主更希望应聘者在掌握其它语言,诸如Python、C、Java的基础上,同时具备SQL能力。

语言发展趋势榜单中,Python表现依然强势,与位列第二和第三的Java和JavaScript拉开巨大差距。

IEEE Spectrum强调,Python的已经成为万能语言,并在特定领域成为佼佼者,就比如,人工智能领域。此外,虽然摩尔定律对于高端数字芯片的提升已遇瓶颈,但MCU依然深受其影响,从而提升性能,这意味着一个价值0.7美元的CPU上,就有足够的计算能力让Python进行嵌入式开发,尽管解释器的开销很大。

当然,IEEE Spectrum还特别提示,不能过于迷信榜单,一方面,多数情况公司都要求工程师同时掌握Python和SQL,另一方面,各种C和Java语言综合的受欢迎程度远超Python,特别对于一些高性能的任务,解释器的开销还是过大。

很多工程师时常会发问,嵌入式,现在上车Python,有未来吗?而在EEWolrd论坛中,也不缺乏观望Python的学生,想要通过熟练掌握Python,作为嵌入式的敲门砖。

事实上,Python已经大火很多年了,回顾过往,2012年2014年云计算烧起一把火,大批创业公司和巨头起风,催生大量Python岗位;2014年2015年,北京大街小巷挤满了创业者,O2O、P2P是无人不知的口号,Python开发速度一个顶仨,自然而然成为当时的主流;2016年~2017年,AlphaGo又引燃了业界一把火,AI/ML的首选语言就是Python;这两年,几乎每个人都听说过用Python写爬虫这件事,Python的话题也不断涌现。

究其原因,是因为它入门简单,同时在于人工智能、数据分析、Web、自动化测试和运维表现优异:

  • 人工智能:Python是一种用LISP和JAVA编译的语言,按照Norvig文章中对Lips和Python的比较,这两种语言彼此非常相似,仅有一些细小的差别;

  • 数据分析:大数据时代,数据可以说明一切,现在很多做数据分析并没有那样简单,Python语言成为了做数据分析师的第一首选,它同时可以给工作带来很大的效率;

  • Python Web网站工程师:Web一直是不可忽视的存在,我们离不开网络,离不开Web,利用Python的框架可以做网站,而且都是一些精美的前端界面,还有我们需要掌握一些数据的应用;

  • Python自动化测试:Python语言对测试帮助非常大,自动化测试中Python语言用途很广,可以说Python太强大,掌握和熟悉自动化的流程,方法和我们总使用的各个模板,到现在为止Python使用最多的应该是自动化测试;

  • Linux运维:用Python实现的测试工具及过程,包含服务器端、客户端、web、andriod、client端的自动化测试,自动化性能测试的执行、监控和分析,常用selenium appium等框架。

Python之父吉多·范罗苏姆也曾豪言:“Python在爬虫、数据分析、AI、ML、Web开发、金融、运维、测试等多领域都有不俗表现,从来没有哪一种语言可以同时在这么多领域扎根。”

在嵌入式开发中,Python一般以MicroPython的形态所出现,对于Python进行嵌入式开发,工程师们众说纷纭。

中立派对它的评价是,Python要么是用在数据分析,再者就是Web、人工智能、自动化办公,其它领域还是没法工业化应用。

也有人评价:“Python简单易学, 第三方模块超多,但是缺点也很明显:,即解释执行, 打包问题,项目管理和发布等。”

更有甚者称,Python是一种胶水语言,不要再被它所忽悠了,并在EEWorld论坛中引发大面积讨论。

反对者称,Python主要特性是调用C语言的程序包较为容易,所以有很多人把各种C语言的程序库修改成Python能够调用的包。总结来说,Python有两大硬伤:

一是解释执行效率的硬伤。

Python是一种动态语言,解释执行,就如同JavaScript一样,JavaScript是网页里嵌入的特定领域语言,目前也在被新的编程体系取代(webassembly,可以由其它语言编译而来)。

现在,很多解释执行的语言都有被静态编译语言取代的趋势,GOlang有可能取代Java,Rust有可能取代C/C++,webassembly有可能取代JS。Java、C/C++,JS都是目前的主要生产语言,就是可以用来写大型的应用的语言。

Python是后来者,主要用来写简短的、临时性的试验代码。例如,在写软件时可能需要临时处理文本格式或统计数据,此时就没有必要使用工作语言临时建立工程,这种情况用Python,很好。所以在大型商业(开源)软件基本见不到Python。

二是没有专业的软件库,基本是第三方语言库。

如绘图软件库,Python只能使用其它语言库,往往C语言等语言的库都比较底层,如果Python想拿来使用时需大量的封装代码,需要很多专业知识,新手(或只懂Python)很难做到,对于需要扩展程序库的功能基本上就没法解决,所以Python不能独立完成一个大型复杂项目。

此外,编写大型软件时,Python代码的组织结构很不友好,阅读起来费劲,Python的高级语法和其它语言也一样很不好理解的。对于专业程序来说,只掌握程序语言知识并不能写出能赚钱吃饭的程序,必需要有其它体系知识,就像嵌入行业不知道高低电平、上拉下拉电阻一样,职业程序员不是只写打印个字符三角形、求解个一元二次方程之类的教学程序,而是涉及大量行业知识。

反对者强调,“Python对于专业程序员来说可有可无,学与不学都无所谓,不要被那些做培训的忽悠,这些人只是为了让你交钱而已,才不管你是不是要吃饭的。对于想成为专业程序员还是学JAVA、C/C++、C#靠谱。”

辩论者则认为,即便不在嵌入式领域,Python代码的执行效率依然较慢,这一点早已被诟病,但执行速度并非一切,现如今,CPU算力普遍过剩,良好的代码结构远比堆叠CPU参数更为直接,何况主流CPU和MCU平台性能已远超以往,成本不断下降。不止如此,MicroPython的生态环境和开发效率都极具优势,不能忽略它们所带来的隐形福利。

也有人称,早期QBasic这种解释型语言,也很简单,作为语言,最终目的是开发程序,只要能实现功能,开发又便捷,何尝不是一种首选。也许Python不适用于大型商业应用,但在小应用上依然存在使用价值。更何况,使用第三方库的可不止Python一个,VB.net、C#、Java哪个不是需要第三方库。

一些Python的使用者,也反应了其中的问题。一是Python2到Python3语法不兼容,二是用Python处理二进制数据就会产生很多误导,每次都要查语法。

对于Python的诟病重重,但又连连夺冠,虽然从教育机构,到媒体,再到工程界,不缺乏极力推崇Python进入嵌入式开发的人,但又有许多专业人士不断给出证据,证明Python缺乏专业性。

当然,除了嵌入式开发,Python在IC设计中也有大作用,简单来说就是EDA环节中编写流程设计插件或是作为EDA工具的扩展,Peal能做的事,Python都能做,而且代码更易读、更易理解,但文本处理比Perl麻烦一些。

Python一定是好用的,能在很多领域发挥不俗的作用,但反观现在就业环境,C/C++和Java的地位依然屹立不倒,也许目前最稳妥的方法,依然还是掌握C/C++或Java。

参考文献

[1] The Top Programming Languages 2023 Python and SQL are on top, but old languages shouldn’t be forgotten.2023.8.29.https://spectrum.ieee.org/the-top-programming-languages-2023

[2] EEWorld论坛:http://bbs.eeworld.com.cn/thread-1193555-1-1.html

[3] EEWorld论坛:http://bbs.eeworld.com.cn/thread-1173450-1-1.html

[4] 橙子物联网:Python在嵌入式领域有没有前途?.2021.3.1.https://mp.weixin.qq.com/s/nVH9pnEQ5pPZoGEv4i-HOA

---------------------------END---------------------------

题外话

在这里插入图片描述

感兴趣的小伙伴,赠送全套Python学习资料,包含面试题、简历资料等具体看下方。

👉优快云大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

img
img

二、Python必备开发工具

工具都帮大家整理好了,安装就可直接上手!img

三、最新Python学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

img

四、Python视频合集

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

img

五、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

img

六、面试宝典

在这里插入图片描述

在这里插入图片描述

简历模板在这里插入图片描述

👉优快云大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)

若有侵权,请联系删除

python 嵌入式部署的知识点,嵌入式部署实例,常见框架 阅读详情

相关推荐

Python入门实战:Python嵌入式编程基础

1.背景介绍 Python是一种高级编程语言,它具有简洁的语法和易于学习。在嵌入式系统领域,Python已经成为了许多设备和硬件平台的首选编程语言。这篇文章将深入探讨Python嵌入式编程的基础知识,涵盖了核心概念、算法原理、具体操作步骤、数学模型公式、代码实例和未来发展趋势。 1.1 Pytho

AI架构师小马 2017

Python在嵌入式开发方面的应用

它的简洁性、易用性和丰富的库使其成为开发人员的首选语言之一。通过合理的使用和组合不同的技术,嵌入式系统的开发可以更加高效和可靠。嵌入式系统是指集成了软硬件的特定用途的计算机系统。开发人员可以使用Python以简洁的方式读取和处理各种传感器数据,从而提供有用的信息和洞察。Python的易用性和丰富的库使其成为物联网设备开发的首选语言。这种混合编程的方法可以充分发挥Python的易用性和灵活性,同时兼顾性能和资源消耗。Python语言具有简洁优雅的语法和强大的标准库,这使得它成为开发嵌入式系统的理想选择。

milk416666的博客 2929

C#中的Chart控件——当数据源很多时可以显示进度条拉动观察,也可以记录到后台文本详细对照

C#中的Chart控件——当数据源很多时可以显示进度条拉动观察,也可以记录到后台文本详细对照下面进行详细步骤说明,感兴趣的同学可以看一下: 1简单示例(一条线): 2.数据源随着时间不断变化,进度条变化 。多条线: 3.看在整段时期内的数据大体图(消去或出现)进度条: 4.后台将时刻记录变化记录到一个txt文本里以供详细校验: 话不多说上码: using System; using Sys...

帅boy的博客 4309

Python与嵌入式系统中的C/C++你不知道的秘密

C / C ++编程语言主要是嵌入式系统编程,尽管它们有许多缺点。 另一方面,Python具有许多优点,使其成为嵌入式系统的优秀语言。 我们来看看每个的利弊,为什么你应该考虑Python的嵌入式编程。 C / C ++是编译语言,而Python是一种解释语言。 C / C ++已经存在了, C于1969年首次开发,C ++于1...

python学习者的博客 1万+

从零到一:如何用YOLOv8和PyQt5打造你的第一个花卉识别桌面应用

本文详细介绍了如何使用YOLOv8和PyQt5从零开始构建一个花卉识别桌面应用。涵盖环境搭建、数据准备、模型训练、界面设计、模型集成与性能优化等全流程,帮助开发者快速掌握深度学习目标识别技术的实际应用。

weixin_29048775的博客 455

基于STM32的多模态智能风扇控制系统设计与实现

本文详细介绍了基于STM32单片机的多模态智能风扇控制系统的设计与实现。系统集成了红外遥控、蓝牙手机控制及人体感应等多模态交互方式,通过PWM技术实现无级调速,并设计了安全优先的控制逻辑。文章从硬件选型、核心原理、软件编程到系统调试,提供了完整的实战指南,适合嵌入式开发爱好者学习与实践。

weixin_28285943的博客 238

超越Java:Python正式登顶世界第一编程语言

编程语言流行指数(PYPL)排行榜近日公布了2019年2月份的最新榜单,多年王者Java终于跌落神坛。 在最新一期榜单上,Python的份额高达26.42%,稳居第一,并且猛增5.2%,同时成为增长势头最好的语言。而被挤到第二的Java,目前份额为21.2%,同比下跌1.3个百分点 。 圈内知名网站Stack Overflow的数据显示,其实早在去年6月份,Python的月活用户就已...

future277809183的专栏 852

Blender地形建模实战:5步搞定Gazebo仿真地形(附避坑指南)

本文提供了一份详细的Blender地形建模实战指南,旨在帮助开发者快速创建Gazebo仿真地形。文章通过五个核心步骤,从环境准备、地形雕刻、模型优化导出,到创建Gazebo模型包及问题排错,系统讲解了如何将Blender中的地形模型成功导入Gazebo进行机器人仿真,并重点分享了关键的避坑经验。

weixin_28475533的博客 345

编程语言风云榜:Python 登顶,C++ 稳居高位,为何值得学

Python 和 C++ 之所以能位居编程语言排行榜前列,是因为它们各自在不同的领域发挥着不可替代的价值。Python以其易用性、高开发效率和丰富的生态,成为数据科学、AI、Web 和自动化领域的首选,是快速迭代和跨领域开发的利器。C++则凭借其极致性能、底层控制和构建复杂系统的能力,在游戏、操作系统、高性能计算和嵌入式等领域占据核心地位,是追求性能和稳定性的基石。它们并非竞争关系,而是互补关系。

2301_78977377的博客 2472

YOLOv11的QAT(训练感知量化)实战

本文总结了YOLO模型量化感知训练(QAT)的实践要点:QAT通过模拟量化噪声训练模型,比训练后量化(PTQ)更适合密集预测任务。关键实现包括:1)配置对称/非对称量化器;2)排除检测头量化;3)调整学习率策略并添加量化正则;4)选择困难样本校准;5)转换前稳定BN统计量。调试时需检查量化范围、数值分布和逐层突变,并注意SPP等敏感层。建议小模型使用QAT,大模型可能适得其反,且TensorRT的FP16模式可能优于INT8-QAT。量化应以功能正确为前提,避免过度优化。

as1225120794的博客 510

Centos 7 Linux 安装单机 Hadoop(HDFS):下载、安装、配置、测试

本文详细介绍了在 CentOS 7 系统上安装与配置单机 Hadoop(HDFS)的完整流程,涵盖 JDK 环境准备、Hadoop 安装包下载与部署、核心配置文件(core-site.xml、hdfs-site.xml 等)修改、SSH 免密登录设置、HDFS 格式化及服务启动,并通过命令行与 Web 界面验证 HDFS 和 YARN 功能,适合 Hadoop 初学者快速搭建本地测试环境。

寒水馨 · 轻量级技术文档 · hanshuixin.org 3239

Python 第六次夺冠,成为 TIOBE 2024 年度编程语言!

整理 | 郑丽媛出品 | 优快云(ID:优快云news)在上个月的编程语言榜单中,TIOBE 官方曾做出预测:Python 极有可能凭借近 10% 的年增长率,斩获“2024 年 TIOBE 年度编程语言”的桂冠——本周,TIOBE 年度编程语言终于揭榜:Python 以绝对的优势再次登顶,第六次摘下这一殊荣!Python 再度摘得“2024 年度编程语言”称号!所谓 TIOBE 年度编程语言...

优快云资讯 1万+

YOLOv8有效涨点,增强型 YOLOV8 与多尺度注意力机制特征融合,附代码,详细步骤

在本实验中,我们通过将双层路由注意(BRA)、广义特征金字塔网络(GFPN)和第四检测头结合到YOLOv8中,开发了一种新颖的BGF-YOLO架构。BGF-YOLO 包含注意力机制,可以更多地关注重要特征,特征金字塔网络可以通过将高级语义特征与空间细节合并来丰富特征表示。此外,我们研究了不同的注意力机制和特征融合、检测头架构对检测准确性的影响。实验结果表明,与YOLOv8x相比,BGF-YOLO的mAP50增加了4.7%。

kay_545 3048

Java 跌落神坛!Python 正式登顶世界第一编程语言

编程语言流行指数(PYPL)排行榜近日公布了2019年2月份榜单。在最新一期榜单上,Python的份额高达26.42%,稳居第一,并且猛增5.2%,同时成...

xcbeyond|疯狂源自梦想,技术成就辉煌 446

配置 SAP Web Dispatcher 的实战指南:打通 SAP Fiori、SAP Gateway 与前端系统的关键一跳

SAP Web Dispatcher 在 Fiori 架构中扮演关键角色,作为统一入口处理 HTTPS 请求、实现安全代理和流量分发。它将分散在不同系统的访问路径统一收口,解决浏览器同源策略限制,集中管理 HTTPS 终止和客户端信息传递。典型配置中,Web Dispatcher 监听 443 端口,根据路径将 OData 请求转发至 Gateway 系统,静态资源请求送至前端服务器。SSL 相关配置(如 PSE 文件)确保安全通信,而路由规则(wdisp/system_xx)决定请求转发目标。实施时需注意

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 105

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Python 的未来:在多元变革中持续领跑

Python 的未来,在于它既是 “技术精英的手术刀”,也是 “全民开发者的画笔”。在数据科学与 AI 持续爆发的时代,它以生态优势垄断核心场景;在物联网、边缘计算等新兴领域,它以灵活性抢占先机;在教育与科研领域,它以易用性培育未来开发者。当 GitHub 显示 Python 成为全球最受欢迎的语言,当全球 57% 的 AI 项目基于 Python 构建,这些数据不仅是对过去的总结,更是对未来的预言:只要技术世界仍需要 “连接、高效、创新”,Python 就会在变革中持续领跑。

2501_90200491的博客 1144

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

python世界第一语言_Java 跌落神坛!Python 正式登顶世界第一编程语言

原标题:Java 跌落神坛!Python 正式登顶世界第一编程语言编程语言流行指数(PYPL)排行榜近日公布了2019年2月份榜单。在最新一期榜单上, Python的份额高达26.42%,稳居第一,并且猛增5.2%,同时成为增长势头最好的语言。而被挤到第二的Java,目前份额为21.2%,同比下跌1.3个百分点 。 圈内知名网站Stack Overflow的数据显示,其实早在去年6月份,Pytho...

weixin_39748183的博客 119

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

python去年软件排行_Python登顶最新年度编程语言排行榜 榜尾垫底者仅得0分

值得注意的是后十名当中,Forth 以 0 分的成绩排全榜最后一名。资料显示,Forth 语言是 60 年代发明而出的嵌入式语言当中的古董,由斯坦福线性加速器中心的工程技术人员开发而出,在今天极为小众。18、17年TOP10对比2018 Top 10编程语言2017 Top 10编程语言2018年,Python强势霸榜第一名!去年,Python虽然也名列榜首,但得分仅比排名第二的C语言高出一点点,...

weixin_39752800的博客 177

Python在嵌入式开发中的应用与趋势分析

编程语言作为软件开发的基石,其设计哲学直接影响开发效率与应用广度。Python以其简洁语法和动态类型特性,显著降低了编程入门门槛,同时通过丰富的标准库和第三方生态提升了代码复用率。这种技术优势在工程实践中转化为快速原型开发能力,特别适用于数据处理、自动化脚本和Web服务等场景。随着物联网和边缘计算的发展,Python在嵌入式Linux系统和资源丰富的应用层展现出独特价值,例如通过pyserial实现硬件通信自动化,利用pandas进行传感器数据可视化分析。本文结合Stack Overflow访问数据,探讨P

weixin_34046298的博客 293

HybridNets 实测:目标检测召回率 92.8%,为什么它能登顶 BDD100K 排行榜?

HybridNets 是一款来自 FPT 大学的端到端多任务感知网络(End-to-End Perception Network),一个模型同时完成**目标检测、可行驶区域分割与车道线检测**三大自动驾驶感知任务。在 BDD100K 数据集上,HybridNets 目标检测召回率高达 **92.8%**、mAP@0.5 达 77.3%,成功登顶目标检测与车道线检测排行榜。本文将结合实测数据与源码,

gitblog_00366的博客 230
上一篇: 20 个最频繁使用的 Python 代码片段
下一篇: 两个好用到爆的 Python 模块,建议收藏!
Python_P叔
博客等级 码龄3年 5454粉丝 827原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值