Lenguaje de Alto y Bajo Nivel

6
Lenguaje de alto nivel Un lenguaje de programación de alto nivel se caracteriza por expresar los algoritmos de una manera adecuada a la capacidad cognitiva humana, en lugar de la capacidad ejecutora de las máquinas. En los primeros lenguajes, 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 o lenguajes de bajo nivel. Otra limitación de estos es que se requiere de ciertos conocimientos de programación para realizar las secuencias de instrucciones lógicas. Los lenguajes de alto nivel se crearon para que el usuario común pudiese solucionar un 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 nivel alto, en contraposición a los de bajo nivel o de nivel próximo a la máquina. Características Lenguaje de alto nivel se refiere al nivel más alto de abstracción de lenguaje de máquina. En lugar de tratar con registros, direcciones de memoria y las pilas de llamadas, lenguajes de alto nivel se refieren a las variables, matrices, objetos, aritmética compleja o expresiones booleanas, subrutinas y funciones, bucles, hilos, cierres y otros conceptos de informática abstracta, con un enfoque en la facilidad de uso sobre la eficiencia óptima del programa. Ventajas e inconvenientes Ventajas Genera un código más sencillo y comprensible. Escribir un código válido para diversas máquinas o sistemas operativos. Permite utilizar paradigmas de programación. Inconvenientes 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.

description

Programacion

Transcript of Lenguaje de Alto y Bajo Nivel

Page 1: Lenguaje de Alto y Bajo Nivel

Lenguaje de alto nivel

Un lenguaje de programación de alto nivel se caracteriza por expresar los algoritmos de una manera adecuada a la capacidad cognitiva humana, en lugar de la capacidad ejecutora de las máquinas.

En los primeros lenguajes, 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 o lenguajes de bajo nivel. Otra limitación de estos es que se requiere de ciertos conocimientos de programación para realizar las secuencias de instrucciones lógicas. Los lenguajes de alto nivel se crearon para que el usuario común pudiese solucionar un 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 nivel alto, en contraposición a los de bajo nivel o de nivel próximo a la máquina.

Características

Lenguaje de alto nivel se refiere al nivel más alto de abstracción de lenguaje de máquina. En lugar de tratar con registros, direcciones de memoria y las pilas de llamadas, lenguajes de alto nivel se refieren a las variables, matrices, objetos, aritmética compleja o expresiones booleanas, subrutinas y funciones, bucles, hilos, cierres y otros conceptos de informática abstracta, con un enfoque en la facilidad de uso sobre la eficiencia óptima del programa.

Ventajas e inconvenientes

Ventajas

• Genera un código más sencillo y comprensible. • Escribir un código válido para diversas máquinas o sistemas operativos. • Permite utilizar paradigmas de programación.

Inconvenientes

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

Page 2: Lenguaje de Alto y Bajo Nivel

EJEMPLOS DE LENGUAJES DE ALTO NIVEL

5.1. Fortran Fue desarrollado en 1954 por el equipo de John Backus bajo el control de IBM. El objetivo principal era la producción de un lenguaje que pudiera traducirse de forma eficaz a lenguaje máquina. FORTRAN significa FORmula TRANslator y está considerado como el primer lenguaje de alto nivel. Alcanzó gran popularidad desde su primera versión en 1957. Se estandarizó y mejoró en 1966 y nuevamente en 1977 y en 1990. Está diseñado para su uso en aplicaciones científicas y técnicas. Se caracteriza por su potencia en los cálculos matemáticos, pero está limitado en todo lo relativo al tratamiento de datos no numéricos. Por esta razón, no ha sido usado extensamente en el ámbito del microordenador, pero sigue siendo un lenguaje común en aplicaciones de investigación, ingeniería y educación. 5.2. Cobol Su nombre proviene de la frase “Common Business Oriented Language” (lenguaje general para los negocios). Es el lenguaje más utilizado en aplicaciones de gestión y fue creado en 1960 por un comité patrocinado por el departamento de defensa de los Estados Unidos. Ha experimentado diversas actualizaciones hasta su versión COBOL ANS• 85. Se ganó una amplia aceptación como lenguaje estandarizado, siendo uno de los más populares. Las características más interesantes de este lenguaje son: se asemeja al lenguaje natural (haciendo uso abundante del inglés sencillo), es autodocumentado y ofrece grandes facilidades en el manejo de ficheros, así como en la edición de informes escritos. Entre sus inconvenientes están sus rígidas reglas de formato de escritura, la necesidad de escribir todos los elementos al máximo detalle, la extensión excesiva en sus sentencias y la inexistencia de funciones matemáticas. 5.3. Basic Se diseñó en 1965 para proporcionar a los principiantes un lenguaje fácil de aprender (Beginner’s All purpose Symbolic Instruction Code).

Page 3: Lenguaje de Alto y Bajo Nivel

El principal objetivo que se pretendía al diseñar BASIC era la facilidad de uso y aprendizaje, incluso a costa de la ineficiencia. Sus principales aportaciones son las de ser un lenguaje interpretado e interactivo. Esto, unido a la popularización de los microordenadores, ha hecho que este lenguaje se extienda con rapidez e incluso que aparezcan gran diversidad de versiones que extienden y adaptan el lenguaje original, haciéndolo útil para aplicaciones técnicas y de gestión. La versión más moderna, Visual Basic, soporta las características y métodos orientados a objetos. 5.4. Pascal El PASCAL recibe su nombre en honor al filósofo y matemático francés Blaise Pascal, que inventó la primera máquina mecánica para sumar. Este lenguaje fue desarrollado en 1970 por el matemático suizo Nicklaus Wirth. Los motivos fundamentales de su creación son, por un lado, proporcionar un lenguaje adecuado para la enseñanza de los conceptos y técnicas de programación, y por otra parte, desarrollar implementaciones del lenguaje que funcionen de forma fiable y eficiente sobre los ordenadores disponibles. Estos objetivos han sido alcanzados en gran medida y, además, con el tiempo ha llegado a ser un lenguaje muy utilizado en todo tipo de aplicaciones. Está diseñado para ilustrar conceptos clave de programación, como los tipos de datos, programación estructurada y diseño descendente. Trata de proporcionar un mecanismo para implementar esos conceptos. Se ha convertido en el predecesor de otros lenguajes más modernos, como Modula• 2 y Ada. 5.5. C El lenguaje C fue creado en 1972 por Dennis Ritchie, que junto con Ken Thompson había diseñado anteriormente el sistema operativo Unix, y su intención era conseguir un lenguaje idóneo para la programación de sistemas que fuese independiente de la máquina. Desde entonces, tanto el Unix como el C han tenido un enorme desarrollo y proliferación, hasta convertirse en un estándar industrial para el desarrollo de software. Es un lenguaje moderno de propósito general que combina las características de un lenguaje de alto nivel (programación estructurada, tipos y estructuras de datos, recursividad, etc.) con una serie de características más propias de los lenguajes de más bajo nivel. Esta cualidad del C hace posible que se utilice la programación estructurada para resolver tareas de bajo nivel, obteniendo un código ejecutable veloz y eficiente. Debido a sus especiales características, muchas personas consideran al C como un lenguaje de nivel medio.

Page 4: Lenguaje de Alto y Bajo Nivel

Se ha vuelto muy popular y es el lenguaje más utilizado entre los desarrolladores profesionales de software comercial. Además, es un lenguaje pequeño (pocas instrucciones) y conciso (no tiene instrucciones redundantes). El coste de un lenguaje tan potente y útil es que no es particularmente fácil de aprender. La programación segura y fiable en este lenguaje requiere un conocimiento bastante profundo del mismo.

Lenguaje de bajo nivel

Un lenguaje de programación de características bajo nivel es aquel en el que sus instrucciones ejercen un control directo sobre el hardware y están condicionados por la estructura física de la computadora que lo soporta. El uso de la palabra bajo en su denominación no implica que el lenguaje sea inferior a un lenguaje de alto nivel, si no que se refiere a la reducida abstracción entre el lenguaje y el hardware. Por ejemplo, se utiliza este tipo de lenguajes para programar tareas críticas de los Sistemas Operativos, de aplicaciones en tiempo real o controladores de dispositivos.

Complejidad vs Dificultad

Dicho lenguaje es muy simple o nada complicado, pero estructurar programas a ese nivel es muy difícil. Dado que este lenguaje viene dado por las especificaciones técnicas del hardware, no permite una abstracción fuera de lo estipulado para el microprocesador de un ordenador. Consecuentemente, es fácilmente trasladado a lenguaje de máquina.

Interacción Máquina

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.

Page 5: Lenguaje de Alto y Bajo Nivel

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

• isomorfismo - Conceptualización de los datos de la información, que se complementaran

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

EJEMPLOS DE LENGUAJE DE BAJO NIVEL

• El lenguaje maquina: este lenguaje ordena a la máquina las operaciones fundamentales para su funcionamiento. Cnsiste en la combinación de 0's y 1's para formar las ordenes entendibles por el hardware de la maquina. Este lenguaje es mucho más rápido que los lenguajes de alto nivel. La desventaja es que son bastantes difíciles de manejar y usar, además de tener códigos fuente enormes donde encontrar un fallo es casi imposible.

• El lenguaje ensamblador es un derivado del lenguaje maquina y esta formado por abreviaturas de letras y números llamadas mnemotécnicos. Con la aparición de este lenguaje se crearon los programas traductores para poder pasar los programas escritos en lenguaje ensamblador a

Page 6: Lenguaje de Alto y Bajo Nivel

lenguaje máquina. Como ventaja con respecto al código máquina es que los códigos fuentes eran más cortos y los programas creados ocupaban menos memoria. Las desventajas de este lenguaje siguen siendo prácticamente las mismas que las del lenguaje ensamblador, ñadiendo la dificultad de tener que aprender un nuevo lenguaje difícil de probar y mantener.