martes, 22 de marzo de 2011

LENGUAJES DE PROGRAMACION DE ALTO Y BAJO NIVEL ASI COMO GENERACIONES DE LENGUAJES

LENGUAJE DE BAJO Y ALTO NIVEL
Un lenguaje de programación es un idioma artificial diseñado para expresar computaciones que pueden ser llevadas a cabo por máquinas como las computadoras. Pueden usarse para crear programas que controlen el comportamiento físico y lógico de una máquina, para expresar algoritmos con precisión, o como modo de comunicación humana.1
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 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.
• Ada
• ALGOL
• BASIC
• C++
• C#
• COBOL
• Fortran
• Java
• Lisp
• Modula-2
• Pascal
• Perl
• PHP
• PL/SQL
• Python
Ventajas e inconvenientes
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
• 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.



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 un set de instrucciones aritmeticológicas sin la capacidad de encapsular dichas instrucciones en funciones que no estén ya contempladas en la arquitectura del hardware
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.
La estructura de los lenguajes son como sigue:
1. Lenguaje Máquina - Las invocaciones a memoria, como los procesos aritmético lógicos son posiciones literales de conmutadores físicos del hardware en su representación booleana. Estos lenguajes son literales de tareas.
2. Lenguajes de bajo nivel - Son instrucciones que ensamblan los grupos de conmutadores necesarios para expresar una mínima lógica aritmética. Están íntimamente vinculados al hardware. Por norma general están disponibles a nivel firmware, cmos o chip set. Estos lenguajes están orientados a procesos. Los procesos se componen de tareas. Contienen tantas instrucciones como la arquitectura del hardware así haya sido diseñada.
• Por ejemplo: La arquitectura CISC contiene muchas mas instrucciones a este nivel, que la RISC.
• Son denominados como ensambladores de un hardware concreto.
1. Lenguajes de medio nivel - Son aquellos que, basándose en los juegos de instrucciones disponibles (chip set), permiten el uso de funciones a nivel aritmético, pero a nivel lógico dependen de literales en ensamblador. Estos lenguajes están orientados a procedimientos. Los procedimientos se componen de procesos.
• Ejemplos: C, Basic.
1. Lenguajes de alto nivel - Son aquellos que permiten una máxima flexibilidad al programador a la hora de abstraerse o de ser literal. Permiten un camino bidireccional entre el lenguaje máquina y una expresión casi oral entre la escritura del programa y su posterior compilación. Estos lenguajes están orientados a objetos. Los objetos se componen de propiedades cuya naturaleza emerge de procedimientos.
• Ejemplos: C++, Fortran, Cobol, Lisp.
1. Lenguajes de aplicaciones - Son aquellos que no permiten una bidireccionalidad conceptual entre el lenguaje máquina y los lenguajes de alto nivel, ni tampoco la literalidad a la hora de invocar conceptos lógicos. Se basan en librerías creadas en lenguajes de alto nivel. Pueden permitir la creación de nuevas librerías, pero son propietarias y dependientes de las suministradas por la aplicación. Estos lenguajes están orientados a eventos. Los eventos acontecen cuando las propiedades de un objeto interactúan con otro.
• Ejemplos: Visual Basic para aplicaciones.
1. Lenguajes de redes - Son aquellos que se basan en un convenio de instrucciones totalmente independientes de la máquina, y completamente dependientes de la red a la que están orientadas. Se dividen en descriptivos (HTML, XML, VML), de cliente-Servidor (Java, PHP) y de script.
• 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. Por ejemplo, se utiliza este tipo de lenguajes para programar controladores de dispositivos.
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 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.

No hay comentarios:

Publicar un comentario