lunes, 15 de noviembre de 2010

LENGUAJES FUNCIONALES

Es un paradigma declarativa basado en la utilizacion de funciones aritméticas que no manejan datos mutables o de estado. La programacion funcional tiene sus raíces en el calculo lambda, un sistema formal desarrollado en 1930 para investigar la definición de función, aplicacion de las funciones y recursion.

Los lenguajes de programacion funcional han sido enfatizados en el ambiente académico y no tanto en el desarrollado de software comercial.

El objetivo es conseguir lenguajes expresivos y matematicamente elegantes, en los que no sea necesario bajar el nivel de la maquina para describir el proceso llevado a cabo por el programa.

Algunos lenguajes son:
- LISP
- HASKELL
- SCHEME
- ERLANG
- STANDARD ML.

LENGUAJE C++ programa2

Este es otro programa en lenguaje C++ en donde tu ingresas 6 elementos y este programa te dice cual el es el mayor y menor de los elementos agregados y al final los imprime em forma invertida que tu los ingresaste.

El codigo es:
E imprimio :

LENGUAJE C++

Este programa es en el lenguaje c++, y realiza una multiplicacion de 2 vectores.

Te pide que introduzcas 5 valores (0,1,2,3,4) que serian el primer valores y despues te piden que ingreses otros 5 valores que seria el segundo valor y multiplicandolos (el valor 0 por el valor0, valor 1 por valor 1, etc)
 Aqui les dejo el codigo del programa

Y el  resultado seria


LENGUAJES IMPERATIVOS

Es un paradigma de programacion que describe la programacion en términos del estado del programa y sentencias que cambian dicho estado. Son un conjunto de instrucciones que le indican al computador como realizar una tarea.

La implementación de hardware de la mayoría de los computadores es imperativa. Esto se debe a que el hardware de los computadores implementa el paradigma de las maquinas turing.

Los lenguajes imperativos de ato nivel usan variables y sentencias mas complejas, pero aun siguen el mismo paradigma.

Los primeros lenguajes imperativos fueron los lenguajes de maquina de los computadores originales. Las instrucciones fueron muy simples, la implementación de hardware fácil, abstrayendo la creación de programas complejos.

Algunos lenguajes imperativos son:
- lenguaje C
- pascal
- basic
- fortran

MAQUINA VIRTUAL

En la entrada pasada hable acerca de SMALLTALK y decía que el sistema de este lenguaje esta compuesto por varias cosas pero decía acerca de que estaba compuesta por una maquina virtual y en esta entrada es lo que hablare acerca de la maquinas virtuales.

MAQUINA VIRTUAL
Es un software que emula a una computadora y puede ejecutarse programas como si fuese una computadora real.
Una característica esencial de las maquinas virtuales es que los procesos que ejecuta están limitados por los recursos y abstracciones proporcionados por ellas.

Las maquinas virtuales se clasifican en 2 categorías, según su funcionalidad y su grado de equivalencia a una verdadera maquina.
  • MAQUINA VIRTUAL DE SISTEMA
Permiten a la maquina física subyacente multiplexarse entre varias maquinas virtuales cada una ejecutando su propio sistema operativo. A la capa de software que permite la virtualizacion se llama monitor de maquina virtual, puede ejecutarse directamente sobre el hardware o sobre el sistema operativo.

Algunas maquinas virtuales de sistema:
  1. Denali
  2. Microsoft Virtual PC
  3. Linux-Vserver
  4. Virtual Operating System

  • MAQUINA VIRTUAL DE PROCESO
Se ejecuta como un proceso normal dentro de un sistema operativo y soporta un solo proceso. Su objetivo es el de proporcionar un entorno de ejecución independiente de la plataforma de hardware y del sistema operativo que oculte los detalles de la plataforma subyacente y permita que un programa se ejecute siempre de la  misma forma sobre cualquier plataforma.

Algunas maquinas virtuales de proceso son:
  1. Glulx
  2. Java virtual machine
  3. Perl virtual machine
  4. Smalltalk virtual machine
Aqui les dejo un video habla sobre las maquinas virtuales.

SMALLTALK

Es un lenguaje de programacion que permite realizar tareas de computación mediante la interacción con un entorno de objetos virtuales.
Fue diseñado por Alana Kay y su disponibilidad se dio en el año 1980

Un sistema de SMALLTALK esta compuesto por:
  • Maquina virtual
  • Imagen virtual que contiene todos los objetos del sistema
  • lenguaje de programacion (smalltalk)
  • biblioteca de objetos reusables
El objetivo era crear un sistema que permitiese expandir la creatividad de usuarios, proporcionando un entorno para a experimentación, creación e investigacion.

Smalltalk es considerado el primero de los lenguajes orientados a objetos, aunque el primero en implementar la orientado a objeto (SIMULA).

Las características del lenguaje:
  • Orientacion a objetos pura.
  • Tipado dinámico.
  • Interacción entre objetos mediante envió de mensajes.
  • Herencia simple y raíz común.
  • Reflexion computacional completa.
  • Recolección de basura.
  • Compilacion en tiempo ejecución.
  • Múltiples implementaciones.

Aquí les dejo un tutorial, y un vídeo.

ADA

Es un lenguaje de programacion orientado a objetos fue diseñado por Jean Ichbiah de CII Honeywell Bull por encargo del Departamento de Defensa de los Estados Unidos. Es un lenguaje multiproposito, orientado a objetos y concurrente.

Fue diseñado con la seguridad en mente y a la reducción de errores comunes y dificiles de descubrir.

Ada es usado principalmente donde se necesita gran seguridad y fiabilidad como la defensa, aeronáutica, industria aeroespacial, etc.

Durante los años 1970 el departamento de Defensa de Estados Unidos buscaba un lenguaje único que cumpliese ciertas normas, pero buscando entre los lenguajes ya existentes no encontraron ni uno que contara con todas las normas requeridas así que realizaron un concurso y el ganador fue Jean Ichbiah.

Un compilador de Ada muy usado es GNAT desarrollado por la Universidad de New York.

Aqui les dejo un tutorial.

Espero que es sirva.:)