it-swarm-vi.com

Tại sao phổ biến như vậy với Python?

Khác với việc bị làm phiền bởi khoảng trắng như cú pháp, tôi không phải là người ghét, tôi chỉ không có niềm đam mê với Python.

Tôi đánh giá cao thơ ca của Perl và đã lập trình các dịch vụ web tuyệt đẹp trong bash & korn và Shebang gnuplot. Tôi viết tài liệu bằng troff và không bận tâm đến REXX. Không tìm thấy tcl nào hữu ích hơn nhiều năm trước, nhưng mùi hôi thối lớn về Python? Tôi thấy danh sách công việc và nhiều ứng viên với điều này như một giải thưởng & danh hiệu trong hồ sơ xin việc của họ.


Tôi đoán trong thực tế, tôi đang cố gắng để cá nhân bị bán trên này, tôi chỉ không thể tìm thấy một lý do.

55
Jé Queue

Python là một ngôn ngữ được thiết kế tốt với cú pháp hợp lý, thư viện tiêu chuẩn toàn diện, tài liệu xuất sắc và tài liệu của bên thứ ba, triển khai rộng rãi và tính trực tiếp của ngôn ngữ kiểu "scripting" (nghĩa là không có bước biên dịch rõ ràng).

61
Greg Hewgill

Tôi đã tìm thấy Python là ngôn ngữ lập trình tự nhiên nhất mà tôi từng viết mã. Tôi đã mã hóa bằng nhiều ngôn ngữ trước và sau Python, và lớn hơn hoặc ít hơn mức độ, bạn phải chiến đấu với ngôn ngữ để khiến nó thực hiện những gì bạn muốn. Python giảm cuộc đấu tranh này một cách ồ ạt. Eric S Raymond nói điều đó nhiều tốt hơn tôi có thể trong Tại sao Python?

Là một điểm liên quan, Python duy trì sự sạch sẽ của nó ngay cả khi đang phát triển nhanh chóng. Trong hầu hết các ngôn ngữ tôi đã làm việc, giới thiệu các tính năng ngôn ngữ mới giới thiệu rất nhiều nếp nhăn. Nhưng với Python, thậm chí là ngôn ngữ chính các tính năng (trang trí đến với tâm trí) được thêm vào mọi lúc, mà không cảm thấy như những cái hack xấu xí.

76
Chinmay Kanchi

Tôi hy vọng điều này không có vẻ quá hoài nghi, nhưng IMO Python rất phổ biến vì lý do chính xác giống như Java, C # và Objective-C. bởi vì mỗi người đều có một nhà tài trợ phù hợp có thể tạo ra rất nhiều sự cường điệu, nhiều quảng cáo và rất nhiều thư viện và hỗ trợ cho ngôn ngữ ưa thích của họ.

26
Mason Wheeler

Kinh nghiệm của tôi là những người tìm thấy niềm vui thực sự trong lập trình thường tìm kiếm một ngôn ngữ phù hợp với họ hơn những gì họ học được ở trường hoặc đại học. Về cơ bản, điều này có nghĩa là chúng sẽ chuyển từ mặc định PHP/Visual Basic/C++/Java/C # sang một thứ kỳ lạ hơn (kinh doanh/nghề nghiệp) như Python , Ruby, Haskell và thậm chí Perl (vì giá trị hack khổng lồ và tối nghĩa).

Đừng hiểu sai ý tôi, có rất lập trình viên C #/VB.net có kinh nghiệm, người rất tự hào và niềm vui trong công việc và mã của họ (những người StackOverflow là một ví dụ rất hay), nhưng bạn không ' t trở thành một python lập trình viên chỉ vì đó là những gì họ dạy bạn ở trường, đó phải là quyết định của riêng bạn.

Tôi nghĩ Jeff Atwoord đã có một bài đăng trên blog về điều này, nhưng tôi không thể tìm thấy nó. Nếu tôi tìm thấy nó, tôi sẽ cập nhật nhận xét này.

11
Ivo van der Wijk

So với Ruby, thứ thực sự tuyệt vời và tạo ra Code Golf-off tuyệt vời, Python có triết lý cốt lõi rằng "Nên có một - và tốt nhất là chỉ có một - cách rõ ràng để làm [mọi thứ], "có nghĩa là thành ngữ Python. Tôi đã thấy đây là một lợi thế rất lớn so với Ruby.

9
Dan Rosenstark

Tôi bắt đầu yêu Python vì lý do tương tự mà Eric S. Raymond mô tả: hành động viết chương trình trong Python về mặt khái niệm rất giống với suy nghĩ hành động của thiết kế mã trong đầu của tôi.

Học để trở thành một người tốt Python lập trình viên đã biến tôi thành nhiề lập trình viên C # tốt hơn. Nó giúp hiểu LINQ dễ dàng hơn nhiều, đối với một người. Tôi có thể chưa bao giờ chấp nhận một kiểu như Dictionary<string, Func<T>>, hoặc cảm thấy thoải mái khi sử dụng yield return, nếu tôi chưa sử dụng các lớp và trình tạo trong Python. AOP giờ đây dễ hiểu hơn rất nhiều khi tôi đã sử dụng Python trang trí. Danh sách tiếp tục.

8
Robert Rossney

Đầu tiên, những vấn đề rắc rối về ngôn ngữ như bị thụt vào trong Python ít quan trọng nếu bản thân ngôn ngữ đó có sức mạnh biểu cảm và hữu ích. Ban đầu tôi cũng bị từ chối vì nó, nhưng sớm học cách nhìn qua nó và bây giờ thậm chí không cảm thấy nó là một trở ngại, bởi vì ngôn ngữ này giúp tôi làm việc dễ dàng hơn rất nhiều. Nó giống như sigils trong các biến trong Perl, đó là một ngôn ngữ vô hại và bất cứ ai thoải mái trong ngôn ngữ không cảm thấy bị làm phiền bởi nó .

Để hiểu lý do tại sao rất nhiều người nghĩ Python là tuyệt vời, chỉ cần thử và học ngôn ngữ. Các lý do hầu hết giống như Perl. Tôi thấy tôi thích cú pháp trong Python (ví dụ: hiểu danh sách, OOP, v.v.), nhưng điều đó thực sự chủ quan và ý kiến ​​của bạn có thể khác nhau. Tôi thích Python cho các dự án lớn hơn, trong khi tôi vẫn sử dụng Perl cho các tập lệnh nhỏ hơn.

đó là câu trả lời cho câu hỏi của bạn. Bạn so sánh Python với Perl, bash và tcl. Vấn đề là đó không phải là một so sánh công bằng. Các ngôn ngữ như bash được thiết kế để viết các tập lệnh nhỏ để tự động hóa các tác vụ thông thường. Một số người nghĩ Perl cũng vậy trở nên khó sử dụng nếu mã đủ lớn (Perl được viết tốt thì không, nhưng mã được viết tốt khó có thể xuất hiện trong một dự án lớn). IMHO Python khác với các ngôn ngữ 'scripting' khác ở chỗ nó quy mô rất tốt cho các dự án lớn cũng như các kịch bản một lần nhỏ. Tôi nghĩ Ruby cũng có chất lượng tương tự.

6
MAK

Triết lý mà Nhà độc tài nhân từ nên thực thi ý tưởng của ông về phong cách tốt [1], ý tưởng về lập trình tốt, ý tưởng về cách lập trình của tôi làm tôi thất vọng thường xuyên. Tôi không nghĩ như van Rossum. Tuy nhiên, ngôn ngữ của anh ta chống lại những nỗ lực thể hiện những suy nghĩ không phải là van Rossum. Suy nghĩ của anh ấy hoạt động thực sự tốt cho nhiều lập trình viên (hầu hết?). Nhưng tôi dường như không phù hợp với mô hình của ông về cách lập trình.

Đó là lý do tại sao tôi tin rằng Perl là một ngôn ngữ cao cấp.

[1] Xem blog của anh ấy về việc xóa reduce.

6
Paul Nathan

Từ năm 2004, tôi đã sử dụng Python để phát triển:

  • GUI
  • Các đoạn mã theo dõi kịch bản với các liên kết Python đến C++
  • Hệ thống xây dựng tự động đa nền tảng
  • Kiểm tra kịch bản
  • Công cụ mục đích chung để giải quyết các vấn đề hàng ngày của bạn
  • Trang web và ứng dụng web

Quay trở lại năm 2004, Python là ngôn ngữ được lựa chọn vì Python script có thể di động trên Windows, Linux và Mac với rất ít sửa đổi.

5
Thierry Lam

Tôi nghĩ ở một mức độ nào đó Python là ngôn ngữ lập trình duy nhất bạn cần, trừ khi bạn muốn viết kernel hệ điều hành. Nó phù hợp cho việc sử dụng tương tác, hack ngẫu nhiên, quản trị hệ thống, khoa học các ứng dụng, công cụ hệ điều hành, ứng dụng web, ứng dụng GUI, nhúng, v.v., nó di động, miễn phí và được sử dụng rộng rãi. Không có ngôn ngữ lập trình nào khác thực sự bao gồm tất cả các lĩnh vực đó trong thực tế. Đây là một khoản đầu tư chiến lược thực sự tốt cho một người và một công ty.

5
Peter Eisentraut

Nó thanh lịch và thực sự dễ học, và một khi bạn đã quen thuộc với các loại cơ bản của nó (đặc biệt là danh sách), năng suất của bạn không có giới hạn. Nó hoàn hảo cho các thuật toán tạo mẫu hoặc để viết chúng bằng ngôn ngữ giống như mã giả mà cuối cùng có thể đặt trực tiếp trên máy và nó thực sự tốt như một ngôn ngữ kịch bản để thực hiện các công việc lặp đi lặp lại hoặc thực hiện các thao tác gây phiền nhiễu trên các tệp. Tôi sử dụng nó như một ngôn ngữ keo để làm cho các quy trình con giao tiếp với nhau: không mạnh bằng bash cho một số nhiệm vụ dễ dàng, nhưng CÁCH dễ dàng hơn nếu bạn cần làm nhiều hơn chỉ một dòng mã.

Và sau đó nó không phân biệt giữa các hàm và chương trình con, bạn biết ý tôi là gì.

4
Lorenzo Stella

Đối với tôi Python đã là một người bạn thân yêu. Đó là một ngôn ngữ tạo kịch bản và tạo mẫu tốt. Những điều quan trọng tôi có thể nghĩ đến là:

  • Cú pháp rõ ràng, rất đơn giản và dễ hiểu
  • Đa mô hình, sử dụng nó như một ngôn ngữ bắt buộc? Chắc chắn rồi. OOP? Không vấn đề gì. Nó cũng có một số tính năng ngôn ngữ chức năng nhẹ, ví dụ: lambda, hiểu danh sách, vv.
  • Đối với các nhu cầu tính toán cơ bản, nó có hỗ trợ riêng cho các cấu trúc dữ liệu thiết yếu, mảng, Tuple, từ điển (mảng kết hợp), tập hợp, v.v.
  • Các tính năng khác có thể làm cho một lập trình viên rất năng suất, ví dụ: gõ vịt, phản xạ, lập trình meta, trang trí, máy phát điện, vv.
  • Hỗ trợ thư viện phong phú
4
grokus

Nhiều người yêu thích Python tôi thấy vừa chuyển từ môi trường xung quanh C và rất ấn tượng với những thứ như "Hello "+ "World""Hello World". Vì vậy, tôi muốn nói rằng đây là ngôn ngữ kịch bản đầu tiên không thu thập được bí truyền/thẻ cụ thể và do đó lan rộng ra giữa những người tử vì đạo như lửa trong một khu rừng khô. Và vì vậy, thời trang được tạo ra bây giờ sống một mình.

3
mbq

Bây giờ lại đặt lại câu hỏi rằng tôi đã bớt mệt hơn một chút:

Python là ngôn ngữ tôi thấy đặc biệt phù hợp với các nhiệm vụ lập trình khoa học, đây là một trong những nơi mà sự phổ biến của nó đang tăng lên khá mạnh mẽ. Một vài lý do tại sao:

  • Hỗ trợ cộng đồng khá mạnh có nghĩa là có một số thư viện mạnh và Python hoạt động như một sự thay thế hợp lý cho MATLAB và một số ngôn ngữ phổ biến khác trong lĩnh vực đó.
  • Nó chơi tốt với C khi bạn do cần tốc độ, nhưng thường thì tốc độ không thực sự cần thiết, vì vậy bản chất diễn giải của Python không phải là vấn đề lớn.
  • Tôi đã thấy nó là một ngôn ngữ khá dễ tiếp cận mà không có một số lượng lớn những gì, đối với người ngoài, cảm thấy như các quy tắc cú pháp tùy ý kỳ lạ. Thật đẹp Swift để dịch giữa mã giả và Python.
  • "Lấy nó hoặc để nó OOP". Rất nhiều dự án lập trình khoa học không được hưởng lợi nhiều từ OOP. Một số làm. Thật tuyệt khi có một ngôn ngữ có thể nhảy giữa hai người một cách dễ dàng.
  • Hỗ trợ đa nền tảng mạnh mẽ. Đặc biệt là những gì tôi làm việc hiếm khi liên quan đến GUI, tôi hoàn toàn có thể dựa vào việc có thể gửi một chương trình Python cho người khác mà không cần lo lắng về việc họ đang chạy hệ điều hành nào.

Nó không phải là ngôn ngữ lập trình cuối cùng, nhưng là ngôn ngữ "Vâng, tôi có thể có một công cụ để giải quyết bất kỳ vấn đề nào xảy ra", đó có thể là lý do tại sao nó đang được yêu thích tại thời điểm này.

2
Fomite

Python là ngôn ngữ rất 'webby' trong cả hai khung có sẵn (Django, Zope, v.v.) và trong các thư viện có thể nhập dễ dàng, một lần nữa bao gồm nhiều chức năng web.

Đối với các nhà phát triển web thực hiện chuyển từ chỉ một kỹ năng HTML, CSS + JS (giai thoại là một nguồn lớn các lập trình viên mới trong vài năm qua), tôi nghĩ rằng điều này làm cho nó trở thành một đề xuất rất hấp dẫn (ditto Ruby).

Ngoài ra, Google không phải là Microsoft ....

1
Jon Hadley

Tôi nghĩ một trong những lý do chính là 90% google được làm từ Python.

Tuy nhiên, Python cũng là một ngôn ngữ lập trình mạnh mẽ, dễ học. Nó có cấu trúc dữ liệu cấp cao hiệu quả và cách tiếp cận đơn giản nhưng hiệu quả để lập trình hướng đối tượng. Cú pháp thanh lịch và gõ động của Python, cùng với bản chất được giải thích của nó, làm cho nó trở thành một ngôn ngữ lý tưởng để viết kịch bản và phát triển ứng dụng nhanh chóng trong nhiều lĩnh vực trên hầu hết các nền tảng.

Trình thông dịch Python và thư viện tiêu chuẩn mở rộng có sẵn miễn phí ở dạng nguồn hoặc nhị phân cho tất cả các nền tảng chính từ trang web Python, http: //www.python.org/ và có thể được phân phối miễn phí. Cùng một trang web cũng chứa các bản phân phối và con trỏ cho nhiều bên thứ ba miễn phí Python mô-đun, chương trình và công cụ và bổ sung tài liệu.

Trình thông dịch Python dễ dàng được mở rộng với các hàm và kiểu dữ liệu mới được triển khai trong C hoặc C++ (hoặc các ngôn ngữ khác có thể gọi được từ C). Python cũng phù hợp như một ngôn ngữ mở rộng cho các ứng dụng tùy biến.

0
blackhat