miércoles, 18 de agosto de 2010

Presentacion#1


Aqui les muestro lo que es la presentacion que dare la clase el jueves, se trata de algunos aspectos sobre optimizacion.


Saludos!!

Tarea#2 Falcon

Hola Dra Sara y compañeros de clase, bueno en esta entrada les hablare y les mostrare de este lenguaje de programacion muy poco conocido.

Se llama "Falcon" y es un codigo abierto multi-paradigma diseñado por un italiano llamado: Giancarlo Niccolai en el año del 2003.



¿Que quiere decir multi-paradigma?-pues esto fue de lo que mas me llamo la atencion ya que este lenguaje nos muestra diferentes tipos de paradigmas como algunos que ya habiamos visto la clase anterior como:

*De procedimiento
*Funcional
*Orientado a objetos
*Prototipo de orientado a objetos
*Mensaje orientado
*Programacion tabular.
*En un futuro se podra contar con el paradigma logico.


Compilador
El Falcon contiene un meta-compilador que soporta expansiones macro, lo generado por el meta-compilador es enviado en lenguaje lexico como si fuera parte de la fuente original del codigo. Usando \[ ...\] es posible escribir dinamicamente el contenido del programa siendo compilado por ejemplo:

\[ printl( "printl( 'Hello world' )" ) \]


Aqui les muestro un ejemplo de la estructura del codigo en falcon, aqui creamos una clase base y da como resultados instancias:

base = bless([
"new" => function (prop)
return bless([
"class" => self,
"method" => self["method"],
"property" => prop
]);
end ,
"method" => function (); > "Hello from ", self.property; end
])
inst = base.new( "me" )
inst.method()
// outputs
Hello from me

Aqui les dejo el link de un manual que esta en la pagina oficial del Falcon:
Guia del Falcon



*NOTA: Toda la informacion que encontre se encontraba en ingles y los puntos mas relevantes los traduje por mi cuenta. Al igual que la guia se encuentra en ingles, si tienen alguna duda o algo pueden comentar en mi blog y con gusto tratare de traducirlo o podriamos ponernos de acuerdo para buscar mas informacion =)

Aqui les dejo la pagina oficial del Falcon


Powered by Falcon

miércoles, 11 de agosto de 2010

Tarea#1

Hola Dra Sara y compañeros de clase. Aqui les muestro lo que es mi mapa conceptual de lo que entendi de la primera clase de lenguajes de programacion.

Como podran ver esta algo resumido ya que intente solo poner la informacion mas relevante y de la manera mejor resumida.


Los lenguajes de programacion se utilizan para expresar instrucciones o pasos que una maquina puede obedecer.

Lo que entendi fue que los lenguajes de programacion deben siempre ser sencillos expresivos,claros, baratos(en tiempo y costo) entre otras cosas.
Tambien que dos de sus fundamentos son la Sintaxis y la Semántica.
La sintaxis es como se escriben las expresiones de un lenguaje en si es su construccion, mientras que la semántica es la interpretacion del significado de alguna expresion.

En los lenguajes vi la relacion del hardware con el sistema operativo, el sistema operativo sirve como interfaz entre el hardware y los programas, que a la vez, estos son utilizados por algun usuario.

Para ser un poco mas especificos, los programas necesitan de una validacion(Pasos).
Esta validacion es verificar que el programa cumple con las especificaciones que el usuario requiere.
Los pasos para una validacion son:
*Depuracion
*Pruebas
*Verificacion

En el mapa tambien aparece lo que son los paradigmas, estos son los diferentes enfoques que puede tener un lenguaje de programacion, por ejemplo:

El imperativo: Este es el que lleva una secuencia de instrucciones para que una maquina pueda realizar una tarea o u operacion, es el mas comun. Ej: C, Basic.

Funcional: Es caracterizado porque se declaran funciones y no variables, no tiene construcciones estructuradas como la iteracion y debido a eso, es muy frecuenta la recursividad. Ej ML, Haskell

Logico: Este es a base de proposiciones y consecuencias, no nos indica el como hacer algo si no mas bien que hacer. Ej: PROLOG

Orientado a objetos: Se encapsulan operaciones a objetos (instancias) y se utiliza para diversas aplicaciones. Ej C#, Phyton, Java

Cada enfoque tiene sus propias caracteristicas y como vimos en clase no es que uno sea mejor que el otro si no se debe aprender cuando utilizar cada enfoque.

Bueno esto es mas o menos una explicacion de mi mapa conceptual, cualquier sugerencia o comentario no duden en dejar un post. Espero les haya podido ser claro...

Saludos.