BajoNivel.


 * //Lenguajes de Bajo Nivel.//**

Un Lenguaje De Alto Nivel, permite al programador escribir las instrucciones de un programa, utilizando las palabras muy similares a la máquina para ser un poco mas expresada para el humano. Se necesitarían varias instrucciones en un lenguaje __ensamblador__ para indicar lo mismo. De igual forma que, la mayoría de las instrucciones de un lenguaje ensamblador, también agrupa a varias instrucciones de un **Lenguaje de Maquina.** Los lenguajes de bajo nivel son mas fáciles de entender y utilizar que los lenguajes de un computador, pero es muy difícil estructurar programas en dicho lenguaje, también Son instrucciones que __ensam____bl____a____n__ los grupos de conmutadores necesarios para expresar una mínima lógica aritmética. Están íntimamente vinculados al hardware. Es muy similar al lenguaje máquina pero sin la capacidad de __encapsular__ dichas instrucciones en funciones que no estén contempladas, pero los desarrolladores pueden comprenderlo. No obstante, este lenguaje se parece tanto al lenguaje máquina que depende estrictamente del tipo de procesador utilizado (cada tipo de procesador puede tener su propio lenguaje máquina). Así, un programa desarrollado para un equipo no puede ser entendido por otro tipo de equipo. Para poder utilizar un programa de software escrito en un __código ensamblador__ en otro tipo de equipo, ¡a veces será necesario volver a escribir todo el programa!

Por lo tanto, un lenguaje de programación tiene varias ventajas:


 * es mucho más fácil de comprender que un lenguaje máquina.
 * permite mayor portabilidad, es decir que puede adaptarse fácilmente para ejecutarse en diferentes tipos de equipos.
 * Mayor adaptación al equipo.
 * Posibilidad de tener la máxima velocidad con mínimo uso de memoria.

Como tiene sus ventajas, también tiene importantes inconvenientes


 * Imposibilidad de escribir código independiente de la maquina.
 * Mayor dificultad en la programación y en la comprencion de los programas.
 * El programador debe conocer mas de un centenar de instrucciones.
 * Es necesario conocer en detalle mas de una arquitectura de la maquina.

Características 
 * Se trabaja a nivel de instrucciones, es decir, su programación es al mas fino detalle.
 * Esta orientado a la maquina

Palabras desconocidas
__**Expresiones Sintácticas:**__

__**Estructurar **__ Distribuir, relacionar y organizar las partes de una obra o de un conjunto.

__**Ensamblar **__

tr. Unir, acoplar dos o más piezas, especialmente de madera, haciendo encajar la parte saliente de una en la entrante de la otra.

__**Encapsular **__ Es el proceso de ocultar todos los detalles de un objeto que no contribuyen a sus características esenciales. Esto significa que aquello que está en interior de la clase está oculto, solo las interfaces externas pueden ver otros objetos.

Ejemplos:
> Un [|lenguaje de programación] de ** bajo nivel de abstracción ** es el que proporciona un conjunto de instrucciones aritmeticológicas sin la capacidad de encapsular dichas instrucciones en funciones que no estén ya contempladas en la arquitectura del hardware > > En este tipo de lenguajes se trabaja a nivel de instrucciones, es decir, su programación es al más fino detalle, además, está completamente orientado a la máquina. >
 * nemotecnias tipicos de operaciones aritmeticas son: en ingles, ADD, SUB, DIV, ETC; en español, SUM, RES, DIV, etc
 * La arquitectura CISC contiene muchas mas instrucciones a este nivel, que la RISC.
 * == un ejemplo es el lenguaje ensamblador. en el, las instrucciones se escriben en codigos alfabéticos conocidos como mnemotecnicos (generalmente, abreviaturas de palabras inglesas). ==
 * Adaptación - Máxima entre programación y aprovechamiento del recurso de la máquina.
 * Velocidad - Máxima al contar con un acceso directo a los recursos, sin capas intermedias.
 * Portabilidad - Mínima por estar restringido a las especificaciones del fabricante.
 * Abstracción - Mínima por depender completamente de la técnica del hardware.
 * Uso - Requiere de la máxima atención y de una organización estructurada en base a los planos del hardware y del objetivo del software.
 * estas son las generaciones

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

Interacción Máquina Vs Humano
En este tipo de lenguajes se trabaja a nivel de instrucciones, es decir, su programación es al más fino detalle, además, está completamente orientado a la máquina.


 * Adaptación - Máxima entre programación y aprovechamiento del recurso de la máquina.
 * Velocidad - Máxima al contar con un acceso directo a los recursos, sin capas intermedias.
 * Portabilidad - Mínima por estar restringido a las especificaciones del fabricant
 * Abstracción - Mínima por depender completamente de la técnica del hardware.
 * Uso - Requiere de la máxima atención y de una organización estructurada en base a los planos del hardware y del objetivo del software.

> . > > > > == ==