¿La lista de los principales lenguajes de programación se reducirá o crecerá en el futuro?

Ambos escenarios sucederán. Algunos idiomas antiguos quedarán fuera de moda, mientras que los nuevos se diseñarán para atender a fines especiales (quizás incluso para propósitos aún no previstos). Lo que será mayor es algo que solo un profeta puede decir.

Hasta cierto punto, es deseable tener menos idiomas, ya que un solo programador puede llegar a ser más competente con un pequeño número de idiomas y sus peculiaridades particulares, nadie alcanzará ese nivel de dominio en todos los idiomas. Sin embargo, tampoco es tan deseable como tener un lenguaje que haga la tarea en cuestión mucho más simple / más rápido / más fácil / más robusto / etc.

Y ese último punto es por qué simplemente hay tantos idiomas, cada uno fue diseñado debido a alguna deficiencia en otros. Es por eso que están diseñados no solo para tener otro idioma, sino porque alguien descubrió que ninguna de las cosas existentes hizo alguna “cosa” suficientemente buena “especial”. Es literalmente imposible hacer un solo idioma que sea “perfecto” para todo en todos los escenarios para todos, se ha intentado hasta la saciedad y ha fallado tantas veces. Está especializado para un puñado de tareas, o tiene un propósito general y compromete casi todo. Es decir, puede hacerlo todo, solo algunos no tan bien como otros idiomas especializados. Siempre hay “algo” en el que un lenguaje generalizado es totalmente inadecuado o mucho menos efectivo que algo diseñado específicamente para tal propósito.

Así que supongo que nos quedaríamos con casi la misma cantidad de idiomas durante al menos las próximas décadas. Quizás un poco menos, o igualmente, un poco más. Pero definitivamente no nos estamos moviendo hacia un escenario de “un idioma para gobernarlos a todos”, en realidad parece exactamente lo contrario.

En realidad, hay toda una rama de programación dedicada a crear millones de pequeños lenguajes de propósito especial. “Podrían” agruparse en DSL (lenguaje específico de dominio). Y estos tienden a estar escritos en Lisp o en algún derivado de ML. Estos programadores tienden a crear un lenguaje especializado para un solo programa, luego escriben el programa en ese nuevo idioma. Pueden reutilizar dicho DSL para programas posteriores, pero no siempre es el objetivo hacerlo. En realidad, puede ver incluso establecer cosas como una jerarquía de objetos como un DSL parcial en sí mismo.

Tienes razón para querer verlo. La programación es muy diferente para tus adversarios.

Tiene que haber diferentes programas para responder diferentes plataformas o diferentes reacciones en la pantalla.

Creo que se reducirá porque los programas serán más inteligentes.

More Interesting

¿Qué tan grande fue una hazaña de ingeniería de Linux cuando se lanzó por primera vez en 1991?

¿Cuál es la forma recomendada de mantenerse actualizado con las últimas tecnologías, técnicas y herramientas en el desarrollo de software y aplicaciones?

¿Qué aplicación utilizan la mayoría de los bancos indios para todas sus transacciones financieras? He oído que es Finacle. ¿Cuál es el significado de Finacle en el sector bancario? ¿En qué back-end y tecnología se basa Finacle?

¿Es este el momento adecuado para cambiar de trabajo en la industria del software?

¿Cuál es la verdadera razón detrás del bloqueo de países como Siria para acceder a algunos sitios web?

¿Cuáles son las habilidades necesarias para el desarrollador de software?

¿Refactorizar a métodos simples y obvios es mejor que el desarrollo basado en pruebas?

¿Cuál es la diferencia entre desarrollo de software y programación competitiva?

¿Cómo verifica Facebook si hay nuevas notificaciones?

¿Cómo se comunicaban e intercambiaban aplicaciones complejas en red antes de desarrollar el estilo arquitectónico REST?

¿Qué decisiones acertadas de arquitectura de software tomó Facebook? ¿Qué elecciones y decisiones que se tomaron en los primeros días realmente valieron la pena a largo plazo?

¿Cuál es el beneficio de la programación orientada a objetos con estructuras de datos inmutables y funciones referencialmente transparentes?

¿Qué software se desarrolló con el método de 'sala limpia'? ¿Por qué?

¿Por qué no hay una plataforma de código abierto para desarrollar productos de software?

¿Es posible escribir software libre de errores? ¿Qué tan buenos somos para atrapar todas las posibles excepciones? ¿Debemos prestar más atención a cada escenario de excepción o falla? ¿Es ese el problema fundamental? ¿Eso merece su propia línea de trabajo?