¿Por qué la popularidad de Python fue tan repentina? [cerrado]

84

Python apareció por primera vez en 1991, pero era algo desconocido hasta 2004, si la clasificación de TIOBE cuantifica algo significativo.

¿Que pasó? ¿Qué causó que el interés en este idioma de 13 años se disparara? ¿Hay alguna razón por la cual Python no fue considerado un verdadero competidor de Perl en su primera década de existencia? ¿Hay alguna razón por la que Python no continuó en relativa oscuridad durante otros diez años?

Personalmente, creo que Python es un lenguaje muy agradable, y me alegro de no ser el único. Pero no tiene respaldo corporativo o una característica asesina que explicaría un aumento repentino de relevancia.

¿Alguien sabe la historia?

Eric Wilson
fuente
66
¡Históricamente, ese es un aumento bastante rápido!
Macneil
3
Esta pregunta fue bastante interesante. +1
Tim Post
1
El ensayo The Python Paradox es de 2004.
stesch
2
¿Podría la gente haber venido a Python a través de Django, como algunos llegaron a Ruby a través de Rails?
Andrew Grimm
1
Django Ese es el primer contexto en el que escuché a las personas hablar sobre usarlo realmente en serio para el desarrollo. Antes de eso, la mayor parte de la charla que había visto al respecto era "¿por qué nadie quiere usar este lenguaje?" O ... "Rails es por qué Ruby despegó y por qué Python no va a ninguna parte". (Tenga en cuenta que el último fue en días anteriores a Django).
scriptocalypse

Respuestas:

74

Google

Google comenzó a usar Python en gran medida y reinvirtió en el desarrollo del lenguaje.

Pero no tiene respaldo corporativo o una característica asesina que explicaría un aumento repentino de relevancia.

Google es el respaldo corporativo. En cuanto a las características, Python es un lenguaje multiplataforma rápido 1 interpretado por OOP . ¿Que es no gustar? Es otra herramienta excelente en la caja de herramientas.


1. Rápido para desarrollar , no rápido para ejecutar. Escribir un script de propósito general en Python es mucho más rápido que decir Java o C, sin tener en cuenta el hecho de que ese lenguaje se ejecutaría más rápido.

Josh K
fuente
25
Guido van Rossum, creador de Python fue contratado por Google alrededor de 2005, al mismo tiempo que comenzaron a usar Python en gran medida. Esto también proporcionó un impulso.
nayan
66
¿Qué quieres decir con lenguaje rápido ?
Peaker
Recuerdo que la gente decía que, como lenguaje interpretado, era demasiado lento en comparación con Perl, pero ahora las computadoras son mucho más rápidas.
user2442
55
¿El salto en el uso en 2004 se debió a que Google comenzó a usarlo en gran medida en 2005?
Tom Hawtin - tackline
1
Leí en el libro 'Googleplex' de Steven Levy que el primer rastreador web de Google fue implementado (mal) en Python por Page y Brin alrededor de 1996. Fue reescrito en C por uno de sus primeros empleados, que tenía más experiencia en la web. desarrollo. Entonces, la asociación de Python con Google se remonta a sus inicios.
dodgy_coder
24

Comencé a usar Python alrededor de 2001, y más en serio en 04/05, y más en serio un poco más tarde. Puedo recordar algunas cosas que sucedieron que cambiaron la actitud hacia Python y lo hicieron más viable como lenguaje de desarrollo web.

  • FCGI sucede, y luego WSGI. Antes de eso, tenía que ejecutar scripts de Python como CGI ordinario, que no era lo suficientemente rápido. mod_python no era tan bueno como mod_php, .NET CLR o la plataforma Java JIT VM.

  • Prominentes universidades comenzaron a enseñar algoritmos y otras clases usando Python, y se publicaron libros como 'Aprender a pensar como un informático' y se hicieron populares.

  • Se convirtió en un lenguaje de implementación de primer nivel en Google a principios de la década, y esto tuvo un impacto en la seriedad con la que se tomó.

  • Los desarrolladores visibles y los desarrolladores de estándares, como Joe Gregorio y Mark Pilgrim, usaban Python para implementar los prototipos del protocolo Atom. Pilgrim luego escribió DiveIntoPython que ayudó a mucha gente a aprender y aprender el idioma.

  • La rama 2.x se estabilizó e implementó características tales como soporte Unicode, buen análisis XML, un nuevo recolector de basura, generadores y métodos funcionales, etc.

  • El mayor punto de inflexión fue Django, que se hizo muy famoso junto con RubyOnRails alrededor de 2005. La filosofía de Django difería de la de Rails, y muchos desarrolladores lo encontraron más adecuado para proyectos.

Para un lenguaje que no estaba respaldado por una gran corporación (como C # y Java), la curva de adopción y desarrollo es bastante típica y cercana a otros lenguajes de código abierto como Ruby.

Django no tuvo tanto impacto en Python como Rails en Ruby, ya que los científicos, matemáticos, quants, académicos, etc. ya lo usaban mucho.

nikcub
fuente
10

La reorganización del índice TIOBE en 2004 se debe a que Google cambió su búsqueda. Realmente no hay mucho que puedas aprender de TIOBE, es una tontería. No creo que haya habido un salto repentino en la popularidad de Python. Ciertamente no porque una compañía lo use internamente para algunas de sus cosas.

Tom Hawtin - tackline
fuente
55
Si no confías en TIOBE, puedes probar Indeed.com. Muestran un crecimiento constante en las ofertas de empleo para Python desde 2005
Robert Harvey
3
Sin sentido o no, hay muchos programadores que nunca habían oído hablar de Python en 2003, y lo hicieron a fines de 2005. Lo cual es inusual para un lenguaje en su segunda década.
Eric Wilson
@RobertHarvey: parece que la tendencia en realidad es genérica para los lenguajes de desarrollo web. P.ej. Indeed.com/jobtrends?q=python%2C+php%2C+ruby .
vartec
@vartec De hecho, parece un crecimiento constante (presumiblemente a expensas del crecimiento de Perl) en lugar de un salto repentino. / Interesante ver cuán relativamente mal Obejctive-C: presumiblemente Apple tiene cientos de miles de programadores trabajando por debajo del salario mínimo.
Tom Hawtin - tackline
6

Google fue la razón. Solo un puñado de lenguajes son obligatorios en Google: C ++, Java, Python, Javascript, PHP?

El respaldo corporativo es muy importante para el éxito de un idioma. Ejemplos:

  • C ++: AT&T Bell Labs
  • Java: sol
  • C #: Microsoft
  • Python: Google
grokus
fuente
2
Realmente no deberías publicar una respuesta tan similar a una existente. Edita cualquier cosa que sientas que falta.
Josh K
1
@ Josh, te voté, pero sentí que no decía todo lo que quería decir, sin embargo, no estaba seguro de si a la gente le gustaría si modificara sus respuestas.
grokus
66
Si mejora la calidad de la respuesta, supongo que debería estar bien. La función está ahí por una razón.
nayan
2
Esa es la idea del sitio. ;)
Josh K
Deseo que Perl obtenga respaldo corporativo.
Chankey Pathak
1

La comunidad a su alrededor alcanzó una masa crítica. Es muy difícil superar la barrera de la popularidad, y no es realmente inesperado que ocurra de repente.

Emilio M Bumachar
fuente
-1

Hay algunos aspectos de Python que lo hicieron ver, francamente, arcaico. Cosas que te hicieron sentir como si estuvieras codificando en tarjetas perforadas en un mainframe. Como tener un espacio de sangría importante para los bloques de código. Pequeñas cosas como esa causaron que mucha gente descartara el lenguaje después de una breve mirada. Sospecho que eso dolió bastante en los primeros días. Especialmente en la multitud que había vivido en ese tipo de entornos durante años y no quería nada más que alejarse del mainframe y salir a la web.

cabbey
fuente
44
El alcance de sangría es un debate religioso. Algunas personas lo aman, otras lo detestan, pero es imposible dar argumentos concluyentes a favor o en contra.
dbkk
1
exactamente mi punto. Los que detestan se alejaron del idioma tan pronto como se dieron cuenta, y muchos hablaron mal el idioma a sus compañeros. Creo que eso lastimó la adopción durante mucho tiempo. (TBH: es una de las razones por las que todavía a esta fecha temo tener que trabajar en * .py)
cabbey
44
En cualquier lenguaje moderno, sangrá para aclarar la estructura, de todos modos. Entonces, dejar caer los frenos es un paso obvio hacia adelante. No tiene nada que ver con las tarjetas perforadas y no creo que el número de programadores que tienen una experiencia con ellas sea significativo o lo fue hace 13 años. Además, espero que la mayoría de ellos no hayan tenido una asociación tan descabellada como tú.
maaartinus
@maaartinus: Es un paso obvio hacia adelante, hasta que te encuentras con una expresión demasiado larga para caber en una línea sin desplazamiento horizontal. Entonces las cosas se ponen incómodas rápido.
Mason Wheeler
1
@Mason Wheeler: un mejor enfoque de ajuste de línea en su editor también ayuda: stackoverflow.com/questions/759577/…
reorganizar el