¿Por qué es Python el idioma preferido para el pi?


9

¿Por qué Python es percibido como el lenguaje preferido para controlar y manipular Raspberry Pi?

¿Por qué se elige el lenguaje Python sobre otros lenguajes de programación como PERL, etc. (que se incluyen con distribuciones como Raspbian)?

La pregunta no se inclina hacia ninguno de ellos, sino solo tratando de encontrar méritos entre sí en relación con la frambuesa pi.


55
Directamente desde raspberrypi.org: "La Fundación Raspberry Pi recomienda Python como lenguaje para los alumnos. Sin embargo, cualquier lenguaje que compile para ARMv6 se puede usar con Raspberry Pi; por lo tanto, no está limitado a usar Python. C, C ++, Java , Scratch y Ruby vienen instalados por defecto en la Raspberry Pi ". Así que lo recomiendan prácticamente sin ningún motivo. Sin embargo, parecen haber perdido PERL en esa lista, pero es probable que Python sea más fácil de aprender que PERL.
Ghanima

3
Es totalmente sin sentido. Creo que todo esto tiene que ver con una frase casual en el sitio web (citado anteriormente). Debido a que Python es fácil y popular en Linux, generalmente es todo, pero en ese sentido podrían haber dicho Perl o Ruby. No haría ninguna diferencia a nada en ningún caso.
Ricitos de oro

3
Nunca usé Python, pero sé que sus programadores Linux de la vieja escuela pasan al lenguaje. Tal vez por eso lo recomiendan. No puedo ver ninguna otra razón. Buena pregunta sin embargo. Esperemos que esto lo desmitifique todo. Además, todo lo adicional que necesito compilar está en C.
Piotr Kula

2
¿Porque Python es asombroso? ( xkcd.com/353 )
Usuario

2
Programa en Python en el trabajo, pero (en su mayoría intento) usar Perl en cualquier otro lugar. Por ejemplo, escribí WiringPi :: API y RPi :: WiringPi específicamente para poder usar Perl en mi Pis.
stevieb

Respuestas:


10

Python fue diseñado como un lenguaje de enseñanza.

Es muy fácil comenzar, y el ecosistema de Python es muy amigable para los principiantes [2]. Solo ve a ver los archivos de la lista de Python Tutor .

Respuestas como esta son extremadamente comunes, especialmente para los vampiros que no ayudan.

Todavía tengo que encontrar una comunidad en cualquier lugar tan acogedora y amigable para los recién llegados. Además, hace unos años, en PyCon, entregaron Raspberry Pi a todos los asistentes, por lo que muchos Pythonistas al menos tendrán un Pi pateando, incluso si solo está ejecutando XMBC;)

Y desde un punto de vista específico de Pi, es muy fácil comenzar a controlar los puertos 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 líneas y listo. Todo lo que se necesita para ejecutar esto es sudo python blink.py: hay muy poco que tenga que entender sobre compilar o vincular o cualquier otra cosa. Apenas necesitas entender algo sobre programación.

Además, si piensa en el hecho de que tienen dos opciones: no recomendar nada o recomendar algo, una recomendación mínima de una línea para Python es probablemente la mejor que podrían hacer. Cualquier persona con preferencia probablemente pasará por alto e irá a su idioma de elección, y cualquier persona sin experiencia (con suerte) tendrá la experiencia menos frustrante posible [3].


[2]: Sin embargo, creo que Ruby también es bastante amigable con los recién llegados

[3]: Incluso la diferencia entre Python 2 y 3 no es tan dolorosa como lo que he escuchado, algunos de los problemas son entre las versiones de Ruby.


1
La desventaja de usar python con gpio es que realmente no se pueden manejar cosas a través de interrupciones.
Καrτhικ

@ Καrτhικ parece que eso ya no es verdad
Wayne Werner

4

Como Ghanima mencionó en los comentarios:

Directamente desde raspberrypi.org: "La Fundación Raspberry Pi recomienda Python como lenguaje para los alumnos. Sin embargo, cualquier lenguaje que compile para ARMv6 se puede usar con Raspberry Pi; por lo tanto, no está limitado a usar Python. C, C ++, Java , Scratch y Ruby vienen instalados por defecto en la Raspberry Pi ". Así que lo recomiendan prácticamente sin ningún motivo. Sin embargo, parecen haber perdido PERL en esa lista, pero es probable que Python sea más fácil de aprender que PERL.

La respuesta parece ser que seleccionaron arbitrariamente Python, siendo más nuevos y populares sobre otros lenguajes similares.


2

Bueno, hay otros sistemas operativos disponibles para el Raspberry Pi en el sitio ROM que requieren o pueden permitir un mejor uso para otros idiomas, pero la razón principal por la que se prefiere el uso de Python en el Raspberry Pi es porque es un laboratorio en un chip donde es más para uso educativo que cualquier cosa donde todos sabemos que python es un lenguaje bastante fácil de aprender. Pero al decir que puede encontrar bibliotecas que permiten la funcionalidad y libros sobre cómo usar otros idiomas en la frambuesa pi como c / c ++, por ejemplo.


1

Supongo que querían un lenguaje convencional que pudiera figurar altamente en la carrera de ingenieros de software, lenguajes como Java, C, Ada, Python, etc.

Lenguajes como Algol, Pascal, Perl, PHP, JavaScript, FORTRAN, BASIC, Ruby, Smalltalk, etc. son más específicos.

Si Python es una opción sensata o no es discutible. Ha sido elegido.

Mi preocupación es aprender Python de una manera no estructurada, que es como aprenderán la mayoría de los usuarios de Pi. Creo que realmente es necesario presentarlo a los alumnos de programación como parte de un curso estructurado para que los malos hábitos se puedan desalentar y se puedan explicar las buenas prácticas.


El Pi es solo una herramienta y, por lo tanto, no es responsable de si alguien está aprendiendo a codificar de manera no estructurada o no. Hay muchos libros y contenido en este "internet" para ayudar a cualquiera que esté dispuesto a recibir ayuda.
Ghanima

2
"Supongo que querían un lenguaje convencional que pudiera figurar altamente en una carrera de ingenieros de software" es ciertamente incorrecto . Probablemente todavía hay más líneas de FORTRAN en uso que las que se han escrito en Python, probablemente hay 10 veces más personas que viven de PHP que Python, etc. etc. Stack Exchange en sí es principalmente rubí y creo que C #. También podrían haber escogido algo de cualquiera de las listas anteriores si la razón era "algo que un ingeniero de software podría utilizar".
Ricitos de oro

Totalmente de acuerdo con Ricitos de Oro. C # es mi lenguaje principal de transmisión en Pi :) No uso Perl o Python en absoluto. PHP solo porque todavía no hay IIS en Linux.
Piotr Kula

SE es principalmente .NET (C #) y ejecuta principalmente IIS. Lo hicieron por razones pragmáticas: todo el equipo de desarrollo original era mucho más competente en .NET y el entorno IIS. Al menos eso es lo que dicen en algunas publicaciones de blog que he leído.
Wayne Werner

Aquí en el futuro, JavaScript no es un lenguaje de nicho. Está en todas las páginas web, desde todas las demás páginas web.
YetAnotherRandomUser
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.