Por que Python é o idioma preferido para o pi

9

Por que o python é percebido como o idioma preferido para controlar e manipular o Raspberry Pi?

Por que a linguagem Python é escolhida em detrimento de outras linguagens de programação como PERL etc. (incluídas em distribuições como Raspbian)?

A pergunta não é inclinada a nenhum deles, mas apenas tentando encontrar méritos um sobre o outro em relação ao raspberry pi.

Chetan Bhargava
fonte
5
No site raspberrypi.org: "A Raspberry Pi Foundation recomenda o Python como idioma para os alunos. Porém, qualquer idioma que seja compilado para o ARMv6 pode ser usado com o Raspberry Pi; portanto, você não está limitado ao uso de Python. C, C ++, Java , Scratch e Ruby, todos vêm instalados por padrão no Raspberry Pi ". Portanto, eles apenas o recomendam praticamente sem motivo algum. Eles meio que parecem ter perdido o PERL nessa lista, mas, novamente, provavelmente é verdade que o Python é mais fácil de capturar do que o PERL.
Ghanima
3
É totalmente sem sentido. Acredito que tudo isso tem a ver com uma frase casual no site (citada acima). Porque python é fácil e popular no Linux geralmente é tudo, mas nesse sentido eles poderiam ter dito perl ou ruby. Não faria diferença para nada, em qualquer caso.
goldilocks
3
Nunca usei o Python, mas eu sei que os programadores Linux da velha escola vão para a linguagem. Talvez seja por isso que eles recomendam isso. Não vejo outro motivo. Boa pergunta embora. Espero que isso desmistifique tudo. Além disso, tudo extra que eu preciso de compilação está em C.
Piotr Kula
2
Porque o Python é incrível? ( xkcd.com/353 )
Usuário
2
Eu programa em Python no trabalho, mas (na maioria das vezes tento) usar o Perl em qualquer outro lugar. Por exemplo, escrevi WiringPi :: API e RPi :: WiringPi especificamente para poder usar Perl em meus Pis.
Stevieb

Respostas:

10

Python foi projetado como uma linguagem de ensino.

É muito fácil começar, e o ecossistema Python é muito amigável para iniciantes [2]. Basta ir aos arquivos da lista de tutoriais do Python .

Respostas como essa são extremamente comuns - especialmente para vampiros que não ajudam.

Ainda tenho que encontrar uma comunidade em qualquer lugar quase tão acolhedora e amigável para os recém-chegados. Além disso, há alguns anos, na PyCon, eles distribuíram Raspberry Pi's para todos os participantes, portanto, muitos Pythonistas terão pelo menos um Pi andando por aí, mesmo que esteja executando o XMBC;)

E do ponto de vista específico do Pi, é muito fácil começar a controlar as portas 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 linhas e pronto. Tudo o que é necessário para executar isso é sudo python blink.py- há muito pouco que você precisa entender sobre compilar ou vincular ou qualquer outra coisa. Você quase não precisa entender nada sobre programação.

Além disso, se você pensar no fato de que eles têm duas opções - não recomendam nada ou recomendam algo - uma recomendação mínima de uma linha para Python é provavelmente a melhor que eles poderiam fazer. Qualquer pessoa com uma preferência provavelmente o ignorará e seguirá para o idioma de sua escolha, e qualquer pessoa sem experiência (espero) terá a experiência menos frustrante possível [3].


[2]: Acho que Ruby também é muito amigável com os recém-chegados.

[3]: Mesmo a diferença entre Python 2 e 3 não é tão dolorosa quanto o que ouvi alguns dos problemas entre as versões do Ruby.

Wayne Werner
fonte
11
A desvantagem de usar python com gpio é que você não pode realmente conduzir as coisas através de interrupções.
Καrτhικ
@ Καrτhικ parece que isso não é mais verdade #
Wayne Werner
4

Como Ghanima mencionou nos comentários:

No site raspberrypi.org: "A Raspberry Pi Foundation recomenda o Python como idioma para os alunos. Porém, qualquer idioma que seja compilado para o ARMv6 pode ser usado com o Raspberry Pi; portanto, você não está limitado ao uso de Python. C, C ++, Java , Scratch e Ruby são todos instalados por padrão no Raspberry Pi. " Portanto, eles apenas o recomendam praticamente sem motivo algum. Eles meio que parecem ter perdido o PERL nessa lista, mas, novamente, provavelmente é verdade que o Python é mais fácil de capturar do que o PERL

A resposta parece ser que eles selecionaram arbitrariamente o Python, sendo mais novos e populares em relação a outras linguagens semelhantes.

Chetan Bhargava
fonte
2

Bem, existem outros sistemas operacionais disponíveis para o raspberry pi no site da ROM que exigem ou podem permitir melhor uso para outros idiomas, mas a principal razão pela qual o python é preferido para uso no raspberry pi é porque é um laboratório de laboratório. chip onde é mais para uso educacional do que qualquer coisa em que todos sabemos que python é uma linguagem bastante fácil de capturar. Mas, ao dizer que você pode encontrar bibliotecas que ativam funcionalidades e livros sobre como usar outras linguagens no raspberry pi, como c / c ++, por exemplo.

Pária
fonte
1

Suponho que eles queriam uma linguagem convencional que pudesse figurar altamente na carreira de engenheiros de software, linguagens como Java, C, Ada, Python etc. etc.

Idiomas como Algol, Pascal, Perl, PHP, JavaScript, FORTRAN, BASIC, Ruby, Smalltalk etc. etc. são mais específicos.

Se Python é uma escolha sensata ou não é discutível. Foi escolhido.

Minha preocupação é aprender Python de maneira não estruturada, e é assim que a maioria dos usuários de Pi aprenderá. Eu acho que realmente precisa ser apresentado aos alunos de programação como parte de um curso estruturado para que maus hábitos possam ser desencorajados e boas práticas possam ser explicadas.

joan
fonte
O Pi é apenas uma ferramenta e, portanto, não é responsável se alguém está aprendendo a codificar de maneira não estruturada ou não. Existem muitos livros e conteúdo nesta "internet" para ajudar qualquer pessoa disposta a ser ajudada.
Ghanima
2
"Suponho que eles queriam uma linguagem comum que pudesse figurar altamente na carreira de engenheiros de software" certamente está incorreta . Provavelmente ainda existem mais linhas de FORTRAN em uso do que já foram escritas em python, provavelmente há 10 vezes mais pessoas vivendo com PHP do que python, etc. Eles também poderiam ter escolhido algo da lista acima se o motivo fosse "algo que um engenheiro de software possa usar muito".
goldilocks
Concordo totalmente com goldilocks. C # é a minha linguagem principal de fluxo no Pi :) Eu não uso Perl ou Python. PHP apenas porque ainda não existe IIS no Linux.
Piotr Kula #
O SE é principalmente .NET (C #) e executa principalmente o IIS. Eles fizeram isso por motivos pragmáticos - toda a equipe de desenvolvimento original era muito mais proficiente no .NET e no ambiente IIS. Pelo menos é o que dizem em alguns posts que eu li.
Wayne Werner
Aqui no futuro, o javascript não é uma linguagem de nicho. Está em todas as páginas da web, em todas as outras páginas da web.
YetAnotherRandomUser