¿Qué impulsa la adopción o no de nuevos lenguajes de programación? [cerrado]

12

Realmente me gustaría centrarme en por qué algunos lenguajes de programación nuevos se adoptan en la corriente principal, y otros siguen siendo relativamente nicho. Me gustaría saber sobre cosas como casos de uso específicos, compatibilidad con versiones anteriores o algunas características nuevas, dificultad de implementación simple o compleja. Se agradecerán ejemplos específicos, pero no nos dejemos atrapar por la definición exacta de "mainstream" o "nicho" aquí.

    
pregunta DeadMG 10.07.2011 - 23:05

5 respuestas

18

Si alguien realmente supiera, serían personas muy ricas.

Dicho esto, aquí está mi conjetura:

Disponibilidad

BASIC es un lenguaje muy pequeño que viene 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 doméstica súper barata) vinieron con BASIC.

Si tenías una máquina UNIX (ya sea AT & T system V o Berkeley's) tenías C. Si querías programar la máquina, eso es lo que tenías que usar.

EDIT : con el advenimiento y la ubicuidad de 'net, este requisito se transforma en:

  1. ¿Cuántas distribuciones de Linux empaquetan una copia reciente y qué tan bien las mantienen actualizadas? ¿Las bibliotecas de terceros están disponibles de forma similar para su instalación?
  2. ¿Se instala fácilmente en Windows (XP | Vista | 7,8 ...)?
  3. ¿Están cubiertas las plataformas Mac / iOS?
  4. ¿Se puede instalar sin problemas en Unix heredado?
  5. Y una vez instalado, ¿qué tan fácil es acceder a bibliotecas de terceros, y se puede actualizar fácilmente?

Facilidad de transición

Java es un buen ejemplo aquí. Si conocías la programación en C, Java no era un gran avance y, sin embargo, proporcionaba muchas de las características que a C le faltaban y que C ++ no podía proporcionar de forma limpia.

C ++ por razones obvias fue un paso adelante de C, y fue fácil de vender a la administración como una "C mejorada". C ++ tuvo el beneficio adicional de ser compatible con versiones anteriores con gran parte de la base de código C existente. / p>

Perl fue una amalgama de C, awk, sed y otras utilidades Unix en un solo paquete. Antes de su aparición, la mayoría de la administración del sistema se realizaba a través de scripts de shell que pegaban todo de una manera insatisfactoria. Poner todo bajo un solo proceso con las estructuras de datos y el control de un lenguaje tipo C fue una bendición.

Llena una necesidad

C despegó porque le permitió 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ó la fácil traducción de las ideas matemáticas al código sin tener que perderse en los detalles de la máquina.

Igualmente para LISP y manipulación simbólica.

Python surgió de la necesidad de un "mejor" Perl. (Estoy predispuesto aquí, así que no diré más).

PHP fue esencialmente el BÁSICO para la web: se instaló de forma predeterminada en muchos servidores web y fue fácil de hackear algo útil rápidamente.

Defensa, Base de usuarios, Código contribuido

Seamos realistas, Haskell no sería tan popular como 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 lenguaje, y todos sabemos quiénes son.

FORTRAN tiene grandes conjuntos de códigos matemáticos establecidos y examinados; lo mismo para Java y la web / sistemas-integración / MVC-sistemas; lo mismo para Perl y CPAN; lo mismo para T E X y gestión de documentos; etc.

El It Factor

Por alguna razón, algunos idiomas parecen tener la cantidad correcta de nuevo , con suficiente aprobación para el antiguo , de una manera que hace que parezca fácil o necesario. Es decir, tiene 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 sea por eso que fallaron.

    
respondido por el unpythonic 10.07.2011 - 23:41
11

Los idiomas se vuelven populares porque tienen una ventaja sobre los idiomas existentes en un área que se necesita.

Java

  • Administración automática de la memoria (compárela con C ++ y C)
  • Idioma / API integrado en subprocesos
  • Se ejecuta en una máquina virtual (lo que significa que los desarrolladores pueden usar Windows en las máquinas de desarrollo para probar e implementar la aplicación sin modificaciones en Linux / Unix).
  • La programación en red es mucho más fácil que en los lenguajes que eran más populares antes (C ++ y C) y Java se lanzó cuando Internet comenzó a ser popular.

PHP

  • El desarrollo web hecho fácil
  • Soporte incorporado para conectarse a bases de datos MySQL
  • No se necesita compilación y fue fácil incluir los scripts directamente en tus archivos HTML.

JavaScript

  • El idioma solo para los navegadores web.
  • Los navegadores web se utilizan cada vez más como clientes ligeros (aplicaciones web).
  • Código móvil: fácil de implementar y sin instalación

Objective-C

  • El idioma para el entorno Mac OS X y el iPhone. Y el iPhone ha sido un gran éxito.

Ruby

  • Junto con Ruby on Rails, un marco web, facilitó mucho el desarrollo web a gran escala con MVC.

C #

  • El idioma para entornos Windows en los últimos diez años. Casi todas las API de Microsoft son fáciles de usar con C # e.g. Winforms y WPF y WCF.

ActionScript

  • El lenguaje único para Addobe Flash / Flex, que ha tenido un gran éxito para el contenido de medios en Internet y cosas que JavaScript no pudo manejar.

Erlang

  • Concurrencia & Tolerancia a fallas: Erlang tenía un modelo único para hacer sistemas de concurrencia y sistemas tolerantes a fallas. Comenzó a ser útil para la industria de las telecomunicaciones, más tarde fue de código abierto y obtuvo interés de las grandes compañías de Internet que también necesitaban tolerancia a fallos.
respondido por el Jonas 10.07.2011 - 23:36
5

Seré un cínico: dinero y con eso, marketing.

No es una coincidencia que C # sea compatible con Microsoft, Java por Oracle y Objective C por Apple. Solo el Go de Google no se ha levantado hasta ahora.

Por supuesto, el dinero no es la única razón, pero tener un bolsillo profundo ayuda a colocar su idioma en el mercado.

    
respondido por el Carra 11.07.2011 - 09:29
3

Por un lado, es marketing, más precisamente presentaciones, blogs, etc. Es importante tener características con las que los programadores convencionales puedan relacionarse y ver los beneficios de 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 asistencia, desarrollo dinámico.

    
respondido por el Gabriel Ščerbák 10.07.2011 - 23:20
1

Casi todos los idiomas tenían programas no triviales de resolución de problemas del mundo real escritos en muy temprano en su vida.

Unix se escribió en C, al igual que las herramientas en Unix, cuando C era muy joven y estaba evolucionando.

Anaconda (el programa de instalación de RedHat) se escribió en Python cuando Python era joven y no tenía la popularidad de hoy.

Esto es lo que puedo recordar entregado. Esta lista podría tocar cada uno de los idiomas que han 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 lengua de enseñanza. Hasta cierto punto, Lisp y los dialectos de Lisp también disfrutan de este estado.

    
respondido por el vpit3833 11.07.2011 - 01:39

Lea otras preguntas en las etiquetas