Tại sao Python là ngôn ngữ ưa thích cho pi


9

Tại sao trăn được coi là ngôn ngữ ưa thích để kiểm soát và thao túng Raspberry Pi?

Tại sao ngôn ngữ Python được chọn hơn các ngôn ngữ lập trình khác như PERL, v.v. (được bao gồm trong các bản phân phối như Raspbian)?

Câu hỏi không nghiêng về bất kỳ ai trong số họ mà chỉ cố gắng tìm kiếm công đức so với nhau liên quan đến pi mâm xôi.


5
Ngay từ raspberrypi.org: "Raspberry Pi Foundation khuyên dùng Python là ngôn ngữ cho người học. Mặc dù vậy, mọi ngôn ngữ sẽ biên dịch cho ARMv6 đều có thể được sử dụng với Raspberry Pi, vì vậy, bạn không bị giới hạn khi sử dụng Python. C, C ++, Java , Scratch và Ruby đều được cài đặt theo mặc định trên Raspberry Pi. " Vì vậy, họ chỉ đề nghị nó mà hầu như không có lý do nào cả. Mặc dù họ dường như đã bỏ lỡ PERL trong danh sách đó nhưng một lần nữa có lẽ đúng là Python dễ lấy hơn PERL.
Ghanima

3
Nó hoàn toàn vô nghĩa. Tôi tin rằng tất cả những gì phải làm là một câu thông thường trên trang web (trích dẫn ở trên). Bởi vì python rất dễ dàng và phổ biến trên linux nói chung là tất cả, nhưng theo nghĩa đó, họ có thể đã nói perl hoặc ruby. Nó sẽ không làm cho bất kỳ sự khác biệt với bất cứ điều gì trong mọi trường hợp.
goldilocks

3
Không bao giờ sử dụng Python, nhưng tôi biết các lập trình viên Linux trường học cũ của nó. Có lẽ đó là lý do tại sao họ khuyên bạn như vậy. Tôi không thể thấy bất kỳ lý do khác. Câu hỏi hay mặc dù. Hy vọng điều này sẽ làm sáng tỏ mọi thứ. Bên cạnh đó, mọi thứ bổ sung mà tôi cần biên dịch đều có trong C.
Piotr Kula

2
Bởi vì Python là tuyệt vời? ( xkcd.com/353 )
Người dùng

2
Tôi lập trình bằng Python tại nơi làm việc, nhưng (chủ yếu là cố gắng) sử dụng Perl ở mọi nơi khác. Chẳng hạn, tôi đã viết WiresPi :: APIRPi :: WiresPi một cách cụ thể để tôi có thể sử dụng Perl trên Pis của mình.
stevieb

Câu trả lời:


10

Python được thiết kế như một ngôn ngữ giảng dạy.

Bắt đầu rất dễ dàng và hệ sinh thái Python rất thân thiện với người mới bắt đầu [2]. Chỉ cần kiểm tra tài liệu lưu trữ cho danh sách Python Tutor .

Trả lời như thế này là cực kỳ phổ biến - đặc biệt là đối với ma cà rồng không giúp đỡ.

Tôi vẫn chưa tìm thấy một cộng đồng ở bất cứ nơi nào gần như chào đón và thân thiện với người mới. Cách đây vài năm tại PyCon, họ đã tặng Raspberry Pi cho tất cả những người tham dự, vì vậy nhiều Pythonistas ít nhất sẽ có một Pi đá xung quanh ngay cả khi nó chỉ chạy XMBC;)

Và theo quan điểm cụ thể của Pi, rất dễ dàng để bắt đầu kiểm soát các cổng 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 dòng và bạn đã hoàn thành. Tất cả những gì bạn cần để chạy nó là sudo python blink.py- có rất ít mà bạn phải hiểu về việc biên dịch hoặc liên kết hoặc bất cứ điều gì khác. Bạn hầu như không cần phải hiểu bất cứ điều gì về lập trình.

Ngoài ra, nếu bạn nghĩ về thực tế là họ có hai tùy chọn - không đề xuất gì hoặc đề xuất một cái gì đó - một đề xuất một dòng tối thiểu cho Python có lẽ là lựa chọn tốt nhất họ có thể thực hiện. Bất cứ ai có sở thích có thể sẽ theo dõi nó và đi đến ngôn ngữ của họ, và bất cứ ai không có kinh nghiệm sẽ (hy vọng) có trải nghiệm ít bực bội nhất có thể [3].


[2]: Mặc dù vậy, tôi nghĩ rằng Ruby cũng khá thân thiện với người mới

[3]: Ngay cả sự khác biệt giữa Python 2 và 3 cũng không gây đau đớn như những gì tôi đã nghe thấy một số vấn đề nằm giữa các phiên bản Ruby.


1
Nhược điểm của việc sử dụng python với gpio là bạn không thể thực sự lái mọi thứ thông qua các ngắt.
Καrτhικ


4

Như Ghanima đã đề cập trong các ý kiến:

Ngay từ raspberrypi.org: "Raspberry Pi Foundation khuyên dùng Python là ngôn ngữ cho người học. Mặc dù vậy, mọi ngôn ngữ sẽ biên dịch cho ARMv6 đều có thể được sử dụng với Raspberry Pi, vì vậy, bạn không bị giới hạn khi sử dụng Python. C, C ++, Java , Scratch và Ruby đều được cài đặt theo mặc định trên Raspberry Pi. " Vì vậy, họ chỉ đề nghị nó mà hầu như không có lý do nào cả. Mặc dù họ dường như đã bỏ lỡ PERL trong danh sách đó nhưng một lần nữa có lẽ đúng là Python dễ lấy hơn PERL

Câu trả lời dường như là họ tùy ý chọn Python, mới hơn và phổ biến hơn các ngôn ngữ tương tự khác.


2

Vâng, có các hệ điều hành khác có sẵn cho raspberry pi trên trang ROM yêu cầu hoặc có thể cho phép sử dụng tốt hơn cho các ngôn ngữ khác, nhưng lý do chính tại sao python được ưa thích sử dụng trên raspberry pi là vì nó là lab-on-a- chip nơi sử dụng giáo dục nhiều hơn bất cứ thứ gì mà chúng ta đều biết python là một ngôn ngữ khá dễ dàng để chọn. Nhưng khi nói rằng bạn có thể tìm thấy các thư viện cho phép chức năng và sách về cách sử dụng các ngôn ngữ khác trên raspberry pi như c / c ++ chẳng hạn.


1

Tôi cho rằng họ muốn có một ngôn ngữ chính có thể đánh giá cao sự nghiệp của các kỹ sư phần mềm, các ngôn ngữ như Java, C, Ada, Python, v.v.

Các ngôn ngữ như Algol, Pascal, Perl, PHP, JavaScript, FORTRAN, BASIC, Ruby, Smalltalk, v.v.

Cho dù Python là một lựa chọn hợp lý hay không là tranh luận. Nó đã được chọn.

Mối quan tâm của tôi là với việc học Python theo cách không có cấu trúc, đó là cách mà hầu hết người dùng Pi sẽ học. Tôi nghĩ rằng nó thực sự cần được giới thiệu cho những người học lập trình như là một phần của khóa học có cấu trúc để những thói quen xấu có thể được khuyến khích và thực hành tốt có thể được giải thích.


Pi chỉ là một công cụ và do đó không chịu trách nhiệm cho dù ai đó đang học viết mã theo cách không có cấu trúc hay không. Có rất nhiều sách và nội dung trong "internet" này để hỗ trợ bất kỳ ai sẵn sàng giúp đỡ.
Ghanima

2
"Tôi cho rằng họ muốn có một ngôn ngữ chính thống mà có thể hình dung cao trong sự nghiệp kỹ sư phần mềm"chắc chắn không chính xác . Có lẽ có nhiều dòng FORTRAN vẫn được sử dụng hơn bao giờ hết được viết bằng python, có lẽ số người kiếm sống bằng PHP gấp 10 lần so với python, v.v. Bản thân Stack Exchange chủ yếu là ruby ​​và tôi tin C #. Họ cũng có thể đã chọn bất cứ thứ gì trong danh sách trên nếu lý do là "thứ mà một kỹ sư phần mềm có thể sử dụng nhiều".
goldilocks

Hoàn toàn đồng ý với goldilocks. C # là ngôn ngữ luồng chính của tôi trên Pi :) Tôi hoàn toàn không sử dụng Perl hoặc Python. PHP chỉ vì không có IIS trên Linux.
Piotr Kula

SE chủ yếu là .NET (C #) và chạy hầu hết IIS. Họ đã làm điều này vì lý do thực tế - tất cả các nhóm phát triển ban đầu đã thành thạo hơn nhiều về môi trường .NET và IIS. Ít nhất đó là những gì họ nói trên một số bài đăng trên blog tôi đã đọc.
Wayne Werner

Ở đây trong tương lai, javascript không phải là một ngôn ngữ thích hợp. Nó có trong tất cả các trang web, từ tất cả các trang web khác.
YetAnotherRandomUser
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.