it-swarm-es.com

¿Por qué hay tantos lenguajes de programación? ¿Por qué todavía se están haciendo nuevos idiomas?

¿Por qué hay tantos lenguajes de programación?

¿Y qué impulsa a alguien a crear lenguajes de programación a pesar de que ya existen otros lenguajes?

51
Moshe

Los lenguajes de programación evolucionan

Los nuevos lenguajes de programación a menudo aprenden de los lenguajes existentes y agregan, eliminan y combinan funciones de una manera nueva. Hay algunos paradigmas diferentes como orientado a objetos y funcional y muchos modernos los idiomas intentan mezclar características de ambos.

También hay nuevos problemas que deben resolverse, p. El aumento de las CPU multinúcleo. La solución más común a eso han sido los hilos, pero algunos lenguajes de programación intentan resolver el problema de concurrencia de una manera diferente, p. El modelo de actor. Ver Erlang - Software para un mundo concurrente

37
Jonas

Es un ciclo. Empiezas un nuevo idioma y eres libre de alejarte de toda la sintaxis mala y las malas elecciones de tus predecesores. En la versión 1, el lenguaje se ve muy bien porque no tiene nada de ese equipaje y hace el trabajo. Luego, en las versiones más nuevas, comienzas a experimentar con características que pueden no funcionar, o incorporas características de otros lenguajes más nuevos que hacen que tu sintaxis sea un poco confusa. Mira, después de algunas versiones más, te das cuenta de que tu idioma ahora es tan complicado como el que reemplazaste, con problemas de sintaxis tontos y equipaje heredado. Y de repente, te das cuenta de que si creaste un idioma nuevo, podrías arreglar todo eso ...

23
RationalGeek

Por la misma razón hay martillos, destornilladores, sierras de mano, sierras de cinta, martillos neumáticos, palancas y una gran cantidad de otras herramientas: no todos los idiomas son perfectos para cada tarea. Algunos lenguajes están dirigidos a dominios de problemas específicos: R es particularmente bueno para el análisis estadístico, C es particularmente bueno para escribir los núcleos del sistema operativo, Haskell es particularmente bueno para los cálculos matemáticos o financieros pesados, Erlang es particularmente bueno en la programación concurrente, etc.

Además, por la misma razón que las camisas vienen en diferentes colores: a algunas personas les gusta el "estilo" de un idioma sobre otro.

Y, por supuesto, a muchos programadores les resulta divertido inventar un nuevo idioma, solo para ver qué sucede, o tal vez porque tienen algún conocimiento sobre los idiomas y quieren rascarse una picazón, o probar algunas ideas.

11
mipadi

Porque todos apestan (de una forma u otra).

En este momento, hemos creado alrededor de 5000 idiomas para describir problemas naturales y ninguno de ellos está disponible para escribir programas (un ejemplo sería "inglés").

Hasta que alguien encuentre una manera de crear un lenguaje de programación que pueda expresar lo que usted puede expresar en una oración en un lenguaje natural, seguirá apareciendo.

8
Aaron Digulla

Obviamente, una motivación importante para crear un nuevo idioma es lograr algo mejor que los idiomas ya existentes. Y como siempre hay margen de mejora, siempre habrá nuevos idiomas.

Los intereses comerciales son otra gran razón. Creo que es importante, por ejemplo, que Microsoft pueda ofrecer un lenguaje para cada necesidad para que las empresas y los desarrolladores prefieran sus plataformas.

6
Carlos

Código heredado. Si comienza un nuevo idioma, no tiene que escuchar/considerar todas las quejas cuando cambia un idioma antiguo. Incluso si todos están de acuerdo en que la nueva implementación es mejor, no puede romper el código anterior. Y hay mucho código antiguo por ahí.

6
JeffO

porque es divertido crear nuevos idiomas incluso si no tienen un uso real

Un lenguaje de programación esotérico (a veces acortado a esolang) es un lenguaje de programación diseñado para probar los límites del diseño del lenguaje de programación de computadoras, como prueba de concepto o como una broma.

4
jk.

Crear un lenguaje de programación es bastante divertido. Está cerca del trabajo creativo puro, ya que no está limitado a los requisitos anteriores. Ya no es tan difícil de implementar, ya que siempre puede compilar en C y compilar el código C para obtener un rendimiento adecuado si está escribiendo un compilador en primer lugar.

Por supuesto, la mayoría de nosotros tenemos menos buenas ideas de las que creemos tener, por lo que a menudo terminan siendo decepcionantes o no son amados por nadie más que el diseñador original.

Piensa en cualquier lenguaje de programación que conozcas. Puedes pensar fácilmente en varias cosas que no te gustan, ¿verdad? Presumiblemente tienes ideas de cómo podrían solucionarse. Con solo un poco más de impulso, suponiendo que sepa mucho sobre la compilación de compiladores (y mucha gente lo sabe), puede comenzar a diseñar e incluso implementar el suyo propio.

3
David Thornley

Respuesta corta rápida

Reinventar la rueda ... ¿Cuál es la tendencia actual ...

Respuesta larga aburrida

Muchas personas olvidan que "otro lenguaje nuevo similar para los programadores antiguos" es "un lenguaje completamente nuevo para los programadores nuevos".

¿A qué me refiero con eso?

Bueno, para programadores de "varios años", Java o C # pueden ser lenguajes de programación adicionales para Cobol existente, (OO/Procedural) Basic, C/C++, mientras que para programadores "nuevos", = Java o C # son nuevos lenguajes, mientras que Cobol, (OO/Procedural) Basic, C/C++ no existe para ellos, por lo que reinventar la rueda se convierte en algo común ...

Y, si hay una nueva tendencia en tecnología, las personas pueden crear un nuevo lenguaje de programación basado en esa tendencia, como ecmascript/javascript para la web y programación funcional ...

Salud.

2
umlcat

los nuevos lenguajes de programación se crean por muchas razones diferentes, principalmente porque hay un nuevo paradigma de programación o debido a los avances en el hardware, las personas crean un nuevo lenguaje para aprovechar las nuevas características de hardware como la multitarea, etc.

en mi caso, generalmente construyo pequeños compiladores (con un nuevo lenguaje de programación), por razones especiales. si hago una gran cantidad de juegos y creo que un lenguaje de programación creado específicamente para el desarrollo de juegos dará como resultado un código más pequeño y más rápido y un desarrollo más rápido, entonces lo construyo. y al final resulta que también se puede usar para otra programación de propósito general.

Creo que la mayoría de las personas que crean lenguajes de programación tienen un propósito específico en mente, hay quienes los crean para fines generales desde el principio. pero la mayoría no lo son.

Por cierto, creo que hay demasiados lenguajes de programación, pero siempre saldrán cientos de nuevos. algunos por diversión, otros por un propósito específico, como un proyecto escolar, o por cientos de otras razones. y tarde o temprano se volverá popular uno nuevo. Nunca va a terminar.

1
Sergio Fernandez

Hay algunas razones, la mayoría se debe a que las personas piensan que lo que existe no facilita la resolución de un conjunto de problemas. Algunos son solo por diversión o por interés académico.

Creo que hay un argumento sólido de que el problema de cómo diseñar el lenguaje perfecto aún no está resuelto (y puede que nunca lo esté). Por lo tanto, siempre y cuando las personas tengan nuevas ideas sobre lo que sería un gran idioma, la gente seguirá intentando. Algunos de esos intentos trazarán un nuevo espacio como Erlang y otros fracasarán, pero siempre que se aprenda algo del flop, eso también está bien.

0
Zachary K

Por la misma razón, hay tantos <whatever> y seguimos creando nuevos <whatever>

Hay una docena de marcos MVC PHP MVC, por ejemplo, pero la gente siempre creará nuevos para satisfacer necesidades específicas, para evitar volverse dependientes de algún otro equipo, o simplemente para tratar de crear algo mejor. Lo mismo es válido para básicamente todo tipo de herramienta o aplicación.

Es algo muy bueno, casi todos ganan en todos para mí en mi opinión.

0
Fosco

Las universidades contribuyen con una gran cantidad de lenguajes de programación, y también lo hacen grandes corporaciones como Ericsson (Erlang = lenguaje Ericsson), Bell Labs (idiomas B y C), Google (lenguaje Go desde hace unos meses). Muchos de los que fueron escritos como parte de la investigación universitaria no se usan mucho. Sin embargo, hay algunas excepciones notables. Supongo que escribir su propio lenguaje/compilador es un buen tema para las tesis doctorales de personas que estudian Teoría CS o disciplinas relacionadas. Me sorprende que Python es uno de los primeros idiomas que nace del esfuerzo colaborativo en línea de varios programadores en torno a una sola idea.

0
ixtmixilix