martes, 30 de enero de 2007

L04-Ruby


A continuación se mostrara cierta sintaxis que se tiene en el lenguaje de Ruby comparada con el lenguaje de C++. Cabe mencionar que el traductor que se utilizo fue Ruby 1.8.5 version Windows.

¿Como se genera un objeto?
En C++
Circle x;
x = Circle();

En Ruby
# se puede de dos formas:

circle1 = Circle.new

circle2 = Circle.new()

¿Como son los condicionales?
En C++
if ( x == y ){ z++; }

En Ruby
#suponemos que ‘x’, ‘y’ y ‘z’ son numeros enteros
if x == y
z = z + 1
end

¿Cómo son los ciclos?
En C++
int z;
for( i=1; i <>

En Ruby
i = 1
z = 0
loop do
z = z + i
i = i + 2
break if i > 19
end

¿Cómo son los arreglos?
En C++
int x[ 5 ]={ 2, 4, 7 };
z = x[ 0 ];

En Ruby
x = [ 2, 4, 7 ]
z = x[0]

¿Cómo son las cadenas?
En C++
char *s = "Hola";
z = strlen( s );

En Ruby
s = “Hola”
z = s.length

¿Cómo se llama un metodo?
En C++
Circle x;
x = Circle( 6 ); //Se asevera que el 6 es el radio.
return x.area();

En Ruby

circle3 = Circle.new(6)
return circle3.area

Al igual, si usted quiere aprender mas sobre la sintaxis de Ruby puede visitar los siguientes enlaces que me sirvieron mucho como guia:

Si se esta interesado en saber mas sobre comparaciones de Ruby con otros lenguajes, se puede visitar el siguiente links:

También si es de su interes obtener un interprete de Ruby, aqui se le anexa la direccion donde se puede Descargar.


Espero que sea de mucha ayuda esta informacion. Gracias!!!!

domingo, 21 de enero de 2007

L03-SMALLTALK

A continuación se mostrara cierta sintaxis que se tiene en el lenguaje de Smalltalk comparada con el lenguaje de C++. Cabe mencionar que el traductor que se utilizo fue Dolphin Smalltalk X6 Free Community Edition, ya que este cuenta con un tutorial para principiantes ademas de contar con un gran Glosario de todas las clases y sus metodos que contiene.

¿Como se genera un objeto?
En C++
Circle x;
x = Circle();
En Smalltalk
x := Circle new.

¿Como son los condicionales?
En C++
if ( x == y ){ z++; }
En Smalltalk
z := 0.
(x = y) ifTrue: [ z := z + 1].

¿Cómo son los ciclos?
En C++
int z;
for( i = 1; i <>
En Smalltalk
z := 0.
1 to: 19 by: 2 do: [:i |
z := z + i.
].

¿Cómo son los arreglos?
En C++
int x[ 5 ]={ 2, 4, 7 };
z = x[ 0 ];
En Smalltalk
array1 := #(2 4 7 nil nil).
array2 := array1 at:1.

¿Cómo son las cadenas?
En C++
char *s = "Hola";
z = strlen( s );
En Smalltalk
s := 'Hola'.
str := s size.

¿Cómo se llama un metodo?
En C++
Circle x;
x = Circle( 6 ); //Se asevera que el 6 es el radio.
return x.area();
En Smalltalk
w := Circle new.
w radius: 6.
^w radius.

"El metodo en si de area() no existe en clase Circle en Smalltalk por lo tanto solo se muestra la llamada a un metodo y como se regresa el valor dado de esa llamada. Si se desea obtener el area solo es cuestion de hacer lo siguiente: ^ (w radius squared)*3.141592653"

También se agrego el archivo que se hizo para poder realizar las pruebas, esto con el fin de saber si la sintaxis estaba correcta. Solo es cuestion de abrirlo con Dolphin y seleccionar las lineas deseadas para ejecutar, ya que esten seleccionadas dar Ctrl+D y automáticamente después de la ultima linea mostrara el resultado. (enlace a tarea1_lenguajes) (otros codigos)

Al igual, si usted quiere aprender mas sobre la sintaxis de este lenguaje puede visitar los siguientes enlaces que me sirvieron mucho como guia:

Si se esta interesado en saber mas sobre comparaciones de Smalltalk con otros lenguajes, se puede visitar los siguientes links:

También si es de su interes obtener Dolphin Smalltalk X6, aqui se le anexa la direccion donde se puede Descargar. Cabe mencionar que si se desea obtener la licencia Profesional se tiene que pagar, pero si solo es de estudio al momento de instalarlo y ejecutarlo solo dele click al boton que dice "Apply for Community Edition Serial Number", automaticamente le pedira un correo electronico para enviarle el codigo de desbloqueo.


Espero que sea de mucha ayuda esta informacion. Gracias!!!!

jueves, 18 de enero de 2007

L02-SMALLTALK

Smalltalk es un lenguaje puro orientado a objetos simple. Este lenguaje influencio a la mayoria de los lenguajes modernos orientados a objetos, apesar de que estos hayan perdido la elegancia y la simplicidad de Smalltalk

La sintaxis de Smalltalk es muy simple:
  • Todo es un objeto.
  • Los objetos se comunican entre si por "Message Passing" (envió de mensajes).
  • Las clases describen por medio de estados (variables) y comportamiento (métodos) los objetos que estas mismas generan.
  • Cuando un objeto recibe un mensaje, el método que le corresponde busca en la misma clase o en la superclase del que recibe el mensaje.
  • Los métodos son públicos.
  • Las variables de instancia son privadas.
  • Las clases tienen herencia.
NOTA: El concepto anterior fue traducido de la pagina original (link)

En la actualidad existen muchos lenguajes de programacion orientados a objetos, pero todos ellos han sido una derivación o como anteriormente se dijo fueron inspirados en el lenguaje de Smalltalk; pero De donde y como surgió Smalltalk? Esto podemos saberlo visitando las siguientes direcciones que encontre mientras buscaba algo referente a este lenguaje de progracion:

  • The Early History of Smalltalk escrito por Alan C. Kay Creador de Smalltalk, este libro habla de como se baso para crear este lenguaje asi de como son los fundamentos y las bases del mismo.
  • The History of Smalltalk publicado en la pagina de Smalltalk, este articulo nos muestra una linea del tiempo acerca de la historia del lenguaje.
Tambien, durante la investigacion se encontraron diferentes sitios de interes acerca de este lenguajes como son:

  • Companies that use Smalltalk, esta pagina nos da una idea de lo importante de Smalltalk y del impacto que ha tenido en las empresas en el tiempo.
  • Programando con Smalltalk libro, este libro esta disponible en PDF para todo el publico en general no es necesario pagar una cuota para poder bajarlo (Descargalo). Aqui vienen muchos ejemplos para programar en Smalltalk.
  • Stef's Free Online Smalltalk Books, esta es una gran base de datos de varios libros que estan al alcance del publico. Aqui tambien existen varios libros que contienen muy buenos ejemplos.
  • Versions of Smalltalk, aqui podemos ver una gran variedad de versiones que se han hecho al paso del tiempo del este lenguaje. Son al rededor de 27 versiones de este lenguaje, Actualmente no se pudo saber cuantas existen pero creo que estas son mas que suficientes para darnos una idea de la evolucion de este lenguaje.
Para la gente que este interesada en aprender y poner en practica ejemplos de Smalltalk, se encontro este sistema y un interprete que son del dominio publico, al igual de una Base de Datos con informacion de herramientas para el desarrollo de progamacion de Smalltalk:

  • Squeak es un sistema gratuito y de código abierto con licencia Apple en cuyo desarrollo toman parte los mismísimos "padres" de Smalltalk, Alan Kay y Dan Ingalls. Existen versiones para Windows, Unix, Macintosh y otras. (Descargalo)
  • SmallWord es un intérprete de dominio público de Little Smalltalk.
  • Smalltalk Development and Tools. Base de datos de herramientas para Smalltalk.
  • Varios ejemplos en lenguaje de Smalltalk.
Realmente espero que este articulo no haya sido demaciado largo, la igual de que haya sido de utilidad para la gente interesada. Gracias

domingo, 14 de enero de 2007

Busqueda Exhaustiva 2

En estos momentos se ha agregado un tutorial interactivo mas a la lista de la gran busqueda que se ha estado realizando desde la semana pasada. El nuevo tutorial es del lenguaje de programacion Lisp.

En este tutorial la mayoria se trata de puro texto, pero al final de cada leccion (que en total son 6 lecciones) tienen una seccion llamada "Self-defined Functions", que esta seccion esta dividida en cada uno de los subtemas de la leccion que anteriormente se estudiaron, y dentro de estas secciones estan diferentes temas que al momento de entrar en ellos se tienen diferentes funciones o palabras con un enlace a una pagina donde se cuenta con un TextArea para poner el codigo de la funcion. Al momento de programar esto se le puede dar click al boton que dice Eval.

En la pagina de este tutorial se pude un usuario y un password, si no se esta registrado solo es cuestion de poner el usuario y password deseado, y automaticamente la pagina lo manda a una que le pregunta si es nuevo usuario y solo le pide que confirme el password y que de un correo electronico valido. Peace of cake!!!

Tutorial link Lisp (English Version)

Tambien se encontro otro tutorial, pero este no sera de mucha ayuda ya que el servidor a donde se envian las respuestas que el usuario va contestanto esta fuera de servicio, o mas bien no existe segun la Internet. Pero vale la pena ver el tutorial, este minitutorial es del lenguaje de programacion NESL espero realmente que les agrade y les pueda servir de algo.

Tutorial link NESL

Bye!!!

viernes, 12 de enero de 2007

Saludos Tardios =)

A pesar de ser este mi segundo Post en mi Blog, me di la tarea de darles la mas cordial y calurosa bienvenida a lo que es este mi espacio.

Este Blog sera usado con el fin de llevar a cabo una documentación de cada tarea, proyecto, búsqueda e investigación que se lleve a cabo durante la clase Lenguajes de programacion que actualmente estoy cursando. Al igual puede existir la posibilidad de Postear algo fuera de esta materia pero que este dentro de mis materias en curso, o de algo realmente interesante que me tope por la Internet y sienta deseos de compartirlo.

Espero pronto sus comentarios, quejas y/o sugerencias en cuanto a este Blog.

Gracias!!!!

Busqueda Exhaustiva

Despues de tanto indagar por la Internet buscando tutoriales interactivos de programacion como el del lenguaje de programacion llamado Ruby que fue dado a conocer en clase de Lenguajes, pude obtener la direccion de 2 tutoriales de lenguajes de programacion que son C# y XML.

Los pasos que se tienen que seguir para poder ver los tutoriales es solo seleccionar en la columna de la izquierda el tema de interes en el caso de XML. Despues lo llevara a una pagina donde puede seleccionar un subtema de interes.

En estos tutoriales el visitante puede programar dentro de los TextArea que se encuentran a la derecha; al termino de la programacion se le da click al boton Run que se encuentra a la esquina superior derecha, o en el caso de XML se le da click al boton Enviar Consulta.

Por lo pronto, estas son las ligas para cada uno de los tutoriales mientras se seguiran buscando otros tutoriales interactivos:

link Tutorial C#
link Tutorial XML

Espero que estos tutoriales sean de mucha ayuda para la gente que quiere estar en constante aprendizaje. Bye!!!!