Realmente me gustaría centrarme en por qué algunos nuevos lenguajes de programación se adoptan en la corriente principal, y otros siguen siendo relativamente específicos. Me gustaría saber cosas como casos de uso específicos, compatibilidad con versiones anteriores o algunas características nuevas, dificultades de implementación simples o complejas. Se agradecerían ejemplos específicos, pero no nos dejemos atrapar por la definición exacta de "corriente principal" o "nicho" aquí.
programming-languages
DeadMG
fuente
fuente
Respuestas:
Si alguien realmente lo supiera, serían personas muy ricas.
Dicho esto, aquí está mi suposición:
Disponibilidad
BASIC es un lenguaje pequeño y horrible que vino con (¿todos?) PC cuando salieron por primera vez. La Apple II (la computadora predeterminada para muchas escuelas secundarias) y la ATARI 400/800 (la primera computadora hogareña súper barata) vienen con BASIC.
Si tenía una máquina UNIX (AT&T system V o Berkeley's) tenía C. Si quería programar la máquina, eso era lo que tenía que usar.
EDITAR : con el advenimiento y la ubicuidad de la red, este requisito se transforma en:
Facilidad de transición
Java es un buen ejemplo aquí. Si conocía la programación en C, Java no estaba muy lejos y, sin embargo, le dio muchas de las características que C carecía y C ++ no pudo proporcionar de manera limpia.
C ++ por razones obvias fue un paso fácil hacia adelante desde C, y fue fácil de vender a la administración como un C. "mejorado". C ++ tenía el beneficio adicional de ser compatible con versiones anteriores de gran parte de la base de código C existente.
Perl fue una fusión de C, awk, sed y otras utilidades de Unix, todo en un solo paquete. Antes de su aparición, la mayoría de la administración del sistema se realizaba mediante scripts de shell que pegaban todo de manera insatisfactoria. Poner todo bajo un solo proceso con las estructuras de datos y el control de un lenguaje tipo C fue un regalo del cielo.
Llena una necesidad
C despegó porque le permitía producir eficiencias cercanas al ensamblaje sin atascarse en el mundo del ensamblaje específico de la máquina, difícil de mantener.
FORTRAN despegó porque permitió una fácil traducción de ideas matemáticas en código sin tener que perderse en los detalles de la máquina.
Asimismo para LISP y manipulación simbólica.
Python surgió de la necesidad de un "mejor" Perl. (Soy parcial, así que no diré más).
PHP era esencialmente el BASIC para la web: se instaló de manera predeterminada en muchos servidores web y fue fácil hackear algo útil rápidamente.
Abogacía, base de usuarios, código contribuido
Seamos realistas, Haskell no sería tan popular como lo es para un lenguaje que no está en producción si no fuera por la incansable defensa de sus desarrolladores y su base de usuarios.
Muchos idiomas tienen un culto a la personalidad detrás de los creadores del idioma, y todos sabemos quiénes son.
FORTRAN tiene enormes conjuntos de códigos matemáticos establecidos y examinados; lo mismo para Java y los sistemas web / integración de sistemas / MVC; lo mismo para Perl y CPAN; lo mismo para T E X y la gestión de documentos; etc.
El factor it
Por alguna razón, algunos idiomas parecen tener la cantidad correcta de novedades , con un guiño suficiente al antiguo , de una manera que hace que parezca fácil o necesario. Es decir, hace su propio caso. ¿Y quién sabe cómo sucede esto?
De todos modos, esa es mi mejor suposición de por qué algunos lo logran. En cuanto a por qué algunos no ... bueno, si no cumplen con los criterios anteriores, probablemente es por eso que fallaron.
fuente
Los idiomas se vuelven populares porque tienen una ventaja sobre los idiomas existentes en un área que se necesita.
Java
PHP
JavaScript
C objetivo
Rubí
C#
ActionScript
Erlang
fuente
Seré un cínico: dinero y con eso, marketing.
No es casualidad que C # sea compatible con Microsoft, Java con Oracle y Objective C con Apple. Solo Google's Go no se ha levantado realmente hasta ahora.
Por supuesto, el dinero no es la única razón, pero tener bolsillos profundos seguramente ayuda a colocar su idioma en el mercado.
fuente
Por un lado, es marketing, presentaciones más precisas, blogs, etc. Es importante tener características con las que los programadores principales puedan relacionarse y ver beneficios sobre lo que saben (Java vs. C ++ - recolector de basura vs. gestión de memoria). Por último, pero no menos importante, es tener una barrera de entrada baja: ejemplos, buenas documentaciones, instalación perfecta, buena comunidad y soporte, desarrollo vibrante.
fuente
Casi todos los idiomas tenían programas no triviales de resolución de problemas del mundo real escritos con ellos desde muy temprano en su vida.
Unix se escribió en C, al igual que las herramientas en Unix, cuando C era muy joven y evolucionaba.
Anaconda (el programa de instalación de RedHat) fue escrito en Python cuando Python era joven y no tenía la popularidad de hoy.
Esto es lo que puedo recordar con las manos libres Esta lista podría tocar cada uno de los idiomas que ha sobrevivido a sus años de formación.
Entonces, la adopción a gran escala en las universidades puede ayudar a la longevidad de un idioma. Java es muy popular en las universidades como lenguaje de enseñanza. Hasta cierto punto, Lisp y los dialectos de Lisp también disfrutan de este estado.
fuente