Dlaczego popularność Pythona była tak gwałtowna? [Zamknięte]

84

Python po raz pierwszy pojawił się w 1991 roku, ale do 2004 roku był nieco nieznany, jeśli rankingi TIOBE określają coś sensownego.

Co się stało? Co spowodowało, że zainteresowanie tym 13-letnim językiem przeszło przez dach? Czy istnieje powód, dla którego Python nie był uważany za prawdziwego konkurenta dla Perla w pierwszej dekadzie istnienia? Czy istnieje powód, dla którego Python przez następne dziesięć lat nie działał w sposób względnie niejasny?

Osobiście uważam, że Python jest bardzo fajnym językiem i cieszę się, że nie jestem jedynym. Ale nie ma wsparcia korporacyjnego ani funkcji zabójcy, która tłumaczyłaby nagły wzrost znaczenia.

Czy ktoś zna tę historię?

Eric Wilson
źródło
6
Historycznie to dość szybki wzrost!
Macneil,
3
To pytanie było dość interesujące. +1
Tim Post
1
Esej The Paradox Pythona pochodzi z 2004 roku.
Stesch
2
Czy ludzie mogli przybyć do Pythona przez Django, tak jak niektórzy przyszli do Ruby przez Rails?
Andrew Grimm,
1
Django. To pierwszy kontekst, w którym słyszałem, jak ludzie mówią o poważnym wykorzystywaniu go do rozwoju. Wcześniej większość dyskusji na ten temat brzmiała: „dlaczego nikt nie chce używać tego języka?” Lub… „Rails jest powodem, dla którego Ruby wystartowała i dlaczego Python nigdzie się nie wybiera”. (Pamiętaj, że ostatni był w czasach sprzed Django).
scriptocalypse

Odpowiedzi:

74

Google

Google zaczął intensywnie używać Pythona i reinwestować w rozwój języka.

Ale nie ma wsparcia korporacyjnego ani funkcji zabójcy, która tłumaczyłaby nagły wzrost znaczenia.

Google zapewnia wsparcie korporacyjne. Jeśli chodzi o funkcje, Python jest interpretowanym przez platformę OOP szybkim 1 językiem. Czego nie lubić To kolejne doskonałe narzędzie w zestawie narzędzi.


1. Szybki do opracowania , a nie szybki do wykonania. Pisanie skryptu ogólnego przeznaczenia w Pythonie jest znacznie szybsze niż powiedzenie Java lub C, bez względu na to, że język ten działałby szybciej.

Josh K.
źródło
25
Guido van Rossum, twórca Pythona, został zatrudniony przez Google około 2005 roku, w tym samym czasie, kiedy zaczęli intensywnie używać Pythona. To także zapewniło impuls.
nayan
6
Co rozumiesz przez szybki język?
Szczyt
Pamiętam ludzi, którzy mówili, że jako język interpretacji był zbyt wolny w porównaniu do Perla, ale teraz komputery są znacznie szybsze.
user2442
5
Skok użycia w 2004 r. Był spowodowany tym, że Google zaczął intensywnie go używać w 2005 r.?
Tom Hawtin - tackline
1
Przeczytałem w książce „Googleplex” Stevena Levy'ego, że pierwszy robot indeksujący Google został zaimplementowany (źle) w Pythonie przez Page i Brin około 1996 roku. Został ponownie napisany w C przez jednego z pierwszych pracowników, który miał większe doświadczenie w sieci rozwój. Tak więc powiązanie Pythona z Google sięga początków.
dodgy_coder
24

Zacząłem używać Pythona około 2001 roku, a poważniej w 04/05, a poważniej nieco później. Pamiętam kilka rzeczy, które zmieniły stosunek do Pythona i sprawiły, że stał się on bardziej praktyczny jako język programowania.

  • FCGI się zdarzyło, a potem WSGI. Wcześniej trzeba było uruchamiać skrypty Pythona jako zwykłe CGI, co nie było wystarczająco szybkie. mod_python nie był tak dobry jak mod_php, .NET CLR lub platforma Java JIT VM.

  • Wybitne uniwersytety zaczęły uczyć algorytmów i innych klas za pomocą Pythona, a książki takie jak „Naucz się myśleć jak informatyk” zostały opublikowane i stały się popularne.

  • Na początku dekady stał się językiem najwyższego poziomu implementacji w Google, co miało wpływ na to, jak poważnie zostało potraktowane.

  • Widoczni programiści i programiści, tacy jak Joe Gregorio i Mark Pilgrim, używali Pythona do implementacji prototypów protokołu Atom. Następnie Pielgrzym napisał DiveIntoPython, który pomógł wielu ludziom w nauce języka.

  • Oddział 2.x stał się stabilny i zaimplementował takie funkcje, jak obsługa Unicode, dobre parsowanie XML, nowy Garbage Collector, generatory i metody funkcjonalne itp.

  • Największym punktem zwrotnym był Django - który stał się bardzo sławny wraz z RubyOnRails około 2005 roku. Filozofia Django różniła się od filozofii Rails, a wielu programistów uznało ją za bardziej odpowiednią do projektów.

W przypadku języka, który nie był wspierany przez dużą korporację (jak C # i Java), krzywa adopcji i rozwoju jest dość typowa i zbliżona do innych języków open source, takich jak Ruby.

Django nie miał tak dużego wpływu na Python, jak Rails na Ruby, ponieważ był już używany przez naukowców, matematyków, kwantów, naukowców itp.

nikcub
źródło
10

Zmiany w indeksie TIOBE w 2004 r. Zależą od zmiany wyszukiwania przez Google. Naprawdę niewiele można się nauczyć od TIOBE - to kompletna bzdura. Nie sądzę, aby nastąpił skokowy wzrost popularności Pythona. Na pewno nie dlatego, że jedna firma zdarza się, że używa go wewnętrznie do niektórych swoich zadań.

Tom Hawtin - tackline
źródło
5
Jeśli nie ufasz TIOBE, możesz wypróbować indeed.com. Wykazują stały wzrost liczby ofert pracy w Pythonie od 2005 r.
Robert Harvey,
3
Bzdury czy nie, jest wielu programistów, którzy nigdy nie słyszeli o Pythonie w 2003 roku i mieli go do końca 2005 roku. Co jest niezwykłe dla języka w drugiej dekadzie.
Eric Wilson,
@RobertHarvey: wydaje się, że trend jest rzeczywiście ogólny w przypadku języków programowania. Na przykład. faktycznie.com/jobtrends?q=python%2C+php%2C+ruby .
vartec
@vartec Rzeczywiście wygląda to na stały wzrost (prawdopodobnie kosztem wzrostu Perla) zamiast gwałtownego skoku. / Ciekawe, jak stosunkowo słabo obejctive-C - prawdopodobnie Apple ma setki tysięcy programistów pracujących poniżej płacy minimalnej.
Tom Hawtin - tackline
6

Google był powodem. W Google obowiązuje tylko kilka języków: C ++, Java, Python, JavaScript, PHP?

Wsparcie korporacyjne jest bardzo ważne dla sukcesu danego języka. Przykłady:

  • C ++: AT&T Bell Labs
  • Java: Sun
  • C #: Microsoft
  • Python: Google
grokus
źródło
2
Naprawdę nie powinieneś publikować odpowiedzi tak podobnej do istniejącej. Edytuj we wszystkim, co uważasz za brakujące.
Josh K
1
@Josh, głosowałem za tobą, ale czułem, że to nie wszystko, co chciałem powiedzieć, ale nie byłem pewien, czy ludzie chcieliby, gdybym zmodyfikował ich odpowiedzi.
grokus
6
Jeśli poprawi to jakość odpowiedzi, myślę, że powinno być w porządku. Funkcja jest dostępna bez powodu.
nayan
2
Taki jest pomysł strony. ;)
Josh K
Chciałbym, żeby Perl otrzymał korporacyjną kopię zapasową.
Chankey Pathak
1

Społeczność wokół niego osiągnęła masę krytyczną. Bardzo trudno jest pokonać barierę popularności i nie jest tak naprawdę niespodziewane, że dzieje się to bardzo nagle.

Emilio M. Bumachar
źródło
-1

Jest kilka aspektów Pythona, które sprawiły, że wygląda on szczerze mówiąc archaicznie. Rzeczy, które sprawiły, że poczułeś się, jakbyś kodował na perforowanych kartach na komputerze mainframe. Jak w przypadku odstępów między blokami kodu. Takie małe rzeczy spowodowały, że wielu ludzi odrzuciło język po bardzo krótkim spojrzeniu. Podejrzewam, że bardzo bolało go to na początku. Zwłaszcza w tłumie, który żył w tego typu środowiskach od lat i nie chciał niczego innego, jak tylko uciec od komputera i wyjść do sieci.

cabbey
źródło
4
Wcięcie zakresu jest debatą religijną. Niektórzy to uwielbiają, inni go nie znoszą, ale nie można podać jednoznacznych argumentów za lub przeciw.
dbkk,
1
dokładnie o to mi chodzi. Ci, którzy go nie znoszą, odeszli od języka, gdy tylko zdali sobie z tego sprawę, a wielu złych przekazało ten język swoim rówieśnikom. Myślę, że to boli adopcję przez długi czas. (TBH: to jeden z powodów, dla których do tej pory
boję
4
W każdym nowoczesnym języku wcinasz, aby struktura była czysta. Upuszczenie aparatu jest oczywistym krokiem naprzód. Nie ma to nic wspólnego z kartami dziurkowanymi i nie sądzę, aby liczba programistów mających z nimi doświadczenie była znacząca lub była 13 lat temu. Co więcej, mam nadzieję, że większość z nich nie uzyskała tak daleko idących skojarzeń jak ty.
maaartinus
@maaartinus: To oczywisty krok naprzód, aż napotkasz wyrażenie zbyt długie, aby zmieścić się w jednej linii bez przewijania w poziomie. Potem sprawy stają się niezręcznie szybko.
Mason Wheeler,
1
@Mason Wheeler: Lepsze podejście do zawijania linii w edytorze pomaga również: stackoverflow.com/questions/759577/…
retracile,