viernes, 17 de mayo de 2013

Lenguaje de Programación F#

F# (pronunciado F Sharp) es un lenguaje de programación multiparadigma de código abierto,1 para la plataforma .NET, que conjunta la programación funcional con las disciplinas imperativa yorientada a objetos. Es una variante del lenguaje de programación ML y es compatible con la implementación Objective Caml. F# fue inicialmente desarrollado por Don Syme de Microsoft Research, pero actualmente está siendo desarrollado por la División de Desarrolladores de Microsoft y es distribuido como un lenguaje totalmente soportado en la plataforma .NET y Visual Studio 2010.2

F# es un lenguaje fuertemente tipado que utiliza inferencia de tipos. Como resultado, los tipos no necesitan estar declarados explícitamente por el programador; estos serán deducidos por el compilador durante el proceso de compilación. Sin embargo, F# también permite la declaración explícita de tipos de datos. Por ser un lenguaje .NET, F# soporta los objetos y tipos de .NET F# permite al programador programar de una manera que se asemeja más a como pensamos. Por ejemplo: en la cafetería para pedir un café, nosotros generalmente no le decimos al mesero exactamente los pasos para hacer el café, sólo pedimos un café con ciertas características. De tal forma que tenemos menos espacio para cometer errores, porque simplemente escribimos menos código. También facilita enormemente la creación de código asincrónico y paralelo, cosa que en otros lenguajes de .Net nos tomaría mucho más tiempo.

Lenguaje de Programación ERLANG

ERLANG es un lenguaje de programación concurrente y un sistema de ejecución que incluye una máquina virtual y biblioteca.

El subconjunto de programación secuencial de Erlang es un lenguaje funcional, con evaluación estricta, asignación única, y tipado dinámico. Fue diseñado en la compañía Ericsson para realizar aplicaciones distribuidas, tolerantes a fallos, soft-real-time y de funcionamiento ininterrumpido. Proporciona el cambio en caliente de código de forma que éste se puede cambiar sin parar el sistema. Originalmente, Erlang era un lenguaje propietario de Ericsson, pero fue cedido como software de código abierto en 1998. La implementación de Ericsson es, principalmente interpretada pero también incluye un compilador HiPE (sólo soportado en algunas plataformas).

La creación y gestión de procesos es trivial en Erlang, mientras que, en muchos lenguajes, los hilos se consideran un apartado complicado y propenso a errores. En Erlang toda concurrencia es explícita.

Erlang recibe el nombre de A. K. Erlang. A veces se piensa que el nombre es una abreviación de ERicsson LANGuage, debido a su uso intensivo en Ericsson. Según Bjarne Däcker -quien fue el jefe del Computer Science Lab en su día-, esta dualidad es intencional.

Lenguaje de Programación HOPE


HOPE puede considerarse como una notación para escribir programas en forma de expresiones funcionales. Una expresión puede estar constituida por un conjunto de símbolos básicos como; "-,+, >, (, 2", etc.
Los símbolos pueden ser:
*Operadores "{+, -, >,...}"
Operandos "{x, 1, 2,...}"
*Nombres de funciones (con sus argumentos)
*Separadores "{;}"
• Ejemplo:
(11 + 10) – (20 + 5)+ Maximo (pi, 20);

Prioridades.
2 + 3 * 5 ;
• Si hay varios operadores…
• ¿Cómo se calcula el valor?
• Asignar prioridades a operadores.
• La operaciones con operador de más prioridad se hacen antes.
Tabla de Prioridades:

1.- *, div : Prioridad 6
2.- +,- : Prioridad 5
• Si hay varios operadores con igual precedencia "2 + 3 - 5;"
• Se da prioridad al operador que se encuentra más a la izquierda.
• HOPE tiene asociatividad por la izquierda.

Asociatividad.
Shop winter
• Ejemplos:
Expresión(E): 2 + 3 * 4;
Resultado(R): 14
(E): (2 + 3) * 4;
(R): 20
(E): (113 + 20) – (20 + 34);
(R): 69 : num

Tipos.
• Un tipo de datos es una forma clasificar un valor de acuerdo a sus propiedades.
• Un tipo representa una clase de dominio de los datos
• Todo componente de un programa Hope tiene un tipo de datos. En particular, las operaciones y los operandos de las expresiones tienen tipos.
• Hope comprueba los tipos de una expresión
antes de evaluarla.
• Se asegura que los tipos de las operaciones y los operandos son los esperados al evaluar una expresión funcional.
• En Hope existen tres tipos de datos básicos:
*Num: Números enteros (representados en expresiones como secuencia de dígitos).
*Truval: Valores booleanos (solamente puede tomar el valor true o false).
*Char: Caracteres imprimibles (tienen que estar encerrados entre comillas simples)
En Hope+ se añade el tipo real (números reales)

Funciones.
• Una función en Hope (regla de transformación) establece una correspondencia entre dos dominios (colecciones de datos).
• Esta regla hace corresponder a todo elemento del (de los) dominio(s) origen un elemento del dominio destino.
• Ejemplo: El tipo de transformación
num → truval
indica que la función transforma un valor de tipo num (entero) en otro de tipo truval (booleano).
• En Hope todas las funciones tienen dos partes; su declaración y su definición. Ejemplo:
Función que transforme una temperatura en grados Celsius a Fahrenheit:
Beck Fahrenheit : num. -> num.; (declaración).

Fahrenheit f <= (f - 32)*5 Dib. 9; (definición)

• Una vez definida, la función se incorpora a la máquina HOPE, usándose con distintos argumentos:
*(E): Fahrenheit 40;
*(R) 4: num.

Lenguaje de Programación CAMEL

CAMEL es un estilo de escritura que se aplica a frases o palabras compuestas. El nombre se debe a que las mayúsculas a lo largo de una palabra en Camel se asemejan a las jorobas de un camello. El nombre Camel se podría traducir como Mayúsculas/Minúsculas Camello. El término case se traduce como "caja tipográfica", que a su vez implica si una letra es mayúscula o minúscula y tiene su origen en la disposición de los tipos móviles en casilleros o cajas.


Existen dos tipos de Camel:
UpperCamelCase
lowerCamelCase



Usos
En varios lenguajes de programación
Java
.NET
C
C++
C#
Objective-C
ActionScript
PHP

Lenguaje de Programación LISP


El LISP es una familia de lenguajes de programación de computadora de tipo multiparadigma con una larga historia y una sintaxis completamente entre paréntesis.


Especificado originalmente en 1958 por John McCarthy y sus colaboradores en el Instituto Tecnológico de Massachusetts, el Lisp es el segundo más viejo lenguaje de programación de alto nivel de extenso uso hoy en día; solamente el FORTRAN es más viejo.


Al igual que el FORTRAN, el Lisp ha cambiado mucho desde sus comienzos, y han existido un gran número de dialectos en su historia. Hoy, los dialectos Lisp de propósito general más ampliamente conocidos son el Common Lisp y el Scheme.


El Lisp fue creado originalmente como una notación matemática práctica para los programas de computadora, basada en el cálculo lambda deAlonzo Church. Se convirtió rápidamente en el lenguaje de programación favorito en la investigación de la inteligencia artificial (AI). Como uno de los primeros lenguajes de programación, el Lisp fue pionero en muchas ideas en ciencias de la computación, incluyendo las estructuras de datosde árbol, el manejo de almacenamiento automático, tipos dinámicos, y el compilador auto contenido.


El nombre LISP deriva del "LISt Processing". Las listas encadenadas son una de las estructuras de datos importantes del Lisp, y el código fuente del Lisp en sí mismo está compuesto de listas. Como resultado, los programas de Lisp pueden manipular el código fuente como una estructura de datos, dando lugar a los macro sistemas que permiten a los programadores crear una nueva sintaxis de lenguajes de programación de dominio específico empotrados en el Lisp.


La intercambiabilidad del código y los datos también da a Lisp su instantáneamente reconocible sintaxis. Todo el código del programa es escrito como expresiones S, o listas entre paréntesis. Una llamada de función o una forma sintáctica es escrita como una lista, con la función o el nombre del operador en primer lugar, y los argumentos a continuación; por ejemplo, una función f que toma tres argumentos puede ser llamada usando (f x y z).