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.
CLASIFICACIÓN DE LENGUAJES DE PROGRAMACIÓN
Lenguajes
de programación de bajo nivel: Son mucho mas fáciles de utilizar que el
lenguaje máquina, pero dependen mucho de la máquina o computadora como sucedía
con el lenguaje máquina. El lenguaje ensamblador fue el primer lenguaje de
programación que trato de sustituir el lenguaje máquina por otro mucho más
parecido al de los seres humanos.
Lenguajes de programación de alto nivel: Este
tipo de lenguajes de programación son independientes de la máquina, lo podemos
usar en cualquier computador con muy pocas modificaciones o sin ellas, son muy
similares al lenguaje humano, pero precisan de un programa interprete o
compilador que traduzca este lenguaje de programación de alto nivel a uno de
bajo nivel como el lenguaje de máquina que la computadora pueda entender.
Lenguajes de tercera generación (3GL): La mayoría de los lenguajes
modernos, diseñados para facilitar la programación a los humanos. Ejemplos: C,
Java.
Lenguajes de cuarta generación (4GL): Diseñados con un propósito
concreto, o sea, para abordar un tipo concreto de problemas. Ejemplos:NATURAL, Mathematica.
Lenguajes de quinta generación (5GL): La intención es que el
programador establezca el qué problema ha de ser resuelto y las condiciones a
reunir, y la máquina lo resuelve. Se usan en inteligencia artificial. Ejemplo: Prolog.
LENGUAJES DE PROGRAMACIÓN SEGÚN SU GRADO DE DEPENDENCIA DE LA MÁQUINA
El lenguaje máquina es la forma más baja de un lenguaje de programación. Cada instrucción en un programa se representa por un código numérico, y unas direcciones (que son otros códigos numéricos) que se utiliza para referir las asignaciones de memoria del ordenador. El lenguaje máquina es la notación que entiende directamente el ordenador, está en binario o en notación hexadecimal, y el repertorio de sus instrucciones, así como la estructura de éstas, están ligadas directamente a la arquitectura de la máquina.
El lenguaje ensamblador es esencialmente una versión simbólica de un lenguaje máquina. Cada código de operación se indica por un código simbólico. Por ejemplo ADD para adición y MUL para multiplicación. Además, las asignaciones de memoria se dan con nombres simbólicos,tales como PAGO y COBRO.
Los lenguajes de medio nivel tienen algunas de las características de los lenguajes de bajo nivel (posibilidad de acceso directo a posiciones de memoria, indicaciones para que ciertas variables se almacenen en los registros del microprocesador, etc...) añadidas a las posibilidades de manejo de estructuras de control y de datos de los lenguajes de alto nivel. Ejemplos de este tipo de lenguajes son el C [KERN78, KERN88] y el FORTH [KELL86].
Los lenguajes de alto nivel tales como FORTRAN [ANSI89, CUEV93b], COBOL [ANSI74], Pascal [JENS91, CUEV94A],... tienen características superiores a los lenguajes de tipo ensamblador, aunque no tienen algunas posibilidades de acceso directo al sistema. Facilitan la escritura de programas con estructuras de datos complejas, la utilización de bloques, y procedimientos o subrutinas. Dentro de los lenguajes de alto nivel se pueden destacar un tipo de lenguajes, denominados lenguajes orientados a objetos, que permiten definir tipos abstractos de datos (habitualmente denominados clases) que agrupan datos y métodos (operadores, funciones y procedimientos). Los objetos son la instanciación de una clase.
LENGUAJES DE BAJO NIVEL
VENTAJAS
- Velocidad
- Eficiencia de tamaño
- Flexibilidad
DESVENTAJAS
- Tiempo de programación
- Programas fuentes grandes
- Peligro de afectar recursos inesperados
- Falta de portabilidad
LENGUAJES DE ALTO NIVEL
VENTAJAS
- Mucho mas fácil de comprender que un lenguaje máquina
- Permite mayor portabilidad, puede adaptarse fácilmente para ejecutarse en diferentes tipos de equipos.
DESVENTAJAS
- La comodidad del programador se paga en mayores tamaños de los ficheros ejecutables, y consecuentemente en mayores tiempos de compilación y de ejecución.
- El lector puede comprobar que los tiempos de compilación y ejecución también se van incrementando según se va ascendiendo en el nivel del lenguaje.