Historia de los lenguajes de programación
La historia de la informática y de la computación se ha caracterizado
fundamentalmente en la existencia de centenares de lenguajes de
programación, de forma tal que siempre se ha hablado de “la Babel
de los lenguajes”, aunque bien es cierto que son solo unas decenas
escasas los que han tenido un impacto significativo, y uno pocos los
utilizados en la industria, los negocios y la ciencia.
Muchos de los lenguajes de programación actuales tienen sus raíces
en los lenguajes que nacieron a finales de los cincuenta y primeros
años de los sesenta, tales como COBOL (1960) , FORTRAN IV(1961),
BASIC (1964), LOGO (1967). Estos lenguajes representaron la primera
alternativa a los lenguajes ensambladores. En la década de los
setenta y primeros años de los ochenta emergieron nuevos lenguajes,
como Pascal (1971), C (1972) y Ada (1979), que se convirtieron en
dominantes, desplazando por ejemplo a otros como ALGOL Y BASIC. Otros
lenguajes, como COBOL y FORTRAN, lograron adaptarse y se mantuvieron
como lenguajes de referencia en el mundo de los negocios y en el
campo científico, respectivamente, con versiones actualizadas y
estandarizadas por organizaciones como ANSI.
Todos esto lenguajes anteriores seguían el estilo de programación
estructurada y se conocían lenguajes de programación imperativos o
estructurados. En paralelo con el desarrollo de estos lenguajes
surgieron dos nuevos estilos o paradigmas de programación;
programación funcional y programación orientada a objetos.
Posteriormente a principios de los ochenta apareció C++ como lenguaje
imperativo con propiedades de orientación a objetos y que durante la
década de los noventa ha sido el lenguaje de programación orientada
a objetos por excelencia. En 1995 se presento oficialmente por el
constructor Sun el lenguaje Java, un lenguaje orientado a objetos y
con una funcionalidad muy dirigida a la red Internte. En el año 2000
Microsoft presento C#.
El lenguaje C: historia y características
C es el lenguaje de programación de propósito general asociado, de
modo universal, al sistema operativo UNIX. Sin embargo la
popularidad, eficacia y potencia de C se ha producido porque este
lenguaje no esta prácticamente asociado a ningún sistema operativo,
ni a ninguna maquina en especial. Esta es la razón fundamental por
la cual C es conocido como el lenguaje de programación de sistemas
por excelencia.
C es una evolución de los lenguajes BCPL – desarrollado por Martin
Richards- y B- desarrollado por Ken Thompson en 1970—para el
primitivo UNIX de la computadora DEC PDP-7.
C nació realmente en 1978. Desde su nacimiento, C fue creciendo en
popularidad y los sucesivos cambios en el lenguaje a lo largo de los
años junto a la creación de compiladores por grupos no involucrados
en su diseño hicieron necesario pensar en la estandarizacion de la
definición del lenguaje C.
C es un lenguaje de alto nivel, que permite programar con
instrucciones de lenguajes de propósito genera. También C se define
como un lenguaje de programación estructurado de propósito general;
aunque en su diseño también primo el hecho de fuera especificado
como un lenguaje de programación de sistemas, lo que proporciona una
enorme cantidad de potencia y flexibilidad.
Ventajas de C
El lenguaje C tiene una gran cantidad de ventajas sobre otros
lenguajes y constituye precisamente la razón fundamental de que
después de casi dos décadas de uso C siga siendo uno de los
lenguajes mas populares, utilizados en empresas, organizaciones y
fabricas de software de todo el mundo.
Algunas ventajas que posee este lenguaje son:
- El lenguaje C es poderoso y flexible, con ordenes, operaciones y funciones de biblioteca que se pueden utilizar para escribir la mayoría de los programas que corren en la computadora.
- C se utiliza por programadores profesionales para desarrollar software en la mayoría de los modernos sistemas de computadora.
- Se puede utilizar C para desarrollar sistema operativos, compiladores, sistemas de tiempo real y aplicaciones de comunicaciones.
- Un programa C puede ser escrito para un tipo de computadora y trasladarse a otro computadora con pocas o ninguna modificación .
C se caracteriza por su velocidad de ejecución. En los primeros días
de la informática los problemas de tiempo de ejecución se resolvían
escribiendo todo o parte de una aplicación en lenguaje ensamblador.
Debido a que existen mucho programas escritos en C se han creado
numerosas bibliotecas C para programadores profesionales que soportan
gran variedad de aplicaciones.
Características técnicas de C
Hay numerosas características que diferencias a C de otros lenguajes
y lo hacen eficiente y potente a la vez
- Una nueva sintaxis para declarar funciones. Una declaración de función puede añadir una descripción de los argumentos de la función. Esta información adicional sirve para que los compiladores detecten mas fácilmente los errores causados por argumentos que no coinciden.
- Asignación de estructuras y enumeraciones.
- Pre-procesador mas sofisticado.
- Una nueva definición de la biblioteca que acompaña a C. Entre otras funciones se incluyen: acceso al sistema operativo (por ejemplo, lectura y escritura de archivos), entrada y salida con formato, asignación dinámica de memoria, manejo de cadenas de caracteres.
- Una colección de cabeceras estándar que proporciona acceso uniforme a las declaraciones de funciones y tipos de datos.
Breve historia de C++
C++ es heredero directo del lenguaje C que a su vez se deriva del
lenguaje B. C se mantiene como un subconjunto de C++. El lenguaje de
programación C fue desarrollado por Dennos Ritche de AT&T Bell
Laboratorios que se utilizo para escribir y mantener el sistema
operativo Unix. C es un lenguaje de propósito general que se puede
utilizar para escribir cualquier tipo de programa. Aunque C es un
lenguaje muy potente, tiene dos características que lo hacen
inapropiado como una introducción moderna a la programación.
Primero, C requiere un nivel de sofisticacion a sus usuarios que les
obliga a un difícil aprendizaje para los programadores
principiantes, ya que es de comprensión difícil. Segundo, C fue
diseñado al principio de los setenta, y la naturaleza de la
programación ha cambiado de modo significativo en la década de los
ochenta y noventa.
Para subsanar estas deficiencias Bjarne Stroustrup de AT&T Bell
Laboratorios desarrollo C++ al principio de la década de los ochenta.
Stroustrup diseño C++ como un mejor C. En general, C estándar es un
subconjunto de C++ y la mayoría de los programas C son también
programas C++. C++, ademas de añadir propiedades a C, presenta
características y propiedades de programación orientada a objetos,
que es una técnica de programación muy potente.
Se han presentado varias versiones de C++ y su evolución continua en
la actualidad. Las características mas notables que han ido
incorporándose a C++ son : herencia múltiple, genericidad,
plantillas, funciones virtuales, excepciones, etc.
Breve historia de Java
Ocho años después de su lanzamiento, Java se convirtió en un
estándar de la industria, en un lenguaje de programación para
desarrollo de aplicaciones tanto de propósito general como de
Internet y también en un lenguaje para comenzar la formación en
programación, al tener características excelentes para el
aprendizaje.
Java, desarrollado por Sun Microsystems en 1995, es un magnifico y
completo lenguaje de programación orientado a objetos diseñado para
distribuir contenidos a través de una red. Una de sus principales
características es que permite operar de forma independiente de la
plataforma y del sistema operativo que se este utilizando. Esto
quiere decir que permite crear una aplicación que podrá descargarse
de la red y funcionar posteriormente en cualquier tipo de plataforma
de hardware o software. Generalmente, por el contrario, todo programa
o aplicación queda atado a dos cosas: a hardware y al sistema
operativo.
La idea de Java por el contrario, es poner una capa sobre cualquier
plataforma de hardware y sobre cualquier sistema operativo para
permitir que cualquier aplicación desarrollada en Java quede ligada
únicamente a Java, independizada por lo tanto de la plataforma. Esta
concepción queda recogida en el concepto de maquina virtual JVM
(Java Virtual Machina), un software que interpreta instrucciones para
cualquier maquina sobre la que este corriendo y que permite, una vez
instalado, que una misma aplicación pueda funcionar en un PC o en un
Mac sin tener que tocarla. Hoy en día cualquier sistema operativo
(Windows, Macintosh, Linux, Unix, Solaris, etc.) cuenta con una JVM,
Así que, lo que hace java en combinación con esta “maquina” es
funcionar como hardware y como sistema operativo virtual, emulando en
software una CPU universal. Al instalar Java esta actuara como una
capa de abstracción entre un programa y el sistema operativo,
otorgando una total independencia de lo que haya por debajo, es
decir; cualquier aplicación funcionara en cualquier maquina e
incluso en cualquier dispositivo.
Otra gran ventaja es que los programadores no tendrán que desarrollar
varias versiones de la misma aplicación, puesto que el modelo de
desarrollo es el mismo se trate del dispositivo mas pequeño o del
mas grande de los servidores. Otra gran ventaja es que permite que
todas las maquinas, plataformas y aplicaciones se comuniquen entre si
accediendo desde cualquier equipo, donde quiera que este. En
definitiva, se puede decir que Java es lo mas cercano a un lenguaje
de computación universal que existe hoy día, lo que significa que
puede correr en cualquier plataforma siempre y cuando una maquina
virtual haya sido escrita para ella.
C# el mas joven
A pesar del éxito de java, indudable por otra parte, también tiene
sus lagunas. Entre ellas la dificultad para la interoperabilidad de
lenguajes cruzados o programación de lenguajes mezclados. ES decir,
la capacidad para que el código producido por un lenguaje funcione
fácilmente con el código producido por otro. La interoperabilidad de
lenguajes cruzados se requiere para la creación de sistemas de
software grandes y distribuidos, así como para la construcción de
componentes de software.
Otra carencia notable de Java es la no integración completa de la
plataforma Java, aunque los programas java se pueden ejecutar en un
entorno Windows ( suponiendo que se ha instalado la Maquina Virtual
Java). Para responder a estas necesidades Microsoft creo C# dentro de su
estrategia global .NET y nombro arquitecto jefe del proyecto a Anders
Hejlsberg , uno de los grandes expertos mundiales en lenguajes de
programación (entre otros proyectos creo en los ochenta el popular
Turbo Pascal).
C# esta relacionado directamente con C, C++ y Java. De C ha heredado
su sintaxis, muchas de las palabras reservadas y sus operadores. De
C++ ha heredado su modelo de objetos. La relación con Java es mas
bien de “amor/odio”. C# y Java son familia, mas bien primos
hermanos, sin embargo C# no es descendiente de Java, aunque compartan
unos descendientes comunes, C y C++. Por ejemplo, ambos soportan
programación distribuida y ambos utilizan código intermedio para
conseguir portabilidad, pero difieren en los detalles. C# añade
importantes innovaciones al arte de la programación. Por ejemplo, C#
incluye delegados, propiedades, indexadores y eventos como elementos
del lenguaje.
También añade sintaxis que soporta atributos. Además C#
racionaliza la creación de componentes, eliminado los problemas
asociados con COM. También, en este caso como Java, ofrece una
cantidad significativa de verificación de errores en tiempo de
ejecución , seguridad y gestión de la ejecución. En resumen C#
reúne la potencia de C++ con la seguridad de tipos de Java.
C# representa en la primera década del siglo XXI (21) a un lenguaje
de programación con la mayoría de las grandes propiedades que todo
buen lenguaje debe cumplir. Por esta razón es un lenguaje que ningún
programador profesional puede ignorar si desea realizar desarrollador
elegantes y eficientes.
No hay comentarios.:
Publicar un comentario