LENGUAJE DE BAJO NIVEL: 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.
456 + 56 + 5 + 65 + 66 + + + + + + + + + + + + + + + 56 + 69 + + + + + + + + + + + + + + + + + + 45654645 + 65 + 66656556
+ 879 + ==Uso: ventajas e inconvenientes==
En general se utiliza este tipo de lenguaje para programar controladores (drivers).
Algunos lenguajes de bajo nivel son el lenguaje de maquina , el lenguaje simbolico y el de programacion. El lenguaje de
programacion 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 [editar]
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. 2444444444444+++ 5555555+ ++ 8
86865+89 5896 8+8+
Segunda generación [editar]
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). MASM y QuickAssembler: TASM es de Borland
y OPTASM es de System.
LENGUAJE DE ALTO NIVEL: 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.
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 [editar]
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 [editar]
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.
Principales lenguajes de alto nivel [editar]
Ada
ALGOL
Basic
C++
C#
Clipper
COBOL
Fortran
FoxPro o Visual Foxpro
Java
Python
ANGMAR
Perl
Pascal
Logo
PHP (PHP Hypertext Preprocessor)
PL/SQL
Python
RPG
MATLAB
SISTEMA BERNAL ITM
Modula-2
Lenguajes funcionales
o Haskell
o Lisp
ENSAMBLADOR: Lenguaje de programación que está a un paso del lenguaje de máquina. El ensamblador traduce cada
sentencia del lenguaje ensamblador a una instrucción de máquina. Los programadores deben estar bien familiarizados con
la arquitectura del computador, siendo los programas en lenguaje ensamblador no documentados difíciles de mantener. El
lenguaje ensamblador es dependiente del hardware; hay un lenguaje ensamblador diferente para cada serie de CPU.
ENSAMBLADOR :El término ensamblador (del inglés assembler) se refiere a un tipo de programa informático que se
encarga de traducir un fichero fuente escrito en un lenguaje ensamblador, a un fichero objeto que contiene código máquina,
ejecutable directamente por la máquina para la que se ha generado. El propósito para el que se crearon este tipo de
aplicaciones es la de facilitar la escritura de programas, ya que escribir directamente en código binario, que es el único
código entendible por la computadora, es en la práctica imposible. La evolución de los lenguajes de programación a partir
del lenguaje ensamblador originó también la evolución de este programa ensamblador hacia lo que se conoce como
programa compilador.
Contenido
[ocultar]
1 Funcionamiento
2 Tipos de ensambladores
3 Véase también
4 Enlaces externos
Funcionamiento [editar]
El programa lee el fichero escrito en lenguaje ensamblador y sustituye cada uno de los códigos nemotécnicos que aparecen
por su código de operación correspondiente en sistema binario para la plataforma que se eligió como destino en las
opciones específicas del ensamblador.cc
Tipos de ensambladores [editar]
Artículo principal: Ensamblador de alto nivel
Podemos distinguir entre tres tipos de ensambladores:
Ensambladores básicos. Son de muy bajo nivel, y su tarea consiste básicamente en ofrecer nombres simbólicos
a las distintas instrucciones, parámetros y cosas tales como los modos de direccionamiento. Además, reconoce
una serie de directivas (o meta instrucciones) que indican ciertos parámetros de funcionamiento del
ensamblador.
Ensambladores modulares, o macro ensambladores. Descendientes de los ensambladores básicos, fueron muy
populares en las décadas de los 50 y los 60, antes de la generalización de los lenguajes de alto nivel. Hacen todo
lo que puede hacer un ensamblador, y además proporcionan una serie de directivas para definir e invocar
macroinstrucciones (o simplemente, macros). Véase X86.
Ensambladores modulares 32-bits o de alto nivel. Son ensambladores que aparecieron como respuesta a una
nueva arquitectura de procesadores de 32 bits, muchos de ellos teniendo compatibilidad hacia atrás pudiendo
trabajar con programas con estructuras de 16 bits. Además de realizar la misma tarea que los anteriores,
permitiendo también el uso de macros, permiten utilizar estructuras de programación más complejas propias de
los lenguajes de alto nivel.
Lenguaje ensamblador
Lenguaje de máquina
ENLAZADOR
Un enlazador (en inglés, linker) es un programa que toma los ficheros de código objeto generado en los primeros
pasos del proceso de compilación, la información de todos los recursos necesarios (biblioteca), quita aquellos recursos
que no necesita, y enlaza el código objeto con su(s) biblioteca(s) con lo que finalmente produce un fichero ejecutable o
una biblioteca. En el caso de los programas enlazados dinámicamente, el enlace entre el programa ejecutable y las
bibliotecas se realiza en tiempo de carga o ejecución del programa.