Los lenguajes de programación se clasifican por su
nivel de abstracción del procesador, en este caso la abstracción es un
principio por el cual se aísla toda aquella información que no es resulta
relevante a un determinado nivel de conocimiento.
Lenguaje de bajo nivel: es el que proporciona poca o
ninguna abstracción del microprocesador de un ordenador. Consecuentemente es
fácilmente trasladado a lenguaje de máquina.
En general se utiliza este tipo de lenguaje para
programar controladores (drivers).
Ventajas:
Mayor adaptación al equipo.
Posibilidad de obtener la máxima velocidad con
mínimo uso de memoria.
Inconvenientes:
Imposibilidad de escribir código independiente de la
máquina.
Mayor dificultad en la programación y en la
comprensión de los programas.
El programador debe conocer más de un centenar de
instrucciones.
Es necesario conocer en detalle la arquitectura de
la máquina.
Características:
Se trabaja a nivel de instrucciones, es decir, su
programación es al más fino detalle.
Está orientado a la máquina.
Lenguaje de medio nivel: es un lenguaje de
programación informática como el lenguaje C, que se encuentran entre los
lenguajes de alto nivel y los lenguajes de bajo nivel.
Suelen ser clasificados muchas veces de alto nivel,
pero permiten ciertos manejos de bajo nivel. Son precisos para ciertas
aplicaciones como la creación de sistemas operativos, ya que permiten un manejo
abstracto (independiente de la máquina, a diferencia del ensamblador), pero sin
perder mucho del poder y eficiencia que tienen los lenguajes de bajo nivel.
Una característica distintiva, por ejemplo, que
convierte a C en un lenguaje de medio nivel y al Pascal en un lenguaje de alto
nivel es que en el primero es posible manejar las letras como si fueran números
(en Pascal no), y por el contrario en Pascal es posible concatenar las cadenas
de caracteres con el operador suma y copiarlas con la asignación (en C es el
usuario el responsable de llamar a las funciones correspondientes).
Una de las características más peculiares del
lenguaje de programación C; es el uso de "apuntadores", los cuales
son muy útiles en la implementación de algoritmos como Listas ligadas, Tablas
Hash y algoritmos de búsqueda y ordenamiento que para otros lenguajes de
programación (como Java por ejemplo) les suele ser un poco más complicado
implementar.
Los lenguajes de alto nivel: se caracterizan 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 muy alto nivel se crearon para que
el usuario común pudiese solucionar tal 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".
Ventajas:
La programación en un lenguaje de alto nivel tiene
ciertas 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.
Objetivos:
Lograr independencia de la máquina, pudiendo
utilizar un mismo programa en diferentes equipos con la única condición de
disponer de un programa traductor o compilador, que lo suministra el
fabricante, para obtener el programa ejecutable en lenguaje binario de la
máquina que se trate. Además, no se necesita conocer el hardware específico de
dicha máquina.
Aproximarse al lenguaje natural, para que el
programa se pueda escribir y leer de una forma más sencilla, eliminando muchas
de las posibilidades de cometer errores que se daban en el lenguaje máquina, ya
que se utilizan palabras (en inglés) en lugar de cadenas de símbolos sin ningún
significado aparente.
Incluir rutinas de uso frecuente como son las de
entrada/salida, funciones matemáticas, manejo de tablas, etc., que figuran en
una especie de librería del lenguaje, de tal manera que se pueden utilizar
siempre que se quieran sin necesidad de programarlas cada vez.
Lenguajes de bajo nivel
Código máquina
Ensamblador
Lenguajes de medio nivel
BCPL
C
Lenguajes de alto nivel
ADA
ALGOL
BASIC
Clipper
Cobol
C++
FORTH
Fortran
Haskell
Informix 4gl
Java
Lexico (con códigos en castellano o sinónimos en
otros idiomas)
Lisp
Logo
Modula
PASCAL
Prolog
RPG
Visual Basic
No hay comentarios:
Publicar un comentario