domingo, 2 de marzo de 2014

3. Lenguaje de nivel bajo


CONCEPTO: 

un lenguaje de programación de bajo nivel es aquel en el que sus interuccion  ejercer un control directo sobre el hardware y están condicionados por la estructura física de la computadora que lo soporta.



1.2 LENGUAJE ENSAMBLADOR


Es un lenguaje de programacion de bajo nivel para las computadoras microprocesadores, microncontralodres y otros circuitos integrados programables. Implementan una representación simbolica de los códigos de maquina binarios y otras constantes necesarias para programar una arquitectura dada de cpu y constituye la representación mas directa del código maquina especifico para cada arquitectura legible por un programador.


CARACTERISTICAS

El código escrito en lenguaje ensamblador posee una cierta dificultad de ser entendido ya que su estructura se acerca al lenguaje máquina, es decir, es un lenguaje de bajo nivel.

El lenguaje ensamblador es difícilmente portable, es decir, un código escrito para un microprocesador, puede necesitar ser modificado, para poder ser usado en otra máquina distinta. Al cambiar a una máquina con arquitectura diferente, generalmente es necesario reescribirlo completamente.

Los programas hechos por un programador experto en lenguaje ensamblador son generalmente mucho más rápidos y consumen menos recursos del sistema (memoria RAM y ROM) que el programa equivalente compilado desde un lenguaje de alto nivel. Al programar cuidadosamente en lenguaje ensamblador se pueden crear programas que se ejecutan más rápidamente y ocupan menos espacio que con lenguajes de alto nivel.

Con el lenguaje ensamblador se tiene un control muy preciso de las tareas realizadas por un microprocesador por lo que se pueden crear segmentos de código difíciles y/o muy ineficientes de programar en un lenguaje de alto nivel, ya que, entre otras cosas, en el lenguaje ensamblador se dispone de instrucciones del CPU que generalmente no están disponibles en los lenguajes de alto nivel.

También se puede controlar el tiempo en que tarda una rutina en ejecutarse, e impedir que se interrumpa durante su ejecución


1.3  LENGUAJE DE MAQUINA


El lenguaje de máquina o código máquina es el sistema de códigos directamente interpretable por un circuito microprogramable, como el microprocesador de una computadora o el microcontrolador de un autómata. Este lenguaje está compuesto por un conjunto de instrucciones que determinan acciones al ser tomadas por la máquina. 

Un programa consiste en una cadena de estas instrucciones más un conjunto de datos sobre el cual se trabaja. Estas instrucciones son normalmente ejecutadas en secuencia, con eventuales cambios de flujo causados por el propio programa o eventos externos. El lenguaje de máquina es específico de la arquitectura de la máquina, aunque el conjunto de instrucciones disponibles pueda ser similar entre arquitecturas distintas.

CARACTERISTICAS.

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 maquina. La palabra “bajo” no implica que el lenguaje sea inferior a un lenguaje de alto nivel; se refiere a la abstracción entre el lenguaje y el hardware.

 Uso: ventajas e inconvenientes. En general se utiliza este tipo de lenguaje para programar controladores. La programación en un lenguaje de bajo nivel como el lenguaje maquina tiene ciertas ventajas:
· Mayor adaptación al equipo.


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

2. Tipos de Lenguaje


2. TIPO DE LENGUAJE.


JAVA :



Es un lenguaje de programación de propósito general, concurrente, orientado a objetos y basado en clases que fue diseñado específicamente para tener tan pocas dependencias de implementación como fuera posible. Su intención es permitir que los desarrolladores de aplicaciones escriban el programa una vez y lo ejecuten en cualquier dispositivo (conocido en inglés como WORA, o "write once, run anywhere"), lo que quiere decir que el código que es ejecutado en una plataforma no tiene que ser recompilado para correr en otra.


CARACTERISTICAS

.- lenguaje  simple:

se lo conoce como lenguaje simpleporque viene de la misma estructura de c y c++; ya que c++ fue un referentepara la creación de java por eso utiliza determinadas características de c++ yse han eliminado otras.

2.- orientado a objeto:

toda la programación en java ensu mayoría está orientada a objeto, ya que al estar agrupados en estructurasenestructuras encapsuladas es más fácil su manipulación.


3.- distribuido:

permite abrir sockets, establecery aceptar conexiones con los servidores o clientes remotos; facilita lacreación de aplicaciones distribuidas ya que proporciona una colección declases para aplicaciones en red.


4.- robusto:

es altamente fiable encomparación con c,  se han eliminadomuchas características con la aritmética de punteros, proporciona numerosascomprobaciones en compilación y en tiempo de ejecución.


LIPS




Es una familia de leguajes de programación de computadora de tipo multiparadigma con una larga historia y una sintaxis, complemente entre paréntesis.

CARACTERISTICAS

+ posee un manejo de memoria automático que libera el espacio utilizado por los objetos que dejan de ser necesitados.

+ incluye un mecanismo bastante simple para utilizar evaluación peresoza de expresiones.

+ la implementación en lisp suelen programarse de manera que cálculos interactivos puedan realizarce en un espacio constante.



ADA:




Es un lenguaje de programación orientado a objetos y fuertemente tipado de forma estatica que fue diseñado por jean ichian de cll hone y well bull por encargo del departamento de defensa de ee uu.

Características

+Es diferente el uso de mayúsculas y minúsculas en los identificadores y palabras clavos, es decir es un lenguaje case-insensitive
+ en ada, todo el programa es único procedimiento, que puede contener subprogramas (procedimientos o funciones)



Basic



Fue diseñado en 1964 por John George kemeny y thomas Eugene kurtz en new york como medio para facilitar programar computadoras a estudiantes y profesores que no fueran de ciencias

CARACTERISTICAS

+ Es un programa fácil y sencillo de manejar
+ trabaja con Windows form
+ solo es compatible para Windows


Pascal :



Desarrollado por el profesor suizo nik laus wirth entre los años 1968 y 1969.

Características

+ el tipo de dato de todas las variables deber ser declarado previamente para su uso quede habilitado.


Algol

Es un lenguaje de programación. la voz es un acrónimo de las palabras inglesas. Fue popular en las universidades durante los años 60 pero no llego ha cuajar como lenguaje de utilización comercial.

Características
Su temática fue definida formalmente antes de ser implementada  en base al formalismo llamado gramáticas de dos niveles.
Objetivos principales de algol es permitir comunicar algoritmos, el permitir una eficiente ejecución de los mismos en diferentes arquitecturas.


Php:




Diseñado para el desarrollo web del contenido dinamico. Fue uno de los primeros lenguajes de programación del lado del servidor incooporar directamente en el documento html en el lugar de llamar a un archivo externo que procede los datos.

CATACTERISTICAS

Soporte para una gran cantidad de bases de datos : myssgl postgre sql Oracle, mssql, server, sybasemsal, informix, entre otras.
Integracion con varias bibliotecas externas permiten generar documentos en pdf documentos a acrobat reader hasta analizar código xml.


Perl



Perl es un lenguaje de programación diseñado por Larry Wall en 1987. Perl toma características del lenguaje C, del lenguaje interpretado bourne shell (sh), AWK, sed, Lisp y, en un grado inferior, de muchos otros lenguajes de programación.

Características

+ Perl también toma características de la programación shell. Todas las variables son marcadas con un Sigilo precedente (Sigil, en inglés). Los sigilos identifican inequívocamente los nombres de las variables, + permitiendo a Perl tener una rica sintaxis. Notablemente, los sigilos permiten interpolar variables directamente dentro de las cadenas de caracteres (strings). Como en los shell, Perl tiene muchas funciones integradas para tareas comunes y para acceder a los recursos del sistema.

+ Perl toma las listas del Lisp, hash (memoria asociativa) del AWK y expresiones regulares del sed. Todo esto simplifica y facilita todas las formas del análisis sintáctico, manejo de texto y tareas de gestión de datos.


FORTRAN



es un lenguaje de programación alto nivel de propósito general,2 procedimental3 e imperativo, que está especialmente adaptado al cálculo numérico y a la computación científica. Desarrollado originalmente por IBM en 1957 para el equipo IBM 704, y usado para aplicaciones científicas y de ingeniería, el FORTRAN vino a dominar esta área de la programación desde el principio y ha estado en uso continuo por más de medio siglo en áreas de cómputo intensivo tales como la predicción numérica del tiempo, análisis de elementos finitos, dinámica de fluidos computacional (CFD), física computacional y química computacional. Es uno de los lenguajes más populares en el área de la computación de alto rendimiento y es el lenguaje usado para programas que evalúan el desempeño (benchmark) y el ranking de los supercomputadores más rápidos del mundo.4

CARACTERISTICAS

El lenguaje fue diseñado teniendo en cuenta que los programas serían escritos en tarjetas perforadas de 80 columnas. Así por ejemplo, las líneas debían ser numeradas y la única alteración posible en el orden de ejecución era producida con la instrucción goto. Estas características han evolucionado de versión en versión. Las actuales contienen subprogramas, recursión y una variada gama de estructuras de control.


Ruby




Ruby es un lenguaje de programación interpretado, reflexivo y orientado a objetos, creado por el programador japonés Yukihiro "Matz" Matsumoto, quien comenzó a trabajar en Ruby en 1993, y lo presentó públicamente en 1995. Combina una sintaxis inspirada en Python y Perl con características de programación orientada a objetos similares a Smalltalk. Comparte también funcionalidad con otros lenguajes de programación como Lisp, Lua, Dylan y CLU. Ruby es un lenguaje de programación interpretado en una sola pasada y su implementación oficial es distribuida bajo una licencia de software libre.


CARACTERISTICAS.

Orientado a objetos
Cuatro niveles de ámbito de variable: global, clase, instancia y local.
Manejo de excepciones
iteradores y clausuras o closures (pasando bloques de código)
expresiones regulares nativas similares a las de Perl a nivel del lenguaje
Posibilidad de redefinir los operadores (sobrecarga de operadores)
recolección de basura automática
Altamente portable
Hilos de ejecución simultáneos en todas las plataformas usando green threads
Carga dinámica de DLL/bibliotecas compartidas en la mayoría de las plataformas
Introspección, reflexión y metaprogramación
Amplia librería estándar
Soporta inyección de dependencias
Soporta alteración de objetos en tiempo de ejecución

continuaciones y generadores.


1. Lenguajes de alto nivel.

1.1 LENGUAJES DE ALTO NIVEL 

 Un lenguaje de alto nivel permite al programador escribir las instrucciones de un programa utilizando palabras o expresiones sintácticas muy similares al inglés. 


 1.2 CARACTERÍSTICAS. Se caracteriza por expresar los algoritmos de una manera adecuada a la capacidad cognitiva humana, en lugar de la capacidad ejecutora de las maquinas. 


 1.3 VENTAJAS

 + Se generan un código más sencillo y comprensible
 + escribir un código valido para diversas máquinas y posiblemente, sistemas operativas 
 + Reducción del costo de los programas
 + Transportabilidad permiten tener una mejor documentación. 


 1.4 DESVENTAJAS

 + Reducción de velocidad al ceder en trabajo de bajo nivel a la maquina + Algunos requieren que la maquina cliente posea una determinada plataforma- 

+ Incremento del tiempo de puesta al punto de necesitarse diferentes traducciones del programa fuente para conseguir el programa definitivo. 


 1.5 TIPOS DE LENGUAJE 

 VB.NET

 Ada 

ALGOL 

BASIC

 C Sharp

 FORTRAN 

Java

 Lisp

 Modula-2 

Pascal

 Perl

PHP 

PL/1 PL/SQL

 Python Ruby Matlab