El ordenador sólo entiende un lenguaje conocido como código
binario o código máquina, consistente en ceros y unos. Es decir, sólo utiliza 0
y 1 para codificar cualquier acción.
Los lenguajes más próximos a la arquitectura hardware se
denominan lenguajes de bajo nivel y los que se encuentran más cercanos a los
programadores y usuarios se denominan lenguajes de alto nivel.
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 pueden
migrar o utilizar en otras maquinas.
Al estar prácticamente diseñados a medida del hardware,
aprovechan al máximo las características del mismo.
Dentro de este grupo
se encuentran:
- El lenguaje maquina: este lenguaje ordena a la máquina las operaciones fundamentales para su funcionamiento. Cnsiste 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, ñadiendo la dificultad de tener que aprender un nuevo lenguaje difícil de probar y mantener.
Lenguajes de alto nivel
Son aquellos que se encuentran más cercanos al lenguaje
natural que al lenguaje máquina.
Están dirigidos a solucionar problemas mediante el uso de
EDD's.
|
Nota: EDD's son las abreviaturas de
Estructuras Dinámicas de Datos, algo muy utilizado en todos los
lenguajes de programación. Son estructuras que pueden cambiar de tamaño
durante la ejecución del programa. Nos permiten crear estructuras de datos
que se adapten a las necesidades reales de un programa.
|
Se tratan de lenguajes independientes de la arquitectura del
ordenador. Por lo que, en principio, un programa escrito en un lenguaje de alto
nivel, lo puedes migrar de una máquina a otra sin ningún tipo de
problema.
Estos lenguajes permiten al programador olvidarse por
completo del funcionamiento interno de la maquina/s para la que están diseñando
el programa. Tan solo necesitan un traductor que entiendan el código fuente
como las características de la maquina.
Suelen usar tipos de datos para la programación y hay
lenguajes de propósito general (cualquier tipo de aplicación) y de propósito
especifico (como FORTRAN para trabajos científicos).
Lenguajes de Medio nivel
Se trata de un término no aceptado por todos, pero que
seguramente habrás oído. Estos lenguajes se encuentran en un punto medio entre
los dos anteriores. Dentro de estos lenguajes podría situarse C ya que puede
acceder a los registros del sistema, trabajar con direcciones de memoria, todas
ellas características de lenguajes de bajo nivel y a la vez realizar
operaciones de alto nivel.
Generaciones
La evolución de los lenguajes de programación se puede
dividir en 5 etapas o generaciones.
·
Primera generación: lenguaje maquina.
·
Segunda generación: se crearon los primeros
lenguajes ensambladores.
·
Tercera generación: se crean los primeros
lenguajes de alto nivel. Ej. C, Pascal, Cobol
·
Cuarta generación. Son los lenguajes capaces de
generar código por si solos, son los llamados RAD, con lo cuales se pueden
realizar aplicaciones sin ser un experto en el lenguaje. Aquí también se
encuentran los lenguajes orientados a objetos, haciendo posible la
reutilización d partes del código para otros programas. Ej. Visual, Natural
Adabes
·
Quinta generación: aquí se encuentran los
lenguajes orientados a la inteligencia artificial. Estos lenguajes todavía
están poco desarrollados. Ej. LISP

No hay comentarios:
Publicar un comentario