Este documento describe los diferentes tipos de lenguajes de programación, incluyendo lenguajes de bajo nivel como el lenguaje de máquina y ensamblador, y lenguajes de alto nivel como C++, Java y Python. También explica los traductores de lenguaje como compiladores e intérpretes, y las generaciones de lenguajes de programación y su evolución a lo largo del tiempo.
2. TABLA DE CONTENIDO Lenguajes de programación, tipos y ejemplos: Bajo nivel, y alto nivel. Traductores de lenguaje (Intérpretes, Compiladores) Lenguajes de Cuarta Generación, Lenguajes de Quinta generación y de ejemplos. Generaciones de lenguajes de programación y su evolución.
3. Lenguajes de programación Un lenguaje de programación es un idioma artificial diseñado para expresar computaciones que pueden ser llevadas a cabo por máquinas como las computadoras. Pueden usarse para crear programas que controlen el comportamiento físico y lógico de una máquina, para expresar algoritmos con precisión, o como modo de comunicación humana. Está formado por un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones. Al proceso por el cual se escribe, se prueba, se depura, se compila y se mantiene el código fuente de un programa informático se le llama programación.
4. 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 utiliza en otras maquinas. 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 maquina. 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 maquina y esta 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.
5. Lenguaje de alto nivel Un lenguaje de programación de alto nivel se caracteriza por expresar los algoritmos de una manera adecuada a la capacidad cognitiva humana, en lugar de a la capacidad ejecutora de las máquinas. En los primeros lenguajes de alto nivel la limitación era que se orientaban a un área específica y sus instrucciones requerían de una sintaxis predefinida. Se clasifican como lenguajes procedimentales. Otra limitación de los lenguajes de alto nivel es que se requiere de ciertos conocimientos de programación para realizar las secuencias de instrucciones lógicas. Los lenguajes de alto nivel se crearon para que el usuario común pudiese solucionar un problema de procesamiento de datos de una manera más fácil y rápida. Por esta razón, a finales de los años 1950 surgió un nuevo tipo de lenguajes de programación que evitaba estos inconvenientes, a costa de ceder un poco en las ventajas. Estos lenguajes se llaman de tercera generación o de alto nivel, en contraposición a los de bajo nivel o de nivel próximo a la máquina.
6. Lenguaje de alto nivel Ventajas Genera un código más sencillo y comprensible. Escribir un código válido para diversas máquinas y, posiblemente, sistemas operativos. Inconvenientes Reducción de velocidad al ceder el trabajo de bajo nivel a la máquina. Algunos requieren que la máquina cliente posea una determinada plataforma. Principales lenguajes de alto nivel: Ada, ALGOL, BASIC, C++, C#, Clipper, COBOL, Fortran, Haskell, Java, Lisp, Logo, MATLAB, Modula-2, Pascal, Perl, PL/SQL, Python, RPG, Visual FoxPro
7. Traductores de lenguajes Los traductores de lenguajes son programas que traducen a su vez los programas fuente escritos en lenguajes de alto nivel a código máquina. Los traductores se dividen en: Compiladores Interpretes.
8. Compiladores Un compilador es un programa que traduce los programas fuente escritos en lenguajes de alto nivel a lenguaje máquina. Los programas escritos en lenguajes de alto nivel (en el editor del lenguaje) se llaman programas fuente y el programa traducido programa objeto o código objeto. El compilador traduce (sentencia a sentencia) el programa fuente. Lenguajes compiladores típicos son: PASCAL, COBOL, C.. Fases de la compilación La compilación es el proceso de la traducción de programas fuente a programas objeto. El programa objeto obtenido de la compilación no ha sido traducido normalmente a código máquina sino a ensamblador. Para conseguir el programa máquina real se debe utilizar un programa llamado montador o enlazador (linker). El proceso de montaje conduce a un programa en lenguaje máquina directamente ejecutable:
10. Compiladores Por ejemplo: El proceso de ejecución de un Programa en C++ tiene los siguientes pasos: Escritura del programa fuente con un editor (programa que permite a una computadora actuar de modo similar a una máquina de escribir electrónica) y guardarlo en un dispositivo de almacenamiento (un disco). Introducir el programa fuente en memoria. Compilar el programa con el compilador C++. Verificar y corregir errores de compilación (listado de errores). Obtención del programa objeto. El montador obtiene el programa ejecutable. Se ejecuta el programa y si no existen errores, se tendrá la salida del mismo.
12. Interpretes Un interprete es un traductor que toma un programa fuente, lo traduce y a continuación lo ejecuta (dicho programa por medio de la computadora desarrolla una tarea especifica). Un lenguaje que soporte un traductor de tipo intérprete se denomina lenguaje interpretado. BASIC es el modelo por excelencia interpretado. Los programas fuente en BASIC se escriben con ayuda de un programa denominado editor que suele venir incorporado al programa intérprete.
14. Lenguajes De Cuarta Generacion Los Lenguajes de cuarta generación son ciertas herramientas prefabricadas, que aparentemente dan lugar a un lenguaje de programación de alto nivel que se parece más al idioma inglés que a un lenguaje de tercera generación, porque se aleja más del concepto de "procedimiento". Pueden acceder a bases de datos. Alguna gente propone se reserve el nombre de "lenguajes de cuarta generación" para los lenguajes orientados a objetos. Ejemplos: NATURAL, PL-SQL...
15. Lenguajes De Quinta Generación Alrededor de la mitad 1998 surgieron grupos de herramientasde lenguajes de quinta generación, los cuales combinan la creación de códigos basadas en reglas, la administración de reutilización y otros avances. Programación basada en conocimiento. Método para el desarrollo de programas de computaciónen el que se le ordena ala computadora realizar un propósito en vez de instruirla para hacerlo. SELECCIÓN DE UN LENGUAJE DE PROGRAMACIÓN El mejor lenguaje de programación para usarse en un programa en particular incluye equilibrar las características funcionales del lenguaje con aspectos como costo, control y complejidad. Un factor importante que debe considerarse al seleccionar cualquier lenguaje de programación es la cantidad de control directo que se necesita para operar el hardware. TRADUCTORES DE LENGUAJE Traductor de lenguaje. Software de sistemas que convierte un código fuente del programador en su equivalente en lenguaje maquina. Código fuente. Código de programación de nivel alto escrito por el programador. Código objeto. Otro nombre para el código de lenguaje maquina. Intérprete. Traductor de lenguajes que convierte, ala vez, una sentencia de programa a un código de máquina.
16. Generaciones De Lenguaje Los equipos de ordenador (el hardware) han pasado por cuatro generaciones, de las que las tres primeras (ordenadores con válvulas, transistores y circuitos integrados) están muy claras, la cuarta (circuitos integrados a gran escala) es más discutible. Algo parecido ha ocurrido con la programación de los ordenadores (el software), que se realiza en lenguajes que suelen clasificarse en cinco generaciones, de las que las tres primeras son evidentes, mientras no todo el mundo está de acuerdo en las otras dos. Estas generaciones no coincidieron exactamente en el tiempo con las de hardware, pero sí de forma aproximada, y son las siguientes: Primera generación: Los primeros ordenadores se programaban directamente en código binario, que puede representarse mediante secuencias de ceros y unos sistema binario. Cada modelo de ordenador tiene su propio código, por esa razón se llama lenguaje de máquina. Segunda generación: Los lenguajes simbólicos, asimismo propios de la máquina, simplifican la escritura de las instrucciones y las hacen más legibles. Tercera generación: Los lenguajes de alto nivel sustituyen las instrucciones simbólicas por códigos independientes de la máquina, parecidas al lenguaje humano o al de las Matemáticas.