domingo, 13 de abril de 2008

Lenguaje de máquina

Lenguaje de máquina

El lenguaje de máquina de una computadora consta de cadenas de números binarios (ceros y unos) y es el único que "entienden" directamente los procesadores. Todas las instrucciones preparadas en cualquier lenguaje de máquina tienen por lo menos dos partes. La primera es el comando u operación, que dice a la computadora cuál es la función que va a realizar. Todas las computadoras tienen un código de operación para cada una de sus funciones. La segunda parte de la instrucción es el operando, que indica a la computadora donde hallar o almacenar los datos y otras instrucciones que se van a manipular; el número de operandos de una instrucción varía en las distintas computadoras.

En el principio de la computación este era el lenguaje que tenía que "hablar" el ser humano con la computadora y consistía en insertar en un tablero miles de conexiones y alambres y encender y apagar interruptores.

Aunque en la actualidad ya no se emplea, es importante reconocer que ya no es necesario que nos comuniquemos en este lenguaje de "unos" y "ceros", pero es el que internamente una computadora reconoce o "habla". [1]

Lenguaje Binario

El lenguaje binario consta de un grupo de unos y ceros representados mediante dos estados “abierto o cerrado”. De esta forma, solo existen dos variaciones y no una amplia gama de ellas. No obstante los “unos y ceros” para poder representar números o letras se transmiten entre los dispositivos de a grupos mínimamente de cuatro cifras, salvo en excepciones de comunicación con flujo de datos en serie, en los cuales igualmente al final se agrupan los “unos y ceros” en grupos pese a que se transmitan de a uno.

Este lenguaje se basa en representar números y letras a partir de tan solo dos estados que en computadora se representan con distintas tensiones. En la siguiente tabla a modo de ejemplo indico con números binarios el equivalente a un número decimal, de un ancho de banda de cuatro dijitos (4 bits).

Lenguaje de bajo nivel

De Wikipedia, la enciclopedia libre

Saltar a navegación, búsqueda

Un lenguaje de programación 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.

La palabra "bajo" no implica que el lenguaje sea inferior a un lenguaje de alto nivel; se refiere a la reducida abstracción entre el lenguaje y el hardware.

Uso: ventajas e inconvenientes

En general se utiliza este tipo de lenguaje para programar controladores (drivers).

La programación en un lenguaje de bajo nivel como el lenguaje de la máquina o el lenguaje simbólico tiene ciertas ventajas:

· Mayor adaptación al equipo.

· Posibilidad de obtener la máxima velocidad con mínimo uso de memoria.

Pero también tiene importantes 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.

Primera generación

El lenguaje de programación de primera generación (por sus siglas en inglés, 1GL), es el lenguaje de código máquina. Es el único lenguaje que un microprocesador entiende de forma nativa. El lenguaje máquina no puede ser escrito o leído usando un editor de texto, y por lo tanto es raro que una persona lo use directamente

Segunda generación

El lenguaje de programación de segunda generación (por sus siglas en inglés, 2GL), es el lenguaje ensamblador. Se considera de segunda generación porque, aunque no es lenguaje nativo del microprocesador, un programador de lenguaje ensamblador debe conocer la arquitectura del microprocesador (como por ejemplo las particularidades de sus registros o su conjunto de instrucciones). [2]

Lenguaje de alto nivel

De Wikipedia, la enciclopedia libre

Saltar a navegación, búsqueda

Los lenguajes de programación 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.

La programación en un lenguaje de bajo nivel como el lenguaje de la máquina o el lenguaje simbólico tiene ciertas ventajas:

· Mayor adaptación al equipo.

· Posibilidad de obtener la máxima velocidad con mínimo uso de memoria.

Pero también tiene importantes 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.

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".

Principales lenguajes de alto nivel

Ada, ALGOL, Basic, C++ , C# , Clipper, COBOL, Fortran, Java, Lexico, Logo Object Pascal, Pascal, Perl, PHP, PL/SQL, Python, RPG, Ruby, MATLAB, SISTEMA BERNAL ITM, Haskell, Lisp. [3]

No hay comentarios: