Warum ist Python die bevorzugte Sprache für das Pi?

9

Warum wird Python als bevorzugte Sprache zur Steuerung und Manipulation von Raspberry Pi angesehen?

Warum wird die Python-Sprache gegenüber anderen Programmiersprachen wie PERL usw. ausgewählt (die in Distributionen wie Raspbian enthalten sind)?

Die Frage neigt nicht zu einem von ihnen, sondern versucht nur, Verdienste in Bezug auf Himbeer-Pi übereinander zu finden.

Chetan Bhargava
quelle
5
Direkt von raspberrypi.org: "Die Raspberry Pi Foundation empfiehlt Python als Sprache für Lernende. Jede Sprache, die für ARMv6 kompiliert wird, kann jedoch mit dem Raspberry Pi verwendet werden. Sie sind also nicht auf die Verwendung von Python beschränkt. C, C ++, Java , Scratch und Ruby werden standardmäßig auf dem Raspberry Pi installiert. " Sie empfehlen es also praktisch ohne Grund. Sie scheinen PERL auf dieser Liste irgendwie verpasst zu haben, aber andererseits ist es wahrscheinlich wahr, dass Python leichter zu erlernen ist als PERL.
Ghanima
3
Es ist völlig bedeutungslos. Ich glaube, das alles hat mit einem beiläufigen Satz auf der Website zu tun (siehe oben). Da Python einfach und beliebt auf Linux ist in der Regel alles, aber in diesem Sinne sie könnte gesagt haben, Perl oder Ruby hat. Es würde auf keinen Fall einen Unterschied machen.
Goldlöckchen
3
Ich habe Python nie benutzt, aber ich kenne die Linux-Programmierer der alten Schule, die zur Sprache wechseln. Vielleicht empfehlen sie das deshalb. Ich kann keinen anderen Grund sehen. Gute Frage. Hoffentlich wird dies alles entmystifizieren. Außerdem ist alles, was ich zum Kompilieren brauche, in C.
Piotr Kula
2
Weil Python großartig ist? ( xkcd.com/353 )
Benutzer
2
Ich programmiere in Python bei der Arbeit, benutze aber (meistens) Perl überall anders. Zum Beispiel habe ich WiringPi :: API und RPi :: WiringPi speziell geschrieben, damit ich Perl auf meinem Pis verwenden kann.
Stevieb

Antworten:

10

Python wurde als Unterrichtssprache entwickelt.

Der Einstieg ist sehr einfach und das Python-Ökosystem ist für Anfänger sehr freundlich [2]. Schauen Sie sich einfach die Archive für die Python Tutor-Liste an .

Antworten wie diese sind äußerst häufig - insbesondere für Nicht-Hilfe-Vampire.

Ich habe noch keine Community gefunden, die fast so freundlich und freundlich zu Neuankömmlingen ist. Außerdem haben sie vor ein paar Jahren bei PyCon Raspberry Pi's an alle Teilnehmer verteilt, so dass viele Pythonisten zumindest einen Pi haben werden, selbst wenn nur XMBC ausgeführt wird;)

Und aus Pi-spezifischer Sicht ist es sehr, sehr einfach, die GPIO-Ports zu steuern

# 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 Zeilen und du bist fertig. Alles was es braucht, um dies auszuführen, ist sudo python blink.py- es gibt sehr wenig, was Sie über das Kompilieren oder Verknüpfen oder irgendetwas anderes verstehen müssen. Sie müssen kaum etwas über Programmierung verstehen.

Wenn Sie darüber nachdenken, dass sie zwei Optionen haben - nichts empfehlen oder etwas empfehlen -, ist eine minimale einzeilige Empfehlung für Python wahrscheinlich die beste, die sie machen können. Jeder, der eine Präferenz hat, wird sie wahrscheinlich beschönigen und in die Sprache seiner Wahl gehen, und jeder ohne Erfahrung wird (hoffentlich) die am wenigsten frustrierende Erfahrung machen, die möglich ist [3].


[2]: Ich denke, Ruby ist auch ziemlich freundlich zu Neulingen

[3]: Selbst der Unterschied zwischen Python 2 und 3 ist nicht so schmerzhaft wie das, was ich gehört habe. Einige der Probleme liegen zwischen Ruby-Versionen.

Wayne Werner
quelle
1
Der Nachteil der Verwendung von Python mit GPIO ist, dass Sie Dinge nicht wirklich über Interrupts steuern können.
Καrτhικ
@ Καrτhικ sieht so aus, als ob das nicht mehr stimmt
Wayne Werner
4

Wie Ghanima in den Kommentaren erwähnte:

Direkt von raspberrypi.org: "Die Raspberry Pi Foundation empfiehlt Python als Sprache für Lernende. Jede Sprache, die für ARMv6 kompiliert wird, kann jedoch mit dem Raspberry Pi verwendet werden. Sie sind also nicht auf die Verwendung von Python beschränkt. C, C ++, Java , Scratch und Ruby werden standardmäßig auf dem Raspberry Pi installiert. " Sie empfehlen es also praktisch ohne Grund. Sie scheinen PERL auf dieser Liste irgendwie verpasst zu haben, aber andererseits ist es wahrscheinlich wahr, dass Python leichter zu erlernen ist als PERL

Die Antwort scheint zu sein, dass sie willkürlich Python ausgewählt haben und neuer und beliebter gegenüber anderen ähnlichen Sprachen sind.

Chetan Bhargava
quelle
2

Nun, es gibt andere Betriebssysteme für den Himbeer-Pi auf der ROM-Site, die eine bessere Verwendung für andere Sprachen erfordern oder ermöglichen können, aber der Hauptgrund, warum Python für die Verwendung auf dem Himbeer-Pi bevorzugt wird, ist, dass es sich um ein Labor handelt Chip, wo es mehr für Bildungszwecke ist als alles, wo wir alle wissen, dass Python eine ziemlich einfach zu erlernende Sprache ist. Wenn Sie jedoch sagen, dass Sie Bibliotheken finden können, die Funktionen und Bücher zur Verwendung anderer Sprachen auf dem Himbeer-Pi ermöglichen, wie z. B. c / c ++.

Paria
quelle
1

Ich nehme an, sie wollten eine Mainstream-Sprache, die in der Karriere eines Software-Ingenieurs eine große Rolle spielen könnte, Sprachen wie Java, C, Ada, Python usw. usw.

Sprachen wie Algol, Pascal, Perl, PHP, JavaScript, FORTRAN, BASIC, Ruby, Smalltalk usw. usw. sind eher Nischen.

Ob Python eine vernünftige Wahl ist oder nicht, ist umstritten. Es wurde gewählt.

Mein Anliegen ist es, Python unstrukturiert zu lernen, so werden die meisten Pi-Benutzer lernen. Ich denke, es muss Programmierlernenden wirklich als Teil eines strukturierten Kurses vorgestellt werden, damit schlechte Gewohnheiten entmutigt und gute Praktiken erklärt werden können.

joan
quelle
Der Pi ist nur ein Werkzeug und daher nicht dafür verantwortlich, ob jemand unstrukturiert das Codieren lernt oder nicht. Es gibt viele Bücher und Inhalte in diesem "Internet", um jedem zu helfen, der bereit ist, geholfen zu werden.
Ghanima
2
"Ich nehme an, sie wollten eine Mainstream-Sprache, die in der Karriere eines Software-Ingenieurs eine hohe Rolle spielen könnte", ist sicherlich falsch . Es werden wahrscheinlich noch mehr FORTRAN-Zeilen verwendet als jemals zuvor in Python geschrieben, es gibt wahrscheinlich zehnmal so viele Menschen, die mit PHP ihren Lebensunterhalt verdienen als mit Python usw. usw. Stack Exchange selbst ist hauptsächlich rubinrot und ich glaube, C #. Sie hätten genauso gut irgendetwas von jeder der obigen Listen auswählen können, wenn der Grund "etwas war, das ein Softwareentwickler in hohem Maße verwenden könnte".
Goldlöckchen
Stimme Goldlöckchen voll und ganz zu. C # ist meine Hauptsprache auf dem Pi :) Ich benutze überhaupt kein Perl oder Python. PHP, nur weil es unter Linux noch kein IIS gibt.
Piotr Kula
SE ist hauptsächlich .NET (C #) und führt hauptsächlich IIS aus. Sie taten dies aus pragmatischen Gründen - das gesamte ursprüngliche Entwicklerteam beherrschte .NET und die IIS-Umgebung viel besser. Zumindest sagen sie das in einigen Blog-Posts, die ich gelesen habe.
Wayne Werner
Hier ist Javascript in Zukunft keine Nischensprache. Es ist in allen Webseiten, von allen anderen Webseiten.
YetAnotherRandomUser