天涯论坛

 找回密码
 立即注册
搜索
查看: 67|回复: 6

Python到底属不属于嵌入式语言?

[复制链接]

3061

主题

3万

回帖

9913万

积分

论坛元老

Rank: 8Rank: 8

积分
99139052
发表于 2024-8-17 13:22:16 | 显示全部楼层 |阅读模式

写在前面:

几十年来,大众广泛的认为C与C++才是标准的嵌入式语言,那样此刻大火的Python算是一种嵌入式语言吗?

在给出我的答案之前咱们要先知道几个问题?

什么是Python?

编程语言的定义?

编程语言(英语:programming language),是用来定义计算机程序的形式语言。它是一种被标准化的交流技巧,用来向计算机发出指令,一种能够让程序员准确地定义计算机所必须运用数据的计算机语言,并精确地定义在区别状况下所应当采取的行动。

最早的编程语言是在电脑发明之前产生的,当时是用来掌控提花织布机及自动演奏钢琴的动作。在电脑行业已发明了上千区别的编程语言,况且每年仍有新的编程语言诞生。非常多编程语言需要用指令方式说明计算的程序,而有些编程语言则属于宣告式编程,说明必须的结果,而不说明怎样计算。

编程语言的归类

编程语言重点分为编译型和解释型,静态语言和动态语言,强类型和弱类型,混合语言等。

编译型语言

经过编译器把源代码编译(compile)成设备语言,在经过链接(linker)将源代码中所运用的库串联起来生成可执行二进制文件,这般运行时计算机能够直接以设备语言来运行程序。

优点:

运行效率高。

缺点:

编译之后倘若必须修改代码必须重新编译全部模块。

编译的时候按照对应的运行环境生成设备码,区别的操作系统之间移植就会有问题,必须按照运行的操作系统环境编译区别的可执行文件

表率语言:C,C++,Objective-C等。

解释型语言

必须编译,仅在程序运行时才逐条翻译成设备语言。这种编程语言必须利用解释器,在运行期,动态将代码逐句解释为设备代码,或是已然预先编译为设备代码的子程序,之后再运行。优点:

跨平台支持比较好,

缺点:

程序运行效率会比较慢。

如:python,php,Perl等。

Python

Python是一种广泛运用的解释型、高级和通用的编程语言。

Python支持多种编程范型,包含函数式、指令式、反射式、结构化和面向对象编程。

持有动态类型系统和垃圾回收功能,能够自动管理内存运用,并且其本身持有一个巨大而广泛的标准库。它的语言结构以及面向对象的办法旨在帮忙程序员为小型的和大型的项目编写清晰的、合乎规律的代码。

Python研发者的哲学是“用一种办法,最好是仅有一种办法来做一件事”。

Python优缺点

优点:

1、python的定位是“优雅”、“知道”、“简单”,因此python程序看上去总是简单易懂针对初学者容易入门。2、研发效率高,python有非常强大的第三方库,基本上你想经过计算机实现任何功能,python官方库里都有相应的模块进行支持,直接下载调用后,在基本库的基本上进行研发,大大降低研发周期,避免重复造轮子。3、高级语言,当运用python语言编写程序时,无需思虑怎样管理内存等底层细节。4、可移植性因为它开源的本质,python已然被移植在许多平台上,倘若你小心的避免运用依赖于系统特性,那样你的所有python程序无需修改就几乎能够在市场上所有的系统平台运行。5、可扩展性倘若必须你的一段关键代码运行得更快期盼某些算法不公开,能够把部份程序用C或C++编写库,而后用python调用。

缺点:

1、速度慢因为是解释型因此运行速度相比编译型语言要慢,跟Java相比要慢一些。2、代码不可加密由于python是解释型语言,它的源码都是以明文形式存放的,因此倘若项目需求源代码必要保密加密,那一起始不该思虑用python来实现。3、强制缩进,单行语句不消写分号针对习惯了C/C++用户可能不是太习惯。

小结

从上面的信息能够看出,Python与标准的C/C++还是有很大的区别的,这些区别乃至从该语言的设计之初就决定了。

咱们仅从前后两者区别就能简单的得出结论吗?显然不合适,因此咱们必须晓得什么是嵌入式语言?

什么是嵌入式语言?

什么是嵌入式?

嵌入式,英语是 embedded,暗示“嵌入式的,移植的,内含的”。

首要,嵌入式有不少组合名词,例如嵌入式系统,嵌入式软件,Linux 嵌入式,Android 嵌入式,嵌入式 Web,等等。

IEEE电气工程师学会:

嵌入式系统是掌控监测或辅助设备和设备运行的安装

这儿能够看出,老外们是尤其看重应用的,一切讲究实质,不抽象,直接便是硬刚。

再来瞧瞧咱们国家的:

嵌入式系统指的是以应用为中心,以计算机技术为基本,软、硬件可剪裁,适应应用系统对功能、靠谱性、成本、体积和功耗严格需求的专用计算机系统。

讲究的便是一个面面俱到。

因此,按我的理解,嵌入式便是小电脑长时间运行执行特定功能低功耗、高靠谱、小体积可定制,软硬件都是

嵌入式语言有那些需求

针对嵌入式语言来讲最重要的一点便是面向硬件编程。这个面向硬件有两层含义:第1是说必须认识硬件特性,而后经过编程来拜访硬件。

例如经过读写寄存器完成对外设的掌控,简单如GPIO,繁杂有些像Ethernet掌控器,除了认识硬件的操作规律必须认识引脚、电平、IO复用、、硬件缓存、DMA这些概念。

第二是说硬件资源带来的限制。

这是因为嵌入式制品一般针对详细系统,触及的技术约束大概有计算能力,IO接口,内存,体积,功耗,等方面的约束,在这些约束下进行技术选型和系统设计,非常多时候硬件选单片机,ARM,PowerPC,软件运用裸机,RTOS或经过裁剪的linux是比较合适的选取便是合适,咱们能够用牛刀杀鸡,然则不必

第二个重要的需求便是足够的效率。

不可由于语言本身占太多资源,这个时候必须虚拟机或解释器的语言就不太合适,而C/C++经过指针(位置拜访硬件的操作最自然不外能够做到较少的资源消耗。

小结

从传统的嵌入式语言的定义来看,Python似乎从各个方面都算不上一个标准的嵌入式语言。

Python属于嵌入式语言吗?

经过上文的有些关于定义方面的解释,似乎,Python很难叫作得上一门标准的嵌入式语言。

但有一点大众不要忘记,咱们学的这些编程语言,最后仅有一个目的,那便是应用。近些年,随着Python越来越多的被应用于嵌入式和边缘系统,IEEE(电气电子工程师学会)早已然Python归为嵌入式语言了。(网址:IEEE)

这不仅表率了树莓派所带来的影响,还显示了连接到云端的边缘系统需具备智能的事实。

我这几天在学习一个特别有趣的嵌入式AI的框架PYNQ。PYNQ是Python On Zynq的缩写,它是一个软件研发框架,指点硬件层、驱动层和应用层之间的接口设计。

底层硬件用的是FPGA,驱动内核运用的是Linux,上层有些智能算法(例如语音识别,人脸识别等)靠的是Python提供API接口。(感兴趣的朋友能够去这个网址:PYNQ)

文案来自

https://www.cnblogs.com/iron2222/p/16483518.html




上一篇:供排水自控仪表工证书最高几级啊 供排水自控仪表工证有什么用途
下一篇:0基本学Python之:什么是编程语言,什么是Python解释器
回复

使用道具 举报

1

主题

754

回帖

-3

积分

限制会员

积分
-3
发表于 2024-8-29 11:30:05 | 显示全部楼层
楼主节操掉了,还不快捡起来!
回复

使用道具 举报

0

主题

48

回帖

1

积分

新手上路

Rank: 1

积分
1
发表于 2024-9-8 09:15:43 | 显示全部楼层
软文发布论坛开幕式圆满成功。 http://www.fok120.com
回复

使用道具 举报

3048

主题

2万

回帖

9910万

积分

论坛元老

Rank: 8Rank: 8

积分
99109040
发表于 2024-9-29 21:33:57 | 显示全部楼层
“BS”(鄙视的缩写)‌
回复

使用道具 举报

3089

主题

2万

回帖

9909万

积分

论坛元老

Rank: 8Rank: 8

积分
99098770
发表于 2024-10-24 19:06:25 | 显示全部楼层
在遇到你之前,我对人世间是否有真正的圣人是怀疑的。
回复

使用道具 举报

3048

主题

2万

回帖

9910万

积分

论坛元老

Rank: 8Rank: 8

积分
99109040
发表于 2024-10-26 19:49:13 | 显示全部楼层
谢谢、感谢、感恩、辛苦了、有你真好等。
回复

使用道具 举报

3047

主题

3万

回帖

9606万

积分

论坛元老

Rank: 8Rank: 8

积分
96065852
发表于 2024-11-6 18:25:19 | 显示全部楼层
论坛外链网  http://www.fok120.com/
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站点统计|Archiver|手机版|小黑屋|天涯论坛 ( 非经营性网站 )|网站地图

GMT+8, 2024-11-22 23:16 , Processed in 0.151070 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.