Los 10 lenguajes de programación principales, según el índice TIOBE, parecen estar fuertemente influenciados por C:
1. Java
El lenguaje deriva gran parte de su sintaxis de C y C ++, pero tiene un modelo de objeto más simple y menos instalaciones de bajo nivel. - wikipedia.org
2. C
C es uno de los lenguajes de programación más utilizados de todos los tiempos y hay muy pocas arquitecturas de computadora para las cuales no existe un compilador de C. - wikipedia.org
3. C #
Durante el desarrollo de .NET Framework, las bibliotecas de clases se escribieron originalmente utilizando un sistema de compilación de código administrado llamado Simple Managed C (SMC). En enero de 1999, Anders Hejlsberg formó un equipo para construir un nuevo lenguaje en ese momento llamado Cool, que significaba "lenguaje orientado a objetos tipo C". - wikipedia.org
4. C ++
Fue desarrollado por Bjarne Stroustrup a partir de 1979 en Bell Labs como una mejora del lenguaje C. - wikipedia.org
5. Objetivo-C
Objective-C es un lenguaje de programación reflexivo y orientado a objetos que agrega mensajes de estilo Smalltalk al lenguaje de programación C. - wikipedia.org
6. PHP
Reescribió estos scripts como archivos binarios del lenguaje de programación C Common Gateway Interface (CGI), extendiéndolos para agregar la capacidad de trabajar con formularios web y comunicarse con bases de datos y llamó a esta implementación "Intérprete personal de página de inicio / formularios" o PHP / FI. - wikipedia.org
8. Python
Python fue concebido a fines de la década de 1980 y su implementación fue iniciada en diciembre de 1989 por Guido van Rossum en CWI en los Países Bajos como un sucesor del lenguaje de programación ABC (inspirado por SETL) capaz de manejar e interactuar con el sistema operativo Amoeba. - wikipedia.org
ABC (lenguaje de programación) Sus diseñadores afirman que los programas ABC son típicamente alrededor de una cuarta parte del tamaño de los programas equivalentes Pascal o C, y más legibles. - wikipedia.org
9. Perl
Perl toma prestadas funciones de otros lenguajes de programación, incluidos C, scripting de shell (sh), AWK y sed. - wikipedia.org
10. JavaScript
JavaScript utiliza la sintaxis influenciada por la de C. - wikipedia.org
Parece que la mayoría de ellos toman prestada su sintaxis de C y / o están fuertemente influenciados de varias otras maneras, al menos en sus inicios. ¿Por qué?
fuente
Respuestas:
Con el surgimiento de UNIX en la década de 1970, su lenguaje de programación de sistemas estándar C se convirtió rápidamente en la lengua franca del mundo de la programación. Durante bastante tiempo, C fue prácticamente obligatorio para todos los programadores. Como tal, el hecho de que C haya influido en casi todos los lenguajes de programación que lo siguieron de una forma u otra no es sorprendente, por dos razones:
Pero existían otros idiomas, y todavía existen, algunos incluso anteriores a C: existe la familia LISP (CL, Clojure y Scheme son los dialectos modernos más populares), la familia ML (con varios dialectos modernos), hay un ejército completo de Dialectos BÁSICOS (VB.NET y VBA son implementaciones modernas), hay Pascal y sus parientes (Delphi es el más conocido) y muchos idiomas 'extraños' que tomaron influencias de muchos otros idiomas e inventaron algunas cosas; Los ejemplos incluyen Go, Python, Lua, Haskell (y su predecesor, Miranda), Prolog y Erlang. Si bien ninguno de estos lenguajes (excepto Python) se encuentra entre los 10 principales, muchos de ellos tienen una base de usuarios estable y una comunidad activa; ciertamente no van a desaparecer.
Además, debe tenerse en cuenta que la cantidad de influencia de C en estos lenguajes difiere enormemente, desde los lenguajes casi 100% compatibles con C C ++ y Objective-C, hasta Python (que abandona deliberadamente muchas de las características de sintaxis de C). Y esa es solo la sintaxis: en términos de semántica, la mayoría de los idiomas en esa lista no tienen mucho en común con C. La gran mayoría tiene una gestión de memoria integrada en el lenguaje y, en consecuencia, copia semántica, aprobación de argumentos, etc. , son muy diferentes. JavaScript, por ejemplo, tiene fuertes influencias semánticas de Scheme, mientras que su sintaxis fue diseñada para parecerse a Java (que, a su vez, basa su sintaxis de bits y piezas en C, pero no su semántica). Otras diferencias (con la excepción de C ++ y Objective-C, que son en su mayoría compatibles con C) incluyen manejo de errores, reglas de alcance,
#include
), y el hecho de que muchos de estos lenguajes están "virtualizados", es decir, se ejecutan en un intérprete, un compilador JIT o una máquina virtual.Python, por cierto, tiene cierta influencia de C, pero ciertamente no está "basado en" C. Tanto la sintaxis como la semántica difieren radicalmente de C, y esto es por diseño. Python solo toma prestadas características de C donde otras alternativas son igualmente "buenas" (según el "Zen de Python" - escriba
import this
un intérprete de Python).En cuanto al futuro de la programación; Las predicciones varían. La influencia de C no va a desaparecer, pero los desarrollos recientes en hardware (las máquinas de varios núcleos se están volviendo comunes, las GPU potentes, la CPU que deja de ser el típico cuello de botella de rendimiento, las conexiones de red rápidas y confiables, etc.) requieren enfoques radicalmente diferentes para la programación en general. Cualquiera que haya escrito una aplicación distribuida multiproceso en un lenguaje imperativo puede decir que es increíblemente difícil, mientras que los lenguajes como Haskell tienen características que eliminan la mayoría de los problemas típicos y ofrecen un enfoque más abstracto y más estructurado para el procesamiento distribuido, concurrente y paralelo. (La pureza es un concepto importante en este contexto). Los lenguajes de programación más nuevos (p. Ej., C # o D) ya incluyen muchas funciones para admitir tal modismo. En todo caso,
fuente
Esto es muy parecido a preguntar por qué el inglés es el idioma dominante en los Estados Unidos. ¿Por qué no español o francés? Controlaron más territorio estadounidense que las colonias inglesas. ¿Por qué no holandés? La primera capital de los Estados Unidos estaba en una antigua colonia holandesa. No estoy seguro de que pueda haber una "respuesta" a esto.
Sin embargo, la línea de tiempo "Historial de idiomas de computadora" ( http://www.levenez.com/lang/ ) proporciona toda la respuesta que posiblemente pueda haber.
fuente
Si crea un nuevo lenguaje de programación, tener una sintaxis similar a los lenguajes existentes populares hace que el aprendizaje sea más fácil para sus nuevos usuarios. Especialmente si muchos conceptos son similares entre idiomas.
También creo que la sintaxis de estilo C es relativamente fácil de leer. Para comparar con Pascal, usar los símbolos "{" y "}" para bloques de código es más legible que "comenzar" y "terminar", que son ópticamente muy similares a los identificadores. Python es aún más legible, pero incluir espacios en blanco en la sintaxis abre un nuevo conjunto de problemas con la edición. Otro ejemplo: Lisp y JavaScript comparten algunas ideas, pero cuando lo mismo está escrito en sintaxis de estilo C, es menos oscuro.
Estoy seguro de que muchas personas no estarían de acuerdo con el segundo párrafo, porque cada uno tiene su propio lenguaje favorito, pero creo que la popularidad de la sintaxis de estilo C es en parte una coincidencia histórica, pero en parte también muestra que los autores de C hicieron algunos buenos decisiones
fuente
Los lenguajes de programación evolucionan con el tiempo al igual que los lenguajes naturales, con algunos lenguajes antiguos que influyen en esa evolución de una manera más fuerte que otros, mientras que otros se desvanecen en la oscuridad y su influencia es más difícil de rastrear en el nivel superficial, es decir, la sintaxis.
La influencia de C proviene de muchas fuentes: es de bajo nivel, generalizada y cuenta con el respaldo de los círculos de Unix y Microsoft. También es la supervivencia del problema más apto: es fácil ver que la sintaxis concisa tipo C tenía más atractivo que la sintaxis detallada derivada de Algol de Pascal y otros competidores de C en los años setenta y ochenta. Por lo tanto, fue ampliamente adoptado por los idiomas que le siguieron.
Con el crecimiento actual de importancia de la programación multiproceso y los lenguajes funcionales que se adaptan particularmente bien a él, diría que veremos crecer su influencia en el futuro. Caso en cuestión: Python, que incluso hizo esa lista en la publicación de preguntas.
Una buena vista de la línea de tiempo de la historia del lenguaje para reflexionar sobre
fuente
La mayoría de los lenguajes que enumera no tienen prácticamente nada que ver con C, aparte de similitudes sintácticas irrelevantes. Los únicos dos derivados reales de C son Objective-C y C ++.
fuente