martes, 12 de febrero de 2013

Evolución Del Lenguaje C


INTRODUCCIÓN


Luego de la aparición de B y BCPL, en los Laboratorios Bell, Ken Thompson modeló muchas características sacadas de su lenguaje B, según las equivalentes en BCPL, con B creó las primeras versiones del sistema operativo UNIX, durante los 70s, en una computadora DEC PDP-7. 
En 1972, Dennis Ritchie, estaba finalizando su proyecto, en los famosos Laboratorios Bell. "El lenguaje C", una evolución del B, implementado originalmente en una DEC PDP-11. Al contrario de sus antecesores, C era un lenguaje con tipos, es decir, que cada elemento de información ocupaba un 'palabra' en memoria y la tarea de tratar cada elemento de datos como número entero, real, o arreglos, no recaía en el programador.
C era conocido como el lenguaje con el cual se desarrolló el sistema operativo UNIX, y actualmente la mayoría de los sistemas operativos se codifican en C. Lo bueno de este lenguaje es que no depende de la arquitectura de hardware. Es posible escribir código en C, y llevarlos a otras máquinas. Eso lo convirtió en unos de los lenguajes más portátiles del mercado. A fines de los 70s, evolucionó lo que conocemos como... 'C de Kernigham y Ritchie', y el libro The C Programming Languaje que publicó Prentice Hall en 1978 se hizo impresionantemente famoso.
Destacando 3 puntos:
·         ¿Qué es el lenguaje de programación? Un lenguaje de programación es un lenguaje diseñado para describir el conjunto de acciones consecutivas que un equipo debe ejecutar.
·         Tipos de lenguajes de programación. Lenguaje de alto nivel (Son aquellos que se encuentran más cercanos al lenguaje natural que al lenguaje máquina), lenguaje de medio nivel (Dentro de estos lenguajes podría situarse C ya que puede acceder a los registros del sistema, trabajar con direcciones de memoria, todas ellas características de lenguajes de bajo nivel y a la vez realizar operaciones de alto nivel) y lenguaje de bajo nivel (Son lenguajes totalmente dependientes de la máquina, es decir que el programa que se realiza con este tipo de lenguajes no se pueden migrar o utilizar en otras máquinas).
·         Historia del lenguaje C. El lenguaje de programación C fue creado por Dennis Ritchie, fue creado para poder escribir dicho sistema operativo en un lenguaje de alto nivel, independiente del hardware donde se ejecutara.


LENGUAJE DE PROGRAMACIÓN


Un lenguaje de programación es un lenguaje diseñado para describir el conjunto de acciones consecutivas que un equipo debe ejecutar. Por lo tanto, un lenguaje de programación es un modo práctico para que los seres humanos puedan dar instrucciones a un equipo.
Por otro lado, el término "lenguaje natural" define un medio de comunicación compartido por un grupo de personas (por ejemplo: inglés o francés).
Los lenguajes que los equipos usan para comunicarse entre ellos no tienen nada que ver con los lenguajes de programación; se los conoce como protocolos de comunicación. Se trata de dos conceptos totalmente diferentes. Un lenguaje de programación es muy estricto:
A cada instrucción le corresponde una acción de procesador.
El lenguaje utilizado por el procesador se denomina lenguaje máquina.
El lenguaje de programación tiene varias ventajas:
·         Es mucho más fácil de comprender que un lenguaje máquina:
·         Permite mayor portabilidad, es decir que puede adaptarse fácilmente para ejecutarse en diferentes tipos de equipos.

El ordenador sólo entiende un lenguaje conocido como código binario o código máquina, consistente en ceros y unos. Es decir, sólo utiliza 0 y 1 para codificar cualquier acción.
Los lenguajes más próximos a la arquitectura hardware se denominan lenguajes de bajo nivel y los que se encuentran más cercanos a los programadores y usuarios se denominan lenguajes de alto nivel.
Lenguajes de bajo nivel
Son lenguajes totalmente dependientes de la máquina, es decir que el programa que se realiza con este tipo de lenguajes no se pueden migrar o utilizar en otras máquinas.
Al estar prácticamente diseñados a medida del hardware, aprovechan al máximo las características del mismo.
Dentro de este grupo se encuentran:
·         El lenguaje maquina: este lenguaje ordena a la máquina las operaciones fundamentales para su funcionamiento. Consiste en la combinación de 0's y 1's para formar las ordenes entendibles por el hardware de la máquina. Este lenguaje es mucho más rápido que los lenguajes de alto nivel.  La desventaja es que son bastantes difíciles de manejar y usar, además de tener códigos fuente enormes donde encontrar un fallo es casi imposible.
·         El lenguaje ensamblador es un derivado del lenguaje máquina y está formado por abreviaturas de letras y números llamadas mnemotécnicos. Con la aparición de este lenguaje se crearon los programas traductores para poder pasar los programas escritos en lenguaje ensamblador a lenguaje máquina. Como ventaja con respecto al código máquina es que los códigos fuentes eran más cortos y los programas creados ocupaban menos memoria. Las desventajas de este lenguaje siguen siendo prácticamente las mismas que las del lenguaje ensamblador, añadiendo la dificultad de tener que aprender un nuevo lenguaje difícil de probar y mantener.
Lenguajes de alto nivel
Son aquellos que se encuentran más cercanos al lenguaje natural que al lenguaje máquina.
Están dirigidos a solucionar problemas mediante el uso de EDD's.
Nota: EDD's son las abreviaturas de Estructuras Dinámicas de Datos, algo muy utilizado en todos los lenguajes de programación. Son estructuras que pueden cambiar de tamaño durante la ejecución del programa. Nos permiten crear estructuras de datos que se adapten a las necesidades reales de un programa.
Se tratan de lenguajes independientes de la arquitectura del ordenador. Por lo que, en principio, un programa escrito en un lenguaje de alto nivel, lo puedes migrar de una máquina a otra sin ningún tipo de problema.
Estos lenguajes permiten al programador olvidarse por completo del funcionamiento interno de la maquina/s para la que están diseñando el programa. Tan solo necesitan un traductor que entiendan el código fuente como las características de la máquina.
Suelen usar tipos de datos para la programación y hay lenguajes de propósito general (cualquier tipo de aplicación) y de propósito específico (como FORTRAN para trabajos científicos).
Lenguajes de Medio nivel
Se trata de un término no aceptado por todos, pero que seguramente habrás oído. Estos lenguajes se encuentran en un punto medio entre los dos anteriores. Dentro de estos lenguajes podría situarse C ya que puede acceder a los registros del sistema, trabajar con direcciones de memoria, todas ellas características de lenguajes de bajo nivel y a la vez realizar operaciones de alto nivel.
Generaciones
La evolución de los lenguajes de programación se puede dividir en 5 etapas o generaciones.
·         Primera generación: lenguaje máquina.
·         Segunda generación: se crearon los primeros lenguajes ensambladores.
·         Tercera generación: se crean los primeros lenguajes de alto nivel. Ej. C, Pascal, Cobol…
·         Cuarta generación. Son los lenguajes capaces de generar código por si solos, son los llamados RAD, con lo cuales se pueden realizar aplicaciones sin ser un experto en el lenguaje. Aquí también se encuentran los lenguajes orientados a objetos, haciendo posible la reutilización d partes del código para otros programas. Ej. Visual, Natural Adabes…
·         Quinta generación: aquí se encuentran los lenguajes orientados a la inteligencia artificial. Estos lenguajes todavía están poco desarrollados. Ej. LISP
Principales lenguajes de nivel alto
·         VB.NET
·         Ada
·         ALGOL
·         BASIC
·         C#
·         COBOL
·         Fortran
·         Java
·         Lisp
·         Modula-2
·         Pascal
·         Perl
·         PHP
·         PL/1
·         PL/SQL
·         Python
·         Ruby
·         Matlab
Principales lenguajes de nivel medio
·         C
·         C++

El lenguaje de programación C fue creado por Dennis Ritchie entre 1969 y 1973 cuando trabajaba en Bell Laboratories de AT&T junto con Ken Thompson en el diseño del sistema operativo UNIX. C fue creado para poder escribir dicho sistema operativo en un lenguaje de alto nivel, independiente del hardware donde se ejecutara.
Contar con un lenguaje de alto nivel permitió el avance de los sistemas operativos, ya que el mismo código podía ser utilizado en las distintas plataformas, propiciando la reutilización de código y reduciendo los tiempos de desarrollo. Así es que los sistemas operativos basados en UNIX, el sistema BSD, el sistema GNU/Linux y muchos otros fueron desarrollados en C.
Además, con el paso del tiempo se han desarrollado cientos de bibliotecas que permiten a los programadores de C utilizar el código desarrollado por otros para la realización de tareas comunes. Esto, a su vez, ha propiciado el desarrollo de aplicaciones en lenguaje C.
Actualmente es imposible contar la cantidad de aplicaciones y herramientas desarrolladas en C.
Evolución
A mediados de los años 60s, Martin Richards diseñó el lenguaje BCPL con la finalidad de usarlo para escribir software de sistemas operativos y compiladores.
En 1969, Ken Thompson escribió el Lenguaje B, en Bell Laboratories, con el objetivo de recodificar UNIX (escrito hasta ese momento en lenguaje ensamblador) usando un lenguaje de alto nivel más portable y flexible.
Durante los siguientes años, Dennis Ritchie modificó el lenguaje B, llegando a crear el lenguaje C y reescribiendo el sistema UNIX en dicho lenguaje; añadió características nuevas, como son el diseño de tipos y las estructuras de datos.
En 1978, Dennis Ritchie y Brian Kernighan publicaron la primera edición del libro El lenguaje de programación C. Este libro fue durante años la especificación informal del lenguaje. El lenguaje descrito en la primera edición de este libro, fue conocido como "el C de Kernighan y Ritchie" o simplemente "K&R C". En este libro se introdujeron nuevas características al lenguaje: los tipo de datos struct, long int y unsigned int; los operadores =+ y =- fueron sustituidos por += y -=.
A mediados de los años 80, Bjarne Stroustrup (también de los laboratorios Bell), crea el lenguaje C++, un lenguaje basado en C, con numerosas características adicionales, siendo la principal que está orientado a objetos. Si bien se han creado muchos lenguajes basados en C, C++ es el que ha permanecido más asociado a C.
En los años siguientes a la publicación del C de Kernighan y Ritchie, se añadieron al lenguaje muchas características no oficiales, que estaban presentes en algunos compiladores y no en otros. Fue por ello que en 1989 ANSI (American National Standards Institute) publicó el primer estándar oficial de C, que es conocido como ANSI C.
En este estándar se tomaron muchas de las funcionalidades no oficiales y se agregaron funcionalidades nuevas como los prototipos de función, y un preprocesador mejorado. También se cambió la sintaxis de la declaración de parámetros de funciones, para que incluyeran el tipo junto con el nombre.
Al año siguiente, en 1990 se publicó la estandarización ISO del lenguaje. Este estándar es básicamente el estándar ANSI, con unas pocas modificaciones de formato. A este estándar se lo conoce, entonces, como C89, o C90, y se trata del mismo lenguaje.
Basándose en el estándar ANSI que estaba en preparación, en 1988 Kernighan y Ritchie publicaron la segunda edición de su libro, que es aún hoy utilizada como una de las referencias principales del lenguaje.
Durante los siguientes años, el lenguaje C permaneció sin demasiados cambios. Sin embargo, como había sucedido antes, los distintos compiladores fueron incorporando características adicionales, que otros compiladores no tenían, siendo C++ la principal influencia.
Fue por ello que a finales de los noventa se decidió revisar el estándar de C, lo que llevó a la publicación del estándar C99. Este estándar incluye varias nuevas características como son: las funciones inline; la posibilidad de declarar variables en cualquier parte del código; los comentarios de una sola línea utilizando //; los tipos de datos long long int, bool y complex, entre otras.
Aún hoy el proceso de evolución del lenguaje sigue avanzando, y desde 2007 se está trabajando en el armado de un nuevo estándar.

DIFERENTES ETAPAS DE DESARROLLO DEL LENGUAJE C


En 1978, Ritchie y Brian Kernighan publicaron la primera edición de El lenguaje de programación C, también conocido como La biblia de C. Este libro fue durante años la especificación informal del lenguaje. El lenguaje descrito en este libro recibe habitualmente el nombre de "el C de Kernighan y Ritchie" o simplemente "K&R C" (La segunda edición del libro cubre el estándar ANSI C, descrito más abajo).
Kernighan y Ritchie introdujeron las siguientes características al lenguaje:
·         El tipo de datos struct.
·         El tipo de datos long int.
·         El tipo de datos unsigned int.
Los operadores =+ y =- fueron sustituidos por += y -= para eliminar la ambigüedad sintáctica de expresiones como i=-10, que se podría interpretar bien como i =- 10 o bien como i = -10.
El C de Kernighan y Ritchie es el subconjunto más básico del lenguaje que un compilador debe de soportar. Durante muchos años, incluso tras la introducción del ANSI C, fue considerado "el mínimo común denominador" en el que los programadores debían programar cuando deseaban que sus programas fueran transportables, pues no todos los compiladores soportaban completamente ANSI, y el código razonablemente bien escrito en K&R C es también código ANSI C válido.
En las primeras versiones del lenguaje, la definición de funciones se hacía mediante un 'prototipo de función' (function prototype), el cual indicaba al compilador el tipo de retorno de la función. Aunque este método tiene una gran desventaja respecto al nuevo, debido a que no comprueba el número ni el tipo en la lista de argumentos; en otras palabras, es mucho más fácil cometer errores al hacer una llamada a una función con argumentos incorrectos.


Ejemplo del "viejo estilo":
int power(); /* Podria haberse omitido (*) */
 
power()
int a, b;
{
    int n;
    for (n = 1; b > 0; --b)
        n *= a;
    return n;
}
Ejemplo de la nueva definición:
int power(int a, int b)
{
    int n;
    for (n = 1; b > 0; --b)
        n *= a;
    return n;
}

(*) Por defecto, el tipo de retorno en C es int, por lo que la declaración entera int power(); podría haberse omitido.
En los años siguientes a la publicación del C de Kernighan y Ritchie, se añadieron al lenguaje muchas características no oficiales, que estaba soportadas por los compiladores de AT&T, entre otros. Algunas de estas características eran:
·         Funciones void y el tipo de datos void *.
·         Funciones que retornaban tipos de datos struct o union (en lugar de punteros).
·         Asignación de tipos de datos struct.
·         Calificador const, que hace que un objeto sea de sólo lectura.
·         Una biblioteca estándar, que incorporaba la mayoría de las funcionalidades implementadas por varios desarrolladores de compiladores.
·         Enumeraciones.

ANSI C e ISO C


A finales de la década de 1970, C empezó a sustituir a BASIC como lenguaje de programación de microcomputadores predominante. Durante la década de 1980 se empezó a usar en los IBM PC, lo que incrementó su popularidad significativamente. Al mismo tiempo, Bjarne Stroustrup empezó a trabajar con algunos compañeros de Bell Labs para añadir funcionalidades de programación orientada a objetos a C. El lenguaje que crearon, llamado C++, es hoy en día el lenguaje de programación de aplicaciones más común en el sistema operativo Microsoft Windows; mientras que C sigue siendo más popular en el entorno Unix. Otro lenguaje que se desarrolló en esa época, Objective C, también añadió características de programación orientada a objetos a C. Aunque hoy en día no es tan popular como C++, se usa para desarrollar aplicaciones Cocoa para Mac OS X.
En 1983, el Instituto Nacional Estadounidense de Estándares organizó un comité, X3j11, para establecer una especificación estándar de C. Tras un proceso largo y arduo, se completó el estándar en 1989 y se ratificó como el "Lenguaje de Programación C" ANSI X3.159-1989. Esta versión del lenguaje se conoce a menudo como ANSI C, o a veces como C89 (para distinguirla de C99).
En 1990, el estándar ANSI (con algunas modificaciones menores) fue adoptado por la Organización Internacional para la Estandarización (ISO) en el estándar ISO/IEC 9899:1990. Esta versión se conoce a veces como C90. No obstante, "C89" y "C90" se refieren en esencia al mismo lenguaje.
Uno de los objetivos del proceso de estandarización del ANSI C fue producir una extensión al C de Kernighan y Ritchie, incorporando muchas funcionalidades no oficiales. Sin embargo, el comité de estandarización incluyó también muchas funcionalidades nuevas, como prototipos de función, y un preprocesador mejorado. También se cambió la sintaxis de la declaración de parámetros para hacerla semejante a la empleada habitualmente en C++:
main(argc, argv)
    int  argc;
    char **argv;
{
...
}
pasó a ser:
int main(int argc, char *argv[])
{
...
}

ANSI C está soportado hoy en día por casi la totalidad de los compiladores. La mayoría del código C que se escribe actualmente está basado en ANSI C. Cualquier programa escrito sólo en C estándar sin código que dependa de un hardware determinado funciona correctamente en cualquier plataforma que disponga de una implementación de C compatible. Sin embargo, muchos programas han sido escritos de forma que sólo pueden compilarse en una cierta plataforma, o con un compilador concreto, esto puede ser debido a diversos motivos:
La utilización de bibliotecas no estándar, como interfaces gráficas de usuario.
El uso de compiladores que no cumplen las especificaciones del estándar.
El uso de tipos de datos suponiendo que tendrán el mismo tamaño u orden de los bits en todas las plataformas.
La macro __STDC__ puede usarse para dividir el código en secciones ANSI y K&R para el compilador.
# if __STDC__
extern int getopt(int,char * const *,const char *);
# else
extern int getopt();
# endif

Algunos programadores recomiendan usar "#if __STDC__", como en el ejemplo, en lugar de "#ifdef __STDC__" porque algunos compiladores le asignan el valor cero a __STDC__ para indicar que no son compatibles con ANSI.

C99


Tras el proceso de estandarización de ANSI, la especificación del lenguaje C permaneció relativamente estable durante algún tiempo, mientras que C++ siguió evolucionando. Sin embargo, el estándar continuó bajo revisión a finales de la década de 1990, lo que llevó a la publicación del estándar ISO 9899:1999 en 1999. Este estándar se denomina habitualmente "C99". Se adoptó como estándar ANSI en marzo de 2000.
Las nuevas características de C99 incluyen:
·         Funciones inline.
·         Las variables pueden declararse en cualquier sitio (como en C++), en lugar de poder declararse sólo tras otra declaración o al comienzo de una declaración compuesta.
·         Muchos tipos de datos, incluyendo long long int (para reducir el engorro de la transición de 32 bits a 64 bits), un tipo de datos booleano, y un tipo complex que representa números complejos.
·         Arrays de longitud variable.
·         Soporte para comentarios de una línea que empiecen con //, como en BCPL o en C++, característica para la que muchos compiladores habían dado soporte por su cuenta.
·         muchas funciones nuevas, como snprintf()
·         algunos headers nuevos, como stdint.h.
Una consideración importante es que hasta la publicación de este estándar, C había sido mayormente un subconjunto estricto del C++. Era muy sencillo "actualizar" un programa de C hacia C++ y mantener ese código compilable en ambos lenguajes. Sin embargo, el nuevo estándar agrega algunas características que C++ no admite, como por ejemplo los inicializadores estáticos de estructuras. También define al tipo "bool" de una manera que no es exactamente la del C++.
El compilador GCC, entre muchos otros, soportan hoy en día la mayoría de las nuevas características de C99. Sin embargo, este nuevo estándar ha tenido poca acogida entre algunos desarrolladores de compiladores, como Microsoft y Borland, que se han centrado en C++. Brandon Bray, de Microsoft, dijo a este respecto:
"En general, hemos visto poca demanda de muchas características de C99. Algunas características tienen más demanda que otras, y consideraremos incluirlas en versiones futuras siempre que sean compatibles con C++.

C11


C11 (antes conocido como C1X) es un nombre informal para ISO/IEC 9899:2011,3 el último estándar publicado para C. El borrador final, N1570,4 fue publicado en abril de 2011. El nuevo estándar superó su última revisión el 10 de octubre de 2011 y fue oficialmente ratificado por la ISO y publicado el 8 de diciembre de 2011.
C++
Al principio de los 80s, donde Bjarne Stroustrup, diseñó una extensión del lenguaje C, llamándolo C con Clases. El término clase provenía de Simula 67, y servía para entender más el comportamiento del mundo real y llevarlo a los códigos, ocultando los detalles de su implementación.
En 1984, C con Clases fue rediseñado en un compilador y se lo denominó C ++. Como lo indica la nota  Data Abstraction in C, en el Técnical Journal de AT&T Bell Laboratories. (vol. 63, núm 8, Octubre 1984). En 1985 estuvo disponible la primera versión del lenguaje C ++ y se realizó el libro de Bjarne Struostrup: The C ++ Programming Languaje, publicado por Addison-Wesley en 1986.
El nombre de C ++, fue porque éste último era una variante del C original. En el lenguaje C, el operador ++ significa, incrementar la variable, se eligió en nombre C ++, debido a que éste agregaba al C original el término de Programación Orientada a Objetos (POO), basadas en Simula 67.
Al ser C ++ una variación de C, los programas codificados en C pueden correr tranquilamente en C ++. En 1990, el lenguaje ha sido descrito por Stroustrup y Ellis en el Annotated C ++ Reference Manual editado por Addison -Wesley, existiendo una versión en español del mismo, con el título de C ++. Manual de Referencia con anotaciones publicado por Addison-Wesley/Días de Santos en 1994.
La versión actual estandarizada por ANSI, la versión 3.0 es la que soportan la mayoría de los fabricantes mundiales, como ser, , AT&T, WatCom, Microsoft, etc, es sus respectivas actualizaciones.
Hoy en día, Borland ofrece el compilador de C++ en la versión 5.5 de forma gratuita.




CONCLUSIONES


El lenguaje de programación nos sirve para describir las acciones seguidas que un equipo debe de llevar a cabo. Es la forma en la que nosotros, los seres humanos damos instrucciones a la máquina para realizar ciertas acciones.
Encontramos 3 tipos de lenguaje de programación; el lenguaje de alto nivel, es aquel que es más cercano a nuestro lenguaje o lenguaje natural; el lenguaje de medio nivel, es el que, como su nombre lo dice, se encuentra justo en medio del lenguaje de alto nivel y el lenguaje de bajo nivel, aquí se encuentra el lenguaje C; y por último, el lenguaje de bajo nivel, es el lenguaje que depende en su totalidad de la máquina.



ANEXOS


Lenguaje interpretado
Un lenguaje de programación es, por definición, diferente al lenguaje máquina. Por lo tanto, debe traducirse para que el procesador pueda comprenderlo. Un programa escrito en un lenguaje interpretado requiere de un programa auxiliar (el intérprete), que traduce los comandos de los programas según sea necesario.
Lenguaje compilado
Un programa escrito en un lenguaje "compilado" se traduce a través de un programa anexo llamado compilador que, a su vez, crea un nuevo archivo independiente que no necesita ningún otro programa para ejecutarse a sí mismo. Este archivo se llama ejecutable.
Un programa escrito en un lenguaje compilado posee la ventaja de no necesitar un programa anexo para ser ejecutado una vez que ha sido compilado. Además, como sólo es necesaria una traducción, la ejecución se vuelve más rápida.
Sin embargo, no es tan flexible como un programa escrito en lenguaje interpretado, ya que cada modificación del archivo fuente (el archivo comprensible para los seres humanos: el archivo a compilar) requiere de la compilación del programa para aplicar los cambios.
Por otra parte, un programa compilado tiene la ventaja de garantizar la seguridad del código fuente. En efecto, el lenguaje interpretado, al ser directamente un lenguaje legible, hace que cualquier persona pueda conocer los secretos de fabricación de un programa y, de ese modo, copiar su código o incluso modificarlo. Por lo tanto, existe el riesgo de que los derechos de autor no sean respetados. Por otro lado, ciertas aplicaciones aseguradas necesitan confidencialidad de código para evitar las copias ilegales (transacciones bancarias, pagos en línea, comunicaciones seguras...).
Lenguajes intermediarios
Algunos lenguajes pertenecen a ambas categorías (LISP, Java, Python...) dado que el programa escrito en estos lenguajes puede, en ciertos casos, sufrir una fase de compilación intermediaria, en un archivo escrito en un lenguaje ininteligible (por lo tanto diferente al archivo fuente) y no ejecutable (requeriría un intérprete). Los applets Java, pequeños programas que a menudo se cargan en páginas web, son archivos compilados que sólo pueden ejecutarse dentro de un navegador web (son archivos con la extensión .class).
A continuación, encontrará una breve lista de los lenguajes de programación actuales:

Lenguaje
Principal área de aplicación
Compilado/interpretado
ADA
Tiempo real
Lenguaje compilado
BASIC
Programación para fines educativos
Lenguaje interpretado
C
Programación de sistema
Lenguaje compilado
C++
Programación de sistema orientado a objeto
Lenguaje compilado
Cobol
Administración
Lenguaje compilado
Fortran
Cálculo
Lenguaje compilado
Java
Programación orientada a Internet
Lenguaje intermediario
MATLAB
Cálculos matemáticos
Lenguaje interpretado
Cálculos matemáticos
Cálculos matemáticos
Lenguaje interpretado
LISP
Inteligencia artificial
Lenguaje intermediario
Pascal
Educación
Lenguaje compilado
PHP
Desarrollo de sitios web dinámicos
Lenguaje interpretado
Inteligencia artificial
Inteligencia artificial
Lenguaje interpretado
Perl
Procesamiento de cadenas de caracteres
Lenguaje interpretado

Tabla 1. Lista de lenguaje de programación actuales





1 comentario:

  1. wow tu trabajo es fenomenal, me ahorraste horas de trabajo, muchas gracias.

    ResponderEliminar