Introducción A La Computación
lazaruz2400017 de Mayo de 2014
4.157 Palabras (17 Páginas)285 Visitas
Introducción a la computación
1.2 Historia de los lenguajes de computación
El lenguaje de una computadora es una sintaxis codificada usada por los programadores para comunicarse con ella. Es el único lenguaje que entienden las computadoras, los programas de software y el hardware. Establece un flujo de comunicación entre los programas de software. El lenguaje le permite al usuario dictar los comandos que la computadora debe entender para procesar los datos. El lenguaje viene en varios tipos qu e emplean conjuntos de sintaxis diferente.
En la década de los 40 empezaron a surgir los primeros lenguajes de programación de ordenadores. Estos primeros lenguajes (llamados lenguajes Ensamblador) estaban basados en símbolos o nemónicos que se correspondían directamente con instrucciones de código máquina (el código que es capaz de interpretar un ordenador sin necesidad de un intérprete o traductor).
En 1957 aparece el lenguaje Fortran (siglas de Formula TRANslator), el primer lenguaje de alto nivel ampliamente difundido y utilizado a nivel mundial. El primer compilador de Fortran fue desarrollado por un equipo de IBM liderado por John W. Backus. Inicialmente Fortran fue muy utilizado en el mundo científico y en aplicaciones militares, y se escribieron multitud de librerías matemáticas para cálculo numérico, algunas de las cuales siguen utilizándose hoy en día.
Ya en 1960 aparece LISP, un lenguaje idóneo para crear programas de inteligencia artificial porque utilizaba conceptos de programación funcional y recursividad. Aunque no es muy utilizado para el desarrollo de aplicaciones empresariales, LISP sigue siendo utilizado hoy en día en entornos docentes (yo mismo lo utilizo en una asignatura en la que se enseñan diversos paradigmas de programación).
El lenguaje Java
He dedicado un apartado de este artículo al lenguaje de programación Java por la importancia que tiene actualmente en el mundo del desarrollo de software en general. Java es un lenguaje orientado a objetos diseñado en 1990 por James Gosling y Patrick Naughton, de la empresa Sun Microsystems. El origen del nombre “Java” es bastante curioso, se rumorea que sus creadores discutían sobre cómo llamar al lenguaje mientras tomaban café, y al final les gustó el nombre de la marca del café que tomaban, el café “Java”. Su desarrollo se realizó siempre con un concepto en mente: “Write Once, Run Anywhere”. Esto significa que Java se diseñó pensando en que un programa escrito en este lenguaje pudiese ser ejecutado en cualquier máquina, no sólo ordenadores, sino también cualquier dispositivo electrónico como calculadoras, dispositivos móviles, portátiles, etc. Esta idea de un lenguaje universal ya había sido abordada por el lenguaje C y su estandarización ANSI, pero la realidad es que no se consiguió hasta la llegada de Java.
En la actualidad el uso de Java ha sido muy impulsado por la amplia influencia de Internet, debido a la universalidad de Java por la capacidad de sus programas para ser ejecutados en cualquier tipo de máquina.
Los lenguajes más utilizados actualmente
En la actualidad varios son los lenguajes de programación más utilizados. A pesar de su antigüedad, el lenguaje C sigue siendo muy utilizado, sobre todo en aplicaciones relacionadas muy directamente con el hardware (software industrial, etc.). El propio sistema operativo Linux está escrito en su mayor parte en lenguaje C. Ellenguaje C++ también sigue siendo muy utilizado, sobre todo en aplicaciones de escritorio orientadas al sistema operativo Windows.
El lenguaje COBOL también se utiliza mucho, sobre todo en entidades bancarias y grandes empresas con sistemas mainframes para las que la fiabilidad del sistema es un factor clave, y los costes y riesgos de migración a otros lenguajes son hoy por hoy inasumibles. Al contrario de las creencias populares que afirman que se trata de un lenguaje obsoleto y no utilizado, algunos lo plantean como una buena alternativa para aquellos que buscan empleo.
Lenguaje de máquina
El lenguaje de máquina, o el código de máquina, es el lenguaje nativo directamente entendido por la unidad central del procesador de la computadora o CPU. Este tipo de lenguaje no es fácil de entender, porque usa solamente un sistema binario, un elemento de notas que contiene una serie de números que consisten de 1 y 0, para producir comandos. El procesador de la computadora necesita convertir los lenguajes de alto nivel en este lenguaje antes de que pueda correr el programa o ejecutar un comando definido. Para convertir un lenguaje al código de máquina, el procesador de la computadora necesita un recopilador, un programa que convierte una fuente de código escrita en un lenguaje en una sintaxis de lenguaje diferente. El recopilador genera un archivo binario, o un archivo ejecutable, que el CPU puede ejecutar. El procesador de toda computadora tiene su propio conjunto de códigos de máquina. Este código determina lo que el procesador puede hacer y cómo.
Lenguaje a nivel ensamblador
Un estudio de los ´50 llevó al desarrollo de lenguajes de bajo nivel o lenguaje de nivel ensamblador. También considerado como un lenguaje de segunda generación, este lenguaje es un conjunto de códigos que pueden correr directamente en el procesador de la computadora. Es el lenguaje más apropiado en la escritura de los sistemas operativos y para mantener las aplicaciones del escritorio. Le permite al programador hacer varias tareas en el registro, el gerenciador de la memoria y el ciclo del reloj de la correspondencia. Con este lenguaje es fácil para el programador definir los comandos porque tiene la prerrogativa cuando se trata de nombrar las variables. Sin embargo, este lenguaje no es flexible porque el usuario no puede re-usar los conjuntos de códigos escritos. No es tan explicativo comparado con sus contrapartes. El usuario no tiene un lenguaje encriptado en el lenguaje de la máquina para que procese los comandos que escribió el programador.
Lenguaje de alto nivel
El desarrollo de lenguajes de alto nivel llegó cuando los programadores comenzaron a tener problemas con la cada vez más difícil falta de portabilidad de las computadoras. Los lenguajes de alto nivel ignoran los detalles poco importantes encontrados en los de bajo nivel. Muchos programadores consideran que los lenguajes de alto nivel son la solución a los problemas que traen los otros lenguajes porque es fácil de usar y tiene una baja tendencia a producir errores. Los programadores se refieren a este lenguaje como los lenguajes medios que sólo usan los conceptos de abstracción y construcción de los extremos.
1.3 Procesos de edición, compilación y enlazado
Cuando un programa está escrito en un lenguaje de programación es llamado programa fuente, y no se puede ejecutar directamente en la computadora. Aquí si se da la opción más común que es compilar el programa. El código fuente del programa se debe de someter a un proceso de traducción, para convertirlo en lenguaje máquina, a este proceso se le llama compilación. Casi normalmente la creación de un programa ejecutable lleva consigo dos pasos. El primer paso se llama compilación y como antes se decía es el que traduce el código fuente escrito en un lenguaje de programación a un código de bajo nivel. Pero el segundo paso se llama enlazado.
Enlazado: en este se enlaza el código de bajo nivel generado de todos los ficheros y subprogramas que se han mandado compilar y se añade el código de las funciones que hay en las bibliotecas del compilador para que el ejecutable pueda comunicarse directamente con el sistema operativo, traduciendo así finalmente el código objeto a código máquina, y generando un módulo ejecutable.
1.4 Entorno de lenguaje “C” y software de aplicación de última generació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 ellibro The C Programming Languaje que publicó Prentice Hall en 1978 se hizo impresionantemente famoso.
Claro que C tuvo un inconveniente, su amplia difusión ahora le estaba jugando una mala pasada, al ser tan universal, habían muchas variantes, además bastante incompatibles, creando serios problemas para los desarrolladores de software, que necesitaban escribir código para diferentes plataformas, y claro que era imprescindible que exista compatibilidad. Todo el mundo necesitaba que se cree una versión universal de C. Tarea llevada a cabo por la ANSI, que no fué sino hasta 1989 para que se aprobara el estándar.
...