Mengapa Python bahasa pilihan untuk pi

9

Mengapa python dipersepsikan sebagai bahasa yang disukai untuk mengontrol dan memanipulasi Raspberry Pi?

Mengapa bahasa Python dipilih daripada bahasa pemrograman lain seperti PERL, dll. (Yang disertakan dengan distribusi seperti Raspbian)?

Pertanyaan tidak cenderung pada salah satu dari mereka tetapi hanya mencoba untuk menemukan kelebihan satu sama lain dalam kaitannya dengan raspberry pi.

Chetan Bhargava
sumber
5
Kanan dari raspberrypi.org: "Yayasan Raspberry Pi merekomendasikan Python sebagai bahasa untuk pelajar. Bahasa apa pun yang akan dikompilasi untuk ARMv6 dapat digunakan dengan Raspberry Pi, jadi; jadi Anda tidak terbatas menggunakan Python. C, C ++, Java , Scratch, dan Ruby semuanya terinstal secara default di Raspberry Pi. " Jadi mereka hanya merekomendasikannya tanpa alasan sama sekali. Mereka sepertinya telah melewatkan PERL dalam daftar itu, tetapi sekali lagi mungkin benar bahwa Python lebih mudah untuk diambil daripada PERL.
Ghanima
3
Sama sekali tidak ada artinya. Saya percaya semua ini ada hubungannya dengan satu kalimat biasa di situs web (dikutip di atas). Karena python mudah dan populer di linux umumnya adalah segalanya, tetapi dalam pengertian itu mereka bisa saja mengatakan perl atau ruby. Tidak ada bedanya dengan apa pun dalam hal apa pun.
goldilocks
3
Tidak pernah menggunakan Python, tapi saya tahu pemrogram Linux dulu sekolah bahasa goto. Mungkin itu sebabnya mereka merekomendasikan itu. Saya tidak bisa melihat alasan lain. Pertanyaan yang bagus. Semoga ini akan menghilangkan segalanya. Selain itu, semua tambahan yang perlu saya kompilasi ada di C.
Piotr Kula
2
Karena Python mengagumkan? ( xkcd.com/353 )
Pengguna
2
Saya memprogram dalam Python di tempat kerja, tetapi (kebanyakan mencoba) menggunakan Perl di tempat lain. Sebagai contoh, saya menulis WiringPi :: API dan RPi :: WiringPi secara khusus sehingga saya dapat menggunakan Perl pada Pis saya.
stevieb

Jawaban:

10

Python dirancang sebagai bahasa pengajaran.

Sangat mudah untuk memulai, dan ekosistem Python sangat ramah untuk pemula [2]. Cukup periksa arsip untuk daftar Python Tutor .

Balasan seperti ini sangat umum - terutama untuk vampir yang tidak membantu.

Saya belum menemukan komunitas di mana saja yang hampir sama ramah dan bersahabat dengan pendatang baru. Ditambah beberapa tahun yang lalu di PyCon mereka membagikan Raspberry Pi kepada semua yang hadir, begitu banyak Pythonista setidaknya memiliki Pi yang menendang walaupun itu hanya menjalankan XMBC;)

Dan dari sudut pandang Pi-spesifik, sangat mudah untuk mulai mengontrol port 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 baris dan Anda selesai. Yang diperlukan untuk menjalankan ini sudo python blink.py- sangat sedikit yang harus Anda pahami tentang kompilasi atau menautkan atau apa pun. Anda hampir tidak perlu memahami apa pun tentang pemrograman.

Ditambah lagi jika Anda memikirkan fakta bahwa mereka memiliki dua opsi - tidak merekomendasikan apa pun, atau merekomendasikan sesuatu - rekomendasi minimal satu baris untuk Python mungkin adalah yang terbaik yang bisa mereka buat. Siapa pun yang memiliki preferensi mungkin akan mengabaikannya dan pergi ke bahasa pilihan mereka, dan siapa pun yang tidak memiliki pengalaman akan (semoga) memiliki pengalaman yang paling tidak membuat frustrasi [3].


[2]: Padahal, saya pikir Ruby juga cukup ramah untuk pendatang baru

[3]: Bahkan perbedaan antara Python 2 dan 3 tidak menyakitkan seperti yang saya dengar beberapa masalah antara versi Ruby.

Wayne Werner
sumber
1
Kelemahan dari menggunakan python dengan gpio adalah Anda tidak dapat benar-benar menggerakkan sesuatu melalui interupsi.
Καrτhικ
@ Καrτhικ sepertinya itu tidak benar lagi
Wayne Werner
4

Seperti yang disebutkan Ghanima dalam komentar:

Kanan dari raspberrypi.org: "Yayasan Raspberry Pi merekomendasikan Python sebagai bahasa untuk pelajar. Bahasa apa pun yang akan dikompilasi untuk ARMv6 dapat digunakan dengan Raspberry Pi, jadi; jadi Anda tidak terbatas menggunakan Python. C, C ++, Java , Scratch, dan Ruby semuanya terinstal secara default di Raspberry Pi. " Jadi mereka hanya merekomendasikannya tanpa alasan sama sekali. Mereka sepertinya telah melewatkan PERL dalam daftar itu, tetapi sekali lagi mungkin benar bahwa Python lebih mudah untuk diambil daripada PERL

Jawabannya tampaknya bahwa mereka sewenang-wenang memilih Python, menjadi lebih baru dan populer daripada bahasa lain yang serupa.

Chetan Bhargava
sumber
2

Yah ada OS lain yang tersedia untuk pi raspberry di situs ROM yang memerlukan atau memungkinkan penggunaan yang lebih baik untuk bahasa lain, tetapi alasan utama mengapa python lebih disukai untuk digunakan pada raspberry pi adalah karena itu adalah lab-on-a- chip mana yang lebih untuk penggunaan pendidikan daripada apa pun di mana kita semua tahu python adalah bahasa yang cukup mudah untuk diambil. Tetapi dengan mengatakan bahwa Anda dapat menemukan perpustakaan yang memungkinkan fungsionalitas dan buku tentang cara menggunakan bahasa lain di pi raspberry seperti c / c ++ misalnya.

Paria
sumber
1

Saya kira mereka menginginkan bahasa utama yang mungkin sangat berperan dalam karir insinyur perangkat lunak, bahasa seperti Java, C, Ada, Python dll.

Bahasa seperti Algol, Pascal, Perl, PHP, JavaScript, FORTRAN, BASIC, Ruby, Smalltalk dll. Dll.

Apakah Python adalah pilihan yang masuk akal atau tidak masih diperdebatkan. Itu telah dipilih.

Perhatian saya adalah mempelajari Python dengan cara yang tidak terstruktur, yang akan dipelajari oleh sebagian besar pengguna Pi. Saya pikir itu benar-benar perlu diperkenalkan kepada peserta didik pemrograman sebagai bagian dari kursus yang terstruktur sehingga kebiasaan buruk dapat dicegah dan praktik yang baik dapat dijelaskan.

joan
sumber
Pi hanyalah alat dan karena itu tidak bertanggung jawab apakah seseorang belajar kode dengan cara yang tidak terstruktur atau tidak. Ada banyak buku dan konten di "internet" ini untuk membantu siapa saja yang mau dibantu.
Ghanima
2
"Saya kira mereka ingin bahasa utama yang mungkin mencari yang sangat dalam karir insinyur perangkat lunak" adalah tentu tidak benar . Mungkin ada lebih banyak baris FORTRAN yang masih digunakan daripada yang pernah ditulis dalam python, mungkin ada 10 kali lebih banyak orang mencari nafkah dengan PHP daripada python, dll. Stack Exchange sendiri pada dasarnya ruby ​​dan saya percaya C #. Mereka mungkin juga telah mengambil apa pun dari daftar di atas jika alasannya adalah "sesuatu yang mungkin sangat digunakan insinyur perangkat lunak".
goldilocks
Sepenuhnya setuju dengan goldilocks. C # adalah bahasa streaming utama saya di Pi :) Saya tidak menggunakan Perl atau Python sama sekali. PHP hanya karena belum ada IIS di Linux.
Piotr Kula
SE pada prinsipnya .NET (C #) dan sebagian besar menjalankan IIS. Mereka melakukan ini karena alasan pragmatis - semua tim pengembang asli jauh lebih mahir dalam .NET dan lingkungan IIS. Setidaknya itulah yang mereka katakan pada beberapa posting blog yang saya baca.
Wayne Werner
Di sini, di masa depan, javascript bukan bahasa khusus. Itu ada di semua halaman web, dari semua halaman web lainnya.
YetAnotherRandomUser