1.- Lenguajes de bajo nivel:
A nivel de circuitos, los
microprocesadores sólo son capaces de procesar señales electrónicas binarias.
Estas instrucciones binarias que se envían al microprocesador, se componen de
series de unos y ceros, espaciadas en el tiempo de una forma determinada. Esta
secuencia de señales se denomina código máquina. El código representa
normalmente datos y números, así como instrucciones para manipularlos. Para
hacer más fácil el manejo del código máquina, se dio a cada instrucción un
mnemónico, como por ejemplo STORE (Almacenar), ADD (Adicionar) o JUMP (Saltar).
Tal abstracción da como resultado el ensamblador, que es un lenguaje de muy
bajo nivel basado en mnemónicos y que es específico para cada microprocesador.
De esta forma, son llamados
lenguajes de bajo nivel, a aquellos constituidos por instrucciones en lenguaje
máquina o próximos a él. Tales lenguajes permiten crear programas muy rápidos y
eficientes, pero en contrapartida, estos lenguajes suelen ser difíciles de
aprender, programar y depurar. Un hecho importante es, que los programas
escritos en un bajo nivel, son prácticamente específicos para cada procesador,
lo que implica, que si se quiere ejecutar el programa en otra máquina de
arquitectura diferente, es necesario volver a escribir el programa desde el
principio.
2.- Lenguajes de alto nivel:
Al pensar en una computadora,
normalmente se concibe como una máquina que realiza tareas de procesamiento de
texto y cálculos. Esta es una percepción bastante sintética y esquemática de
entender la computadora. Existe un alto nivel de abstracción entre lo que se
pide a la computadora y lo que realmente comprende. De un modo paralelo se
presenta una relación compleja entre los lenguajes de alto nivel y el código
máquina. Un programa escrito en un lenguaje de alto nivel, debe ser compilado o
interpretado para traducir su código, en otro de bajo nivel (lenguaje máquina).
Como ejemplo de lenguajes de alto nivel se tienen Pascal, BASIC, FORTRAN,
COBOL, Java, C y C++.
En los lenguajes de alto nivel
las instrucciones son independientes de la máquina, son más fáciles de aprender
porque están formados por elementos de lenguajes naturales (del inglés). En
BASIC, comandos como "IF CONTADOR = 10 THEN STOP" son usados para
ordenar a la computadora, que pare si CONTADOR es igual a 10. Pero aunque las
computadoras parecieran comprender el lenguaje natural, lo hacen de una manera
bastante rígida y sistemática, lo cual podría parecer un poco frustrante e
inspira la búsqueda de lenguajes más cercanos aún al natural.
Compiladores e Intérpretes:
Se ha señalado que la computadora
sólo puede ejecutar instrucciones en código de máquina, por lo cual, todos los
programas escritos en cualquiera de los lenguajes de programación deben ser
convertidos o traducidos. Este proceso es llevado a cabo por unos programas
especiales, los “compiladores” y los “interpretes”. Para darse una idea de cómo
funcionan, es útil comparar su actuación con la de un profesional humano
encargado de traducir. Un compilador equivale a que el traductor humano, partiendo
de un texto, prepare otro texto nuevo e independiente, traducido a la otra
lengua. En contraste, un intérprete equivale a que tal profesional traduzca de
forma hablada, cada grupo de palabras o instrucción, a medida que la oye, sin
dejarlas por escrito.
La traducción del código fuente,
escrito en lenguaje ensamblador, a código máquina (o código objeto), no
representa un proceso complicado y se lleva a cabo mediante un compilador. De
manera similar, la traducción de código fuente de lenguajes de alto nivel puede
ser realizada por un compilador, o también mediante un intérprete. Con base en
el código fuente suministrado, el compilador crea una lista de instrucciones de
código máquina:
El código objeto. Este código
objeto obtenido, es un programa rápido y ya listo para funcionar, pero está
expuesto a poseer errores que pueden provocar fallas en la computadora. En el
proceso de compilación pueden resultar varios archivos de código objeto, los
cuales deben enlazarse para obtener un archivo ejecutable. Esto se logra
mediante un programa llamado enlazador.
Por otra parte, los intérpretes
recorren línea a línea el código fuente en el momento de su ejecución. Esto los
hace más lentos, debido a la necesidad de traducir el programa mientras se
ejecuta, pero a cambio, son más flexibles como entornos de programación y
depuración. Es natural que los lenguajes de programación utilicen sólo uno de
estos métodos para producir el código fuente, sin embargo muchos también
disponen de versiones interpretadas y compiladas. En cuanto a las generaciones
de lenguaje, se tienen cinco diferentes, considerando que cada generación
sucesiva se establece con lenguajes más poderosos y fáciles de usar que los de
la generación precedente. Los lenguajes calificados como de alto nivel,
comienzan a partir de la tercera generación.
proceso de recopilación:










0 comentarios:
Publicar un comentario