Perché Python è la lingua preferita per il pi


9

Perché python è percepito come la lingua preferita per controllare e manipolare Raspberry Pi?

Perché il linguaggio Python viene scelto rispetto ad altri linguaggi di programmazione come PERL, ecc. (Inclusi in distribuzioni come Raspbian)?

La domanda non è propensa nei confronti di nessuno di essi, ma sta solo cercando di trovare meriti l'uno sull'altro in relazione al lampone pi.


5
Direttamente da raspberrypi.org: "La Raspberry Pi Foundation raccomanda Python come lingua per gli studenti. Qualsiasi lingua che verrà compilata per ARMv6, tuttavia, può essere utilizzata con Raspberry Pi; quindi non si è limitati all'utilizzo di Python. C, C ++, Java , Scratch e Ruby vengono tutti installati per impostazione predefinita sul Raspberry Pi. " Quindi lo raccomandano praticamente per nessun motivo. Sembra che abbiano perso PERL in quella lista, ma poi è probabilmente vero che Python è più facile da raccogliere rispetto a PERL.
Ghanima

3
È totalmente insignificante. Credo che tutto ciò abbia a che fare con una frase casuale sul sito web (citata sopra). Perché python è facile e popolare su Linux generalmente lo è, ma in tal senso avrebbero potuto dire perl o ruby. Non farebbe alcuna differenza per nulla in ogni caso.
riccioli d'oro

3
Non ho mai usato Python, ma conosco i programmatori Linux della vecchia scuola che vanno al linguaggio. Forse è per questo che lo raccomandano. Non riesco a vedere nessun altro motivo. Buona domanda però. Spero che questo demistifichi tutto. Inoltre, tutto ciò che devo compilare è in C.
Piotr Kula il

2
Perché Python è fantastico? ( xkcd.com/353 )
Utente il

2
Programma in Python al lavoro, ma (per lo più provo a) uso Perl ovunque. Ad esempio, ho scritto WiringPi :: API e RPi :: WiringPi in modo specifico per poter usare Perl sul mio Pis.
Stevieb,

Risposte:


10

Python è stato progettato come linguaggio di insegnamento.

Iniziare è molto semplice e l'ecosistema Python è molto amichevole con i principianti [2]. Basta andare a controllare gli archivi per l' elenco Tutor Python .

Le risposte come questa sono estremamente comuni, specialmente per i vampiri che non aiutano.

Devo ancora trovare una comunità ovunque altrettanto accogliente e amichevole con i nuovi arrivati. Inoltre alcuni anni fa al PyCon hanno distribuito Raspberry Pi a tutti i partecipanti, quindi molti Pythonistas avranno almeno un Pi in giro anche se sta solo eseguendo XMBC;)

E da un punto di vista specifico di Pi, è molto facile iniziare a controllare le porte 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 righe e il gioco è fatto. Tutto ciò che serve per eseguire questo è sudo python blink.py- c'è molto poco che devi capire sulla compilazione o il collegamento o qualsiasi altra cosa. Devi appena capire qualcosa sulla programmazione.

Inoltre, se pensi al fatto che hanno due opzioni - non consigliare nulla o consigliare qualcosa - una raccomandazione minima di una riga per Python è probabilmente la migliore che possano fare. Chiunque abbia una preferenza probabilmente la esaminerà e passerà alla loro lingua preferita, e chiunque non abbia esperienza (speriamo) avrà l'esperienza meno frustrante possibile [3].


[2]: Penso che Ruby sia anche abbastanza amichevole con i nuovi arrivati

[3]: Anche la differenza tra Python 2 e 3 non è così dolorosa come quello che ho sentito alcuni dei problemi sono tra le versioni di Ruby.


1
Il rovescio della medaglia dell'uso di python con gpio è che non puoi davvero guidare le cose tramite gli interrupt.
Καrτhικ,

@ Καrτhικ sembra che non sia più vero
Wayne Werner il

4

Come menzionato da Ghanima nei commenti:

Direttamente da raspberrypi.org: "La Raspberry Pi Foundation raccomanda Python come lingua per gli studenti. Qualsiasi lingua che verrà compilata per ARMv6, tuttavia, può essere utilizzata con Raspberry Pi; quindi non si è limitati all'utilizzo di Python. C, C ++, Java , Scratch e Ruby vengono tutti installati per impostazione predefinita sul Raspberry Pi. " Quindi lo raccomandano praticamente per nessun motivo. Sembra che abbiano perso PERL in quella lista, ma poi è probabilmente vero che Python è più facile da raccogliere rispetto a PERL

La risposta sembra essere che hanno scelto arbitrariamente Python, essendo più recenti e popolari rispetto ad altre lingue simili.


2

Bene, ci sono altri sistemi operativi disponibili per Raspberry Pi sul sito ROM che richiedono o possono consentire un uso migliore per altre lingue, ma il motivo principale per cui Python è preferito per l'uso su Raspberry Pi è perché è un lab-on-a- chip dove è più per uso educativo di qualsiasi altra cosa in cui tutti sappiamo che python è un linguaggio abbastanza facile da imparare. Ma dicendo che puoi trovare librerie che abilitano funzionalità e libri su come usare altri linguaggi su raspberry pi come c / c ++ per esempio.


1

Suppongo che volessero un linguaggio tradizionale che potesse figurare molto nella carriera di un ingegnere del software, linguaggi come Java, C, Ada, Python ecc. Ecc.

Lingue come Algol, Pascal, Perl, PHP, JavaScript, FORTRAN, BASIC, Ruby, Smalltalk ecc. Ecc. Sono più di nicchia.

Se Python è una scelta sensata o meno è discutibile. È stato scelto

La mia preoccupazione è imparare Python in modo non strutturato, ed è così che impareranno molti utenti Pi. Penso che debba davvero essere introdotto agli studenti di programmazione come parte di un corso strutturato in modo da scoraggiare le cattive abitudini e spiegare le buone pratiche.


Il Pi è solo uno strumento e quindi non è responsabile se qualcuno sta imparando a programmare in modo non strutturato o meno. Ci sono molti libri e contenuti in questa "Internet" per aiutare chiunque abbia voglia di essere aiutato.
Ghanima

2
"Suppongo che volessero un linguaggio mainstream che potesse figurare molto nella carriera di un ingegnere del software" non è certo corretto . Probabilmente ci sono ancora più righe di FORTRAN in uso di quante ne siano mai state scritte in Python, ci sono probabilmente 10 volte più persone che vivono con PHP rispetto a Python, ecc. Ecc. Stack Exchange stesso è principalmente ruby ​​e credo C #. Avrebbero anche potuto scegliere qualcosa dall'elenco sopra se il motivo fosse "qualcosa che un ingegnere del software potrebbe usare molto".
riccioli d'oro

Totalmente d'accordo con i riccioli d'oro. C # è il mio linguaggio di streaming principale sul Pi :) Non uso affatto Perl o Python. PHP solo perché non esiste ancora IIS su Linux.
Piotr Kula,

SE è principalmente .NET (C #) ed esegue principalmente IIS. Lo hanno fatto per ragioni pragmatiche: tutto il team di sviluppo originale era molto più competente in .NET e nell'ambiente IIS. Almeno questo è quello che dicono in alcuni post sul blog che ho letto.
Wayne Werner,

Qui in futuro, JavaScript non è una lingua di nicchia. È presente in tutte le pagine Web, da tutte le altre pagine Web.
YetAnotherRandomUser
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.