为什么Python是pi的首选语言


9

为什么python被视为控制和操纵Raspberry Pi的首选语言?

为什么选择Python语言而不是其他其他编程语言(如PERL等)(Raspbian发行版中已包含)?

问题不在于它们中的任何一个,而只是试图在树莓派上找到一个优点。


5
直接来自raspberrypi.org:“ Raspberry Pi基金会推荐Python作为学习者的语言。但是,可以为ARMv6编译的任何语言都可以与Raspberry Pi一起使用;因此,您不仅限于使用Python。C,C ++,Java ,Scratch和Ruby都默认安装在Raspberry Pi上。” 因此,他们几乎完全没有理由推荐它。尽管他们似乎错过了该列表中的PERL,但同样可以肯定的是,Python比PERL更容易上手。
加纳玛

3
这是完全没有意义的。我相信所有与这有关的只是网站上的一句话(上面引用)。因为python很简单,并且在linux上通常很流行,但是从这个意义上讲,他们本来可以说perl或ruby。在任何情况下它都不会有任何区别。
goldilocks

3
从未使用过Python,但我知道它的老派Linux程序员使用goto语言。也许这就是为什么他们建议这么做。我看不到任何其他原因。很好的问题。希望这将使一切变得神秘。除此之外,一切多余的,我需要编译为C.
彼得·库拉

2
因为Python很棒?(xkcd.com/353
用户

2
我在工作时使用Python编程,但是(通常尝试在其他地方使用Perl)。例如,我专门编写了WiringPi :: APIRPi :: WiringPi,因此我可以在Pi上使用Perl。
stevieb

Answers:


10

Python被设计为一种教学语言。

入门非常容易,Python生态系统对初学者非常友好[2]。只是去看看档案Python的导师名单

这样的答复非常普遍-尤其是对于无帮助的吸血鬼。

我还没有在任何地方都能找到对新移民一样友好和友好的社区。加上几年前在PyCon上,他们向所有与会者分发了Raspberry Pi,所以即使是仅运行XMBC的许多Pythonista使用者也至少会有一个Pi出现;)

从Pi特定的角度来看,开始控制GPIO端口非常容易

# blink.py
import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BOARD)
GPIO.setup(7, GPIO.OUT)

while True:
    GPIO.output(7,True)
    time.sleep(0.2)
    GPIO.output(7,False)
    time.sleep(0.2)

9行,您已完成。运行此程序所需的全部是sudo python blink.py-您几乎不需要了解编译或链接或其他任何内容。您几乎不需要了解任何有关编程的知识。

另外,如果您考虑到它们有两个选择的事实-不推荐任何东西,或不推荐任何东西-对于Python的最小单行推荐可能是他们可以做出的最好选择。任何有偏好的人都可能会掩饰自己,并选择他们所选择的语言,而没有经验的人(希望)将拥有最少的挫败感[3]。


[2]:不过,我认为Ruby对新手也很友好

[3]:即使Python 2和3之间的差异也没有我所听到的某些问题出在Ruby版本之间那样痛苦。


1
在gpio中使用python的缺点是您无法真正通过中断来驱动事物。
Καrτhικ

@Καrτhικ看起来不再是真的
Wayne Werner

4

正如加尼玛在评论中提到的那样:

直接来自raspberrypi.org:“ Raspberry Pi基金会推荐Python作为学习者的语言。但是,可以为ARMv6编译的任何语言都可以与Raspberry Pi一起使用;因此,您不仅限于使用Python。C,C ++,Java ,Scratch和Ruby都默认安装在Raspberry Pi上。” 因此,他们几乎完全没有理由推荐它。他们似乎已经错过了该列表中的PERL,但同样可以肯定的是,Python比PERL更容易上手

答案似乎是他们任意选择了Python,它们比其他类似语言更新且流行。


2

嗯,ROM站点上的树莓派还可以使用其他操作系统,这些操作系统需要或可以更好地使用其他语言,但是在树莓派上首选使用python的主要原因是因为它是一个Lab-on-a-芯片,它比任何其他我们都知道python是一种很容易上手的语言都更具有教育意义。但是可以说,您可以找到支持功能的库以及有关如何在树莓派上使用其他语言(例如c / c ++)的书籍。


1

我想他们想要一种主流语言,这种语言可能会在软件工程师的职业中占很高的地位,例如Java,C,Ada,Python等。

像Algol,Pascal,Perl,PHP,JavaScript,FORTRAN,BASIC,Ruby,Smalltalk等之类的语言更为合适。

Python是否是明智的选择尚无定论。已选择。

我关心的是以非结构化的方式学习Python,这是大多数Pi用户将学习的方式。我认为确实需要将其作为结构化课程的一部分介绍给编程学习者,以便可以避免不良习惯并可以解释良好做法。


Pi只是一种工具,因此对于是否有人正在学习以非结构化方式进行编程不承担任何责任。这个“互联网”上有很多书籍和内容,可以帮助任何愿意得到帮助的人。
加纳玛

2
“我猜他们想这可能会在软件工程师的职业生涯高度的身影主流语言”肯定不正确。使用FORTRAN的行可能比使用python编写的要多,使用PHP谋生的人数可能是python的十倍,等等。等等。Stack Exchange本身主要是红宝石,我相信C#。如果原因是“某些软件工程师可能会大量使用”,他们可能也没有从上面的列表中选择任何内容。
goldilocks

完全同意金发姑娘。C#是我在Pi上使用的主流语言:)我根本不使用Perl或Python。PHP只是因为Linux上还没有IIS。
Piotr Kula 2014年

SE主要是.NET(C#),主要运行IIS。他们这样做是出于务实的原因-所有最初的开发团队都精通.NET和IIS环境。至少这就是他们在我读过的一些博客文章中所说的。
韦恩·沃纳

在将来,javascript不是小众语言。在所有其他网页中的所有网页中。
YetAnotherRandomUser17年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.