Tại sao sự nổi tiếng của Python lại đột ngột như vậy? [đóng cửa]


84

Python xuất hiện lần đầu tiên vào năm 1991, nhưng nó vẫn chưa được biết đến cho đến năm 2004, nếu bảng xếp hạng TIOBE định lượng bất cứ điều gì có ý nghĩa.

Chuyện gì đã xảy ra? Điều gì gây ra sự quan tâm trong ngôn ngữ 13 tuổi này đi qua mái nhà? Có lý do nào mà Python không được coi là đối thủ cạnh tranh thực sự với Perl trong thập kỷ đầu tiên tồn tại không? Có một lý do nào khiến Python không tiếp tục bị che khuất trong mười năm nữa không?

Cá nhân tôi nghĩ rằng Python là một ngôn ngữ rất hay và tôi rất vui vì tôi không phải là người duy nhất. Nhưng nó không có sự ủng hộ của công ty hoặc một tính năng giết người sẽ giải thích sự gia tăng đột ngột về mức độ liên quan.

Có ai biết câu chuyện không?


6
Trong lịch sử, đó là một sự gia tăng khá nhanh!
Macneil

3
Câu hỏi này khá thú vị. +1
Tim Post

1
Bài tiểu luận Nghịch lý Python là từ năm 2004.
stesch

2
Mọi người có thể đến Python qua Django, giống như một số người đã đến với Ruby qua Rails?
Andrew Grimm

1
Django. Đó là bối cảnh đầu tiên mà tôi nghe mọi người nói về việc thực sự sử dụng nó một cách nghiêm túc để phát triển. Trước đó, hầu hết các cuộc nói chuyện tôi đã xem về nó là "tại sao không ai muốn sử dụng ngôn ngữ này?" Hoặc ... "Rails là lý do tại sao Ruby cất cánh và tại sao Python không đi đến đâu." (Lưu ý rằng cái cuối cùng là trong những ngày trước Django).
kịch bản

Câu trả lời:


74

Google

Google bắt đầu sử dụng Python rất nhiều và tái đầu tư phát triển ngôn ngữ.

Nhưng nó không có sự ủng hộ của công ty hoặc một tính năng giết người sẽ giải thích sự gia tăng đột ngột về mức độ liên quan.

Google là sự hỗ trợ của công ty. Đối với tính năng Python là một OOP giải thích đa nền tảng nhanh 1 ngôn ngữ. Có gì không thích? Đó là một công cụ tuyệt vời khác trong hộp công cụ.


1. Nhanh để phát triển , không nhanh để thực hiện. Viết một kịch bản mục đích chung bằng Python nhanh hơn nhiều so với Java hoặc C, không quan tâm đến thực tế là những ngôn ngữ đó sẽ thực thi nhanh hơn.


25
Guido van Rossum, người tạo ra Python được Google thuê vào khoảng năm 2005, cùng thời điểm họ bắt đầu sử dụng python rất nhiều. Điều này cũng cung cấp một sự thúc đẩy.
nayan

6
Bạn có ý nghĩa gì bởi ngôn ngữ nhanh ?
Peaker

Tôi nhớ mọi người nói rằng, như một ngôn ngữ được giải thích, nó quá chậm so với Perl, nhưng bây giờ máy tính đã nhanh hơn rất nhiều.
user2442

5
Bước nhảy vọt trong sử dụng năm 2004 là do Google bắt đầu sử dụng nó rất nhiều vào năm 2005?
Tom Hawtin - tackline

1
Tôi đã đọc trong cuốn sách 'Googleplex' của Steven Levy rằng trình thu thập dữ liệu web đầu tiên của Google đã được triển khai (xấu) bằng Python bởi Page và Brin vào khoảng năm 1996. Nó được viết lại bằng C bởi một trong những nhân viên đầu tiên của họ, người có nhiều kinh nghiệm hơn về web phát triển. Vì vậy, sự liên kết của Python với Google quay trở lại sự khởi đầu của họ.
dodgy_coder

24

Tôi bắt đầu sử dụng Python vào khoảng năm 2001, và nghiêm túc hơn vào 04/05, và nghiêm túc hơn một chút sau đó. Tôi có thể nhớ một vài điều xảy ra đã thay đổi thái độ đối với Python và làm cho nó trở nên khả thi hơn như một ngôn ngữ phát triển web.

  • FCGI xảy ra, và sau đó WSGI. Trước đó, bạn phải chạy các kịch bản Python như CGI thông thường, không đủ nhanh. mod_python không ở đâu tốt như mod_php, .NET CLR hoặc nền tảng Java JIT VM.

  • Các trường đại học nổi tiếng bắt đầu giảng dạy thuật toán và các lớp khác bằng Python và cuốn sách như 'Học cách suy nghĩ như một nhà khoa học máy tính' đã được xuất bản và trở nên phổ biến.

  • Nó đã trở thành ngôn ngữ triển khai hàng đầu tại Google vào đầu thập kỷ này và điều này có tác động đến mức độ nghiêm trọng của nó.

  • Các nhà phát triển có thể nhìn thấy và các nhà phát triển tiêu chuẩn, như Joe Gregorio và Mark Pilgrim đều sử dụng Python để triển khai các nguyên mẫu của giao thức Atom. Pilgrim sau đó đã viết DiveIntoPython, điều này đã giúp rất nhiều người học và tiếp thu ngôn ngữ.

  • Chi nhánh 2.x trở nên ổn định và được triển khai các tính năng như hỗ trợ Unicode, phân tích cú pháp XML tốt, Trình thu gom rác mới, trình tạo và phương thức chức năng, v.v.

  • Điểm bùng phát lớn nhất là Django - đã trở nên rất nổi tiếng cùng với RubyOnRails vào khoảng năm 2005. Triết lý Django khác với Rails, và rất nhiều nhà phát triển thấy nó phù hợp hơn cho các dự án.

Đối với một ngôn ngữ không được hỗ trợ bởi một tập đoàn lớn (như C # và Java), đường cong chấp nhận và phát triển khá điển hình và gần với các ngôn ngữ nguồn mở khác như Ruby.

Django không có tác động nhiều đến Python như Rails đã làm với Ruby, vì nó đã được sử dụng rất nhiều bởi các nhà khoa học, nhà toán học, nhà nghiên cứu, học viện, v.v.


10

Việc cải tổ lại chỉ số TIOBE năm 2004 là do Google thay đổi tìm kiếm của họ. Bạn thực sự không thể học được gì nhiều từ TIOBE - điều đó thật vô lý. Tôi không tin đã có sự tăng vọt đột ngột về mức độ phổ biến của Python. Chắc chắn không phải vì một công ty tình cờ sử dụng nó trong nội bộ cho một số thứ của họ.


5
Nếu bạn không tin tưởng TIOBE, bạn có thể thử thực sự.com. Chúng cho thấy sự tăng trưởng ổn định trong các bài đăng công việc cho Python từ năm 2005
Robert Harvey

3
Vô lý hay không, có rất nhiều lập trình viên chưa bao giờ nghe nói về Python vào năm 2003 và đã có vào cuối năm 2005. Điều này là bất thường đối với một ngôn ngữ trong thập kỷ thứ hai của nó.
Eric Wilson

@RobertHarvey: dường như xu hướng thực sự là chung cho các ngôn ngữ phát triển web. Ví dụ. thật sự.com / jobtrends ? q = python% 2+php% 2+ + ruby .
vartec

@vartec Quả thực có vẻ như tăng trưởng ổn định (có lẽ là do chi phí tăng trưởng Perl) thay vì bất kỳ bước nhảy đột ngột nào. / Thật thú vị khi thấy Obejctive-C tương đối kém như thế nào - có lẽ Apple có hàng trăm ngàn lập trình viên làm việc dưới mức lương tối thiểu.
Tom Hawtin - tackline

6

Google là lý do. Chỉ một số ít ngôn ngữ được ủy quyền tại Google: C ++, Java, Python, Javascript, PHP?

Sự ủng hộ của công ty là rất quan trọng đối với thành công của ngôn ngữ. Ví dụ:

  • C ++: Phòng thí nghiệm Bell của AT & T
  • Java: mặt trời
  • C #: Microsoft
  • Python: Google

2
Bạn thực sự không nên đăng một câu trả lời tương tự như một câu trả lời hiện có. Chỉnh sửa trong bất cứ điều gì bạn cảm thấy thiếu.
Josh K

1
@Josh, tôi đã bình chọn cho bạn, nhưng cảm thấy nó không nói lên tất cả những gì tôi muốn nói, tuy nhiên tôi không chắc mọi người có thích nếu tôi sửa đổi câu trả lời của họ không.
Grokus

6
Nếu nó cải thiện chất lượng của câu trả lời, tôi đoán sẽ ổn thôi. Các tính năng là có lý do.
nayan

2
Đó là ý tưởng của trang web. ;)
Josh K

Tôi muốn Perl để có được bản sao lưu của công ty.
Chankey Pathak

1

Cộng đồng xung quanh nó đạt đến khối lượng quan trọng. Rất khó để vượt qua rào cản về sự nổi tiếng và không thực sự bất ngờ khi điều đó xảy ra rất đột ngột.


-1

Có một số khía cạnh của con trăn đã làm cho nó trông, thẳng thắn, cổ xưa. Những điều khiến bạn cảm thấy như mình đang mã hóa thẻ đục lỗ trên máy tính lớn. Giống như có vấn đề khoảng cách thụt lề để khối mã. Những thứ nhỏ nhặt như thế khiến rất nhiều người bỏ ngôn ngữ sau một cái nhìn rất ngắn gọn. Tôi nghi ngờ rằng nó làm tổn thương nó khá tệ trong những ngày đầu. Đặc biệt là trong đám đông đã sống trong những loại môi trường đó trong nhiều năm và không muốn gì ngoài việc thoát khỏi máy tính lớn và ra web.


4
Phạm vi thụt lề là một cuộc tranh luận tôn giáo. Một số người thích nó, những người khác ghét nó, nhưng không thể đưa ra các lý lẽ kết luận cho hay phản đối.
dbkk

1
chính xác quan điểm của tôi. Những người ghét nó đã rời bỏ ngôn ngữ ngay khi họ nhận ra nó, và nhiều người nói xấu ngôn ngữ đó với các đồng nghiệp của họ. Tôi nghĩ rằng làm tổn thương việc áp dụng trong một thời gian dài. (TBH: đó là một trong những lý do khiến tôi vẫn còn sợ phải làm việc trên * .py)
cabbey

4
Trong bất kỳ ngôn ngữ hiện đại nào, bạn thụt lề để làm cho cấu trúc rõ ràng. Vì vậy, bỏ niềng răng là một bước tiến rõ ràng. Nó không liên quan gì đến thẻ đục lỗ và tôi không nghĩ rằng số lượng lập trình viên có kinh nghiệm với họ là đáng kể hoặc là 13 năm trước. Hơn nữa, tôi hy vọng hầu hết trong số họ đã không có được một hiệp hội rất xa như bạn đã làm.
maaartinus

@maaartinus: Đó là một bước tiến rõ ràng, ngay trước khi bạn chạy vào một biểu thức quá dài để khớp với một dòng mà không cuộn ngang. Sau đó mọi thứ trở nên khó xử nhanh chóng.
Mason Wheeler

1
@Mason Wheeler: Cách tiếp cận gói hàng tốt hơn trong trình chỉnh sửa của bạn cũng giúp: stackoverflow.com/questions/759577/iêu
retracile
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.