Sie sind auf Seite 1von 6

CLASIFICACION DE LOS LENGUAJES DE PROGRAMACIN

LENGUAJE MQUINA:

El lenguaje mquina es el nico que entiende directamente la computadora, ya que esta escrito en
lenguajes directamente inteligibles por la mquina (computadora), utiliza el alfabeto binario, que
consta de los dos nicos smbolos 0 y 1, denominados bits (abreviatura inglesa de dgitos binarios).
Sus instrucciones son cadenas binarias (cadenas o series de caracteres de dgitos 0 y 1) que
especifican una operacin y, las posiciones (direccin) de memoria implicadas en la operacin se
denominan instrucciones de mquina o cdigo maquina. Fue el primer lenguaje utilizado en la
programacin de computadoras, pero dejo de utilizarse por su dificultad y complicacin, siendo
sustituido por otros lenguajes ms fciles de aprender y utilizar, que adems reducen la
posibilidad de cometer errores. El lenguaje mquina es el conocido cdigo binario.

Generalmente, en la codificacin de los programas se empleaba el sistema hexadecimal para


simplificar el trabajo de escritura. Todas las instrucciones preparadas en cualquier lenguaje
mquina tienen por lo menos dos partes. La primera es el comando u operacin, que dice a las
computadoras cual es la funcin que va a realizar. Todas las computadoras tienen un cdigo de
operacin para cada una de las funciones. La segunda parte de la instruccin es el operando, que
indica a la computadora donde hallar o almacenar los datos y otras instrucciones que se van a
manipular, el nmero de operndoos de una instruccin varia en distintas computadoras.

Ventajas del lenguaje mquina: posibilidad de cargar (transferir un programa a la memoria) sin
necesidad de traduccin posterior, lo que supone una velocidad de ejecucin superior a cualquier
otro lenguaje de programacin.

Desventajas del lenguaje mquina: dificultad y lentitud en la codificacin. Poca fiabilidad. Gran
dificultad para verificar y poner a punto los programas. Los programas solo son ejecutables en el
mismo procesador (CPU). En la actualidad, las desventajas superan a las ventajas, lo que hace
prcticamente no recomendables a los lenguajes mquina.

LENGUAJES DE BAJO NIVEL (ensamblador):

Son ms fciles de utilizar que los lenguajes mquina, pero al igual que ellos, dependen de la
mquina en particular. El lenguaje de bajo nivel por excelencia es el ensamblador. El lenguaje
ensamblador es el primer intento de sustituir el lenguaje maquina por otro ms similar a los
utilizados por las personas. Este intenta desflexibilizar la representacin de los diferentes campos.
Esa flexibilidad se consigue no escribiendo los campos en binario y aproximando la escritura al
lenguaje. A principios de la dcada de los 50 y con el fin de facilitar la labor de los programadores,
se desarrollaron cdigos mnemotcnicos para las operaciones y direcciones simblicas. Los
cdigos mnemotcnicas son los smbolos alfabticos del lenguaje maquina. La computadora sigue
utilizando el lenguaje maquina para procesar los datos, pero los programas ensambladores
traducen antes los smbolos de cdigo de operacin especificados a sus equivalentes en el
lenguaje maquina.

En la actualidad los programadores no asignan nmeros de direccin reales a los datos simblicos,
simplemente especifican donde quieren que se coloque la primera localidad del programa y el
programa ensamblador se encarga de lo dems, asigna localidades tanto para las instrucciones
como los datos. Estos programas de ensamble o ensambladores tambin permiten a la
computadora convertir las instrucciones en lenguaje ensamblador del programador en su propio
cdigo maquina. Un programa de instrucciones escrito en lenguaje ensamblador por un
programador se llama programa fuente. Despus de que el ensamblador convierte el programa
fuente en cdigo maquina a este se le denomina programa objeto. Para los programadores es ms
fcil escribir instrucciones en un lenguaje ensamblador que en cdigo de lenguaje maquina pero
es posible que se requieran dos corridas de computadora antes de que se puedan utilizar las
instrucciones del programa fuente para producir las salidas deseadas.

El lenguaje de bajo nivel es el lenguaje de programacin que el ordenador puede entender a la


hora de ejecutar programas, lo que aumenta su velocidad de ejecucin, pues no necesita un
intrprete que traduzca cada lnea de instrucciones.

Visto a muy bajo nivel, los microprocesadores procesan exclusivamente seales electrnicas
binarias. Dar una instruccin a un microprocesador supone en realidad enviar series de unos y
ceros espaciadas en el tiempo de una forma determinada. Esta secuencia de seales se denomina
cdigo mquina. El cdigo representa normalmente datos y nmeros e instrucciones para
manipularlos. Un modo ms fcil de comprender el cdigo mquina es dando a cada instruccin
un mnemnico, como por ejemplo STORE, ADD o JUMP. Esta abstraccin da como resultado el
ensamblador, un lenguaje de muy bajo nivel que es especfico de cada microprocesador.
Los lenguajes de bajo nivel permiten crear programas muy rpidos, pero que son, a menudo,
difciles de aprender. Ms importante es el hecho de que los programas escritos en un bajo nivel
sean altamente especficos de cada procesador. Si se lleva el programa a otra maquina se debe
reescribir el programa desde el principio.

Ventajas del lenguaje ensamblador frente al lenguaje mquina: mayor facilidad de codificacin y,
en general, su velocidad de calculo, ahorran tiempo y requieren menos atencin a detalles. Se
incurren en menos errores y los que se cometen son ms fciles de localizar. Tanto el lenguaje
maquina como el ensamblador gozan de la ventaja de mnima ocupacin de memoria y mnimo
tiempo de ejecucin en comparacin con el resultado de la compilacin del programa equivalente
escrito en otros lenguajes. Los programas en lenguaje ensamblador son ms fciles de modificar
que los programas en lenguaje mquina.

Desventajas del lenguaje ensamblador: dependencia total de la maquina lo que impide la


transportabilidad de los programas (posibilidad de ejecutar un programa en diferentes mquinas).
El lenguaje ensamblador del PC es distinto del lenguaje ensamblador del Apple Machintosh. La
formacin de los programadores es ms compleja que la correspondiente a los programadores de
alto nivel, ya que exige no solo las tcnicas de programacin, sino tambin el conocimiento del
interior de la maquina El programador ha de conocer perfectamente el hardware del equipo, ya
que maneja directamente las posiciones de memoria, registros del procesador y dems elementos
fsicos. Todas las instrucciones son elementales, es decir, en el programa se deben describir con el
mximo detalle todas las operaciones que se han de efectuar en la maquina para la realizacin de
cualquier proceso.

Los lenguajes ensamblador tienen sus aplicaciones muy reducidas, se centran bsicamente en
aplicaciones de tiempo real, control de procesos y de dispositivos electrnicos.

LENGUAJES DE ALTO NIVEL:

Estos lenguajes son los mas utilizado por los programadores. Estn diseados para que las
personas escriban y entiendan los programas de un modo mucho mas fcil que los lenguajes
mquina y ensamblador. Un programa escrito en lenguaje de alto nivel es independiente de la
mquina (las instrucciones no dependen del diseo del hardware o de una computadora en
particular), por lo que estos programas son portables o transportables. Los programas escritos en
lenguaje de alto nivel pueden ser ejecutados con poca o ninguna modificacin en diferentes tipos
de computadoras. Son lenguajes de programacin en los que las instrucciones enviadas para que
el ordenador ejecute ciertas rdenes son similares al lenguaje humano. Dado que el ordenador no
es capaz de reconocer estas ordenes, es necesario el uso de un intrprete que traduzca el lenguaje
de alto nivel a un lenguaje de bajo nivel que el sistema pueda entender.

Por lo general se piensa que los ordenadores son mquinas que realizan tareas de clculos o
procesamiento de texto. La descripcin anterior es slo una forma muy esquemtica de ver una
computadora. Hay un alto nivel de abstraccin entre lo que se pide a la computadora y lo que
realmente comprende. Existe tambin una relacin compleja entre los lenguajes de alto nivel y el
cdigo mquina.

Los lenguajes de alto nivel son normalmente fciles de aprender porque estn formados por
elementos de lenguajes naturales, como el ingls. En BASIC, el lenguaje de alto nivel ms
conocido, los comandos como IF CONTADOR=10 THEN STOP pueden utilizarse para pedir a la
computadora que pare si CONTADOR es igual a diez. Por desgracia para muchas personas esta
forma de trabajar es un poco frustrante, dado que a pesar de que las computadoras parecen
comprender un lenguaje natural, lo hacen en realidad de una forma rgida y sistemtica.

Los lenguajes de alto nivel, tambin denominados lenguajes evolucionados, surgen con
posterioridad a los anteriores (lenguaje mquina, lenguajes de bajo nivel o ensamblador) con los
siguientes objetivos, entre otros:

Lograr independencia de la maquina, pudiendo utilizar un mismo programa en diferentes equipos


con la nica condicin de disponer de un programa traductor o compilador, que es suministrado
por el fabricante, para obtener el programa ejecutable en lenguaje binario de la maquina que se
trate. Adems, no se necesita conocer el hardware especifico de dicha maquina. Aproximarse al
lenguaje natural, para que el programa se pueda escribir y leer de una forma ms sencilla,
eliminando muchas de las posibilidades de cometer errores que se daban en el lenguaje maquina,
ya que se utilizan palabras (en ingles) en lugar de cadenas de smbolos sin ningn significado
aparente.

Incluir rutinas de uso frecuente, como las de entrada / salida, funciones matemticas, manejo de
tablas, etc., que figuran en una especie de librera del lenguaje, de manera que se puedan utilizar
siempre que se quiera sin necesidad de programarlas cada vez.
Ventajas de los lenguajes de alto nivel: el tiempo de formacin de los programadores es
relativamente corto comparado con otros lenguajes. La escritura de programas se basa en reglas
sintcticas similares a los lenguajes humanos, nombres de las instrucciones tales como READ,
WRITE, PRINT, OPEN, etc. Las modificaciones y puestas a punto de los programas son ms fciles.
Reduccin del costo de los programas.

Transportabilidad. Permiten tener una mejor documentacin. Son ms fciles de mantener.

Desventajas de los lenguajes de alto nivel: incremento del tiempo de puesta a punto al necesitarse
diferentes traducciones del programa fuente para conseguir el programa definitivo. No se
aprovechan los recursos internos de la maquina que se explotan mucho mejor en lenguajes
mquina y ensambladores. Aumento de la ocupacin de memoria. El tiempo de ejecucin de los
programas es mucho mayor.

Se puede decir que el principal problema que presentan los lenguajes de alto nivel es la gran
cantidad de ellos que existen actualmente en uso, adems de las diferentes versiones o dialectos
que se han desarrollado de algunos de ellos. Es difcil establecer una clasificacin general de los
mismos, ya que en cualquiera que se realice habr lenguajes que pertenezcan a mas de uno de los
grupos establecidos. Una clasificacin muy extendida, atendiendo a la forma de trabajar de los
programas y a la filosofa con que fueron concebidos, es la siguiente:

Lenguajes imperativos. Utilizan instrucciones como unidad de trabajo de los programas


(Cobol, Pascal, C, Ada).
Lenguajes declarativos. Los programas se construyen mediante descripciones de funciones
o expresiones lgicas (Lisp, Prolog).
Lenguajes orientados a objetos. El diseo de los programas se basa mas en los datos y su
estructura. La unidad de proceso es el objeto y en el se incluyen los datos (variables) y las
operaciones que actan sobre ellos (Smalltalk, C++).
Lenguajes orientados al problema. Diseados para problemas especficos, principalmente
de gestin, suelen ser generadores de aplicaciones.
Lenguajes naturales. Estn desarrollndose nuevos lenguajes con el principal objetivo de
aproximar el diseo y construccin de programas al lenguaje de las personas.
Otra clasificacin que se puede hacer es la de atendiendo al desarrollo de los lenguajes desde la
aparicin de las computadoras, que sigue un cierto paralelismo con las generaciones establecidas
en la evolucin de las mismas:

Primera generacin. Lenguajes maquina y ensambladores.


Segunda generacin. Primeros lenguajes de alto nivel imperativo (FROTRAN, COBOL).
Tercera generacin. Lenguajes de alto nivel imperativo. Son los mas utilizados y siguen
vigentes en la actualidad (ALGOL 8, PL/I, PASCAL, MODULA).
Cuarta generacin. Orientados bsicamente a las aplicaciones de gestin y al manejo de
bases de datos (NATURAL, SQL).
Quinta generacin. Orientados a la inteligencia artificial y al procesamiento de los
lenguajes naturales (LISP, PROLOG).

Das könnte Ihnen auch gefallen