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.
- ¿Es el trabajo que hacen los programadores en Google como lo que hacen las personas en otras compañías de software?
- Si le dieran el trabajo para hacer el peor lenguaje de uso general posible pero aún utilizable, ¿qué características tendría o no tendría?
- Si hay un libro que ha leído y recomendaría que todos lo leyeran, ¿cuál sería?
- ¿La codificación será un trabajo de salario mínimo en 50 años?
- ¿Se puede usar una tarjeta de memoria como RAM? Si es así, como lo haces?