jueves, 27 de agosto de 2009

Metodologías Ágiles y Diseño Orientada a Objetos



Hola de nuevo!

El día de ayer me llegó un correo de la revista Software Gurú y su nueva publicación, al leerlo me llamó mucho la atención acerca de lo que hablaba, y esto es, metodologías ágiles para el desarrollo de software y utilizarlo como ventaja competitiva en la industria (realmente es Desarrollo Ágil en el Mundo Real).

¿Por qué me emocionó esto?, pues debido a que hace unos meses atrás yo ya traía esa idea para implementarla en la empresa que estamos construyendo unos amigos y yo, llamada GenomaSoft. Ultimamente nos estabamos enfocando en realizar nuestro propio framework de documentación estructurada basándonos en RUP y en estándares de desarrollo de Software de la IEEE, sin embargo yo comencé a sentirme un poco incómodo con esto debido a que el cliente estaba perdiendo entusiasmo en el producto, el equipo de trabajo se estaba aburriendo de la documentación y yo también para ser sincero. No digo que no sea algo bueno, sin embargo en lo particular me estaba agobiando.

En este momento fue cuando comencé a pensar que en México la mayoría de las empresas no piden que uno tenga mil y un certificiaciones, realmente ahora me han estado llegando clientes que quieren que se les haga un software rápido, que puedan ver y no importa si se le tiene que ir corrigiendo, además, quieren que se les hagan por módulos que puedan comenzar a utilizar sin tener que esperar a que el sistema esté totalmente finalizado.

En los artículos de esta revista le dan fundamento a mis sospechas, tanto en la forma del equipo de trabajo utilizando Scrum o Kanban, como en las ventajas y necesidad de las metodologías ágiles en el mercado de hoy.

Pero bueno, eso no es todo!!!, también últimamente he estado leyendo el libro Object Oriented Analisys & Design de la serie Head First (OOA&D), muy buenos libros por cierto, donde en el primer capítulo mencionan un proceso un tanto extraño con respecto al desarrollo de software que es lo siguiente:
  1. Primero, haz que el software desempeñe la funcionalidad que el cliente desea.
  2. Terminando eso, aplica los principios de orientación a objetos a tu código.
  3. Aplica patrones de diseño a tu software.
Bueno, al inicio entré en un shock, debido a que pensé, ¿Pero esto como va a ser posible, es decir, que pasa con los pasos del desarrollo de software donde primero se toman requerimientos, luego se diseña (utilizando ya los principios y patrones) y después se programa?, realmente en mi cabeza estaba esa duda y estaba ya cuestionando el contenido del libro, porque aunque la verdad esos tres pasos que mencionan en OOA&D me parecieron muy buenos, pensé que eso solo aplicaría para proyectos académicos y no más.

Ahora viene lo bueno, al leer lo de las metodologías ágiles, creo que es posible ahora sí combinar lo antes mencionado con las metodologías ágiles, logrando así un mejor desempeño en el desarrollo de software, y por ejemplo los pasos 2 y 3 mencionados en el OOA&D supongo que se aplicarían en Scrum en las mejoras que se podrían hacer al final de cada Sprint (realmente todavía no he leído mucho de Scrum, pero en los próximos post, prometo hacerlo =) ).

Bueno, en general eso es lo que quería compartirles en estos momentos con respecto a las metodologías ágiles y el diseño orientado a objetos. Realmente me gustaría leer sus comentarios, quejas, sugerencias o material que podría ampliar el contenido de este post!.

Hasta pronto!

PHP y JQuery - Video Tutoriales

Que onda!, espero que se encuentren muy bien, a continuación les anexo las ligas de unos screencast para aprender PHP y JQuery. Lo que me encanta de estos tutoriales es que te van explicando absolutamente todo desde un inicio, tanto para el lenguaje PHP como el Framework JQuery. Espero los disfruten =).

PHP

Video 1: http://blog.themeforest.net/screencasts/diving-into-php-video-series/

Video 2: http://blog.themeforest.net/screencasts/diving-into-php-day-2/

Video 3: http://blog.themeforest.net/screencasts/diving-into-php-day-3/

Video 4: http://blog.themeforest.net/screencasts/diving-into-php-day-4/

Video 5: http://blog.themeforest.net/screencasts/diving-into-php-day-5/

Video 6: http://blog.themeforest.net/screencasts/diving-into-php-day-6/

Video 7: http://blog.themeforest.net/screencasts/diving-into-php-day-7/

Video 8: http://blog.themeforest.net/screencasts/diving-into-php-day-8/

Video 9: http://blog.themeforest.net/screencasts/diving-into-php-day-9/

Video 10: http://blog.themeforest.net/screencasts/diving-into-php-day-10/

Video 11: http://blog.themeforest.net/screencasts/diving-into-php-day-11/

Video 12: http://blog.themeforest.net/screencasts/diving-into-php-day-12/

Video 13: http://blog.themeforest.net/screencasts/diving-into-php-day-13/

Video 14: http://blog.themeforest.net/screencasts/diving-into-php-day-14/

Video 15: http://blog.themeforest.net/screencasts/diving-into-php-day-15/

Video 16: http://blog.themeforest.net/screencasts/diving-into-php-day-16/

JQuery

Video 1: http://blog.themeforest.net/screencasts/jquery-for-absolute-beginners-video-series/

Video 2: http://blog.themeforest.net/tutorials/jquery-for-absolute-beginners-day-2/

Video 3: http://blog.themeforest.net/tutorials/jquery-for-absolute-beginners-day-3/

Video 4: http://blog.themeforest.net/tutorials/jquery-for-absolute-beginners-day-4/

Video 5: http://blog.themeforest.net/tutorials/jquery-for-absolute-beginners-day-5/

Video 6: http://blog.themeforest.net/tutorials/jquery-for-absolute-beginners-day-6/

Video 7: http://blog.themeforest.net/tutorials/jquery-for-absolute-beginners-day-7/

Video 8: http://blog.themeforest.net/tutorials/jquery-for-absolute-beginners-day-8/

Video 9: http://blog.themeforest.net/tutorials/jquery-for-absolute-beginners-day-9/

Video 10: http://blog.themeforest.net/tutorials/jquery-for-absolute-beginners-day-10/

Video 11: http://blog.themeforest.net/tutorials/jquery-for-absolute-beginners-day-11/

Video 12: http://blog.themeforest.net/tutorials/jquery-for-absolute-beginners-day-12/

Video 13: http://blog.themeforest.net/tutorials/jquery-for-absolute-beginners-day-13/

Video 14: http://blog.themeforest.net/tutorials/jquery-for-absolute-beginners-day-14/

Video 15 Parte 1: http://blog.themeforest.net/tutorials/jquery-for-absolute-beginners-day-15/

Video 15 Parte 2: http://blog.themeforest.net/screencasts/jquery-for-absolute-beginners-day-15-part-2/

martes, 17 de abril de 2007

T32-Viajes

Que onda, hace rato que ya no pegabamos nada por estos rumbos, a continuación les dejo un programa de prolog el cual le colocas una consulta de la siguiente forma:
g(donde(precio,clima,dias,preferencia),R).

Donde:
precio = 1000 a 5000.
clima = frio, calor o templado.
dias = 1 - 6.
preferencia = semi-urbana, urbana, rural.

un ejemplo sería:


g(donde(1000,frio,2,urbana),R).
R=parral

Así sería como funciona. Bueno, eso es todo hasta luego, abajo les pego el código del programa.

VIAJES.PRO

lunes, 26 de febrero de 2007

L14-PHP

Hola a todos de nuevo, aquí les pongo un pequeño script de PHP con el cual es posible obtener todas las ciudades con determinada lada, o viceversa. Bueno, a continuación les proporciono el código en php y el archivo que se usa para obtener las ladas:

Script PHP:
Lada.php

Archivo .txt:
Lada.txt

Bueno, eso sería todo por el momento. Hasta pronto.

jueves, 22 de febrero de 2007

L13-LADA

Aquí esta mi tarea de lada modificada. Modificada:

http://mipagina.chi.itesm.mx/.a00739269/lada.rb

Hasta pronto.

martes, 20 de febrero de 2007

l12-BOOKS

A continuación pondremos los mejores libros a cerca de programación orientada a objetos que se encuentran en la biblioteca del Tec de Monterrey campus Chihuahua. Primero pondré las targetas bibliográficas de los libros de Java:

Autor

Sahni, Sartaj

Titulo

Data structures, algorithms, and applications in Java / Sartaj Sahni

Pie impresión

Boston : McGraw-Hill, c2000

Descripción

xxvi, 833 p. : il. ; 24 cm. + 1 CD-ROM (4 3/4 plg.)

Notas

Incluye referencias bibliográficas e índice

Contenido

CD Rom que acompaña al libro contiene el título en la superficie: CodeWarrior Compiler for Java Release 4.

Materia

Java (Lenguaje de programación para computadora).

Estructura de datos (Computadoras)

Algoritmos computacionales.

Java (Computer program language)

Estructura de datos (Computadoras)

Algoritmos computacionales

Software de aplicación -- Development

ISBN

007109217X (papel alcalino)


Autor

Wirfs-Brock, Rebecca

Titulo

Designing object-oriented software / Rebecca Wirfs-Brock, Brian Wilkerson, Lauren Wiener

Pie impresión

Englewood Cliffs, N.J. : Prentice Hall, c1990

Descripción

xix, 341 p. : ill. ; 24 cm

Notas

Incluye índice

Contenido

Object-oriented programming (Computer science) Computer software -- Development Software Design Software para computadora. Programación orientada a objetos (Computación). Programación orientada a objetos (Computación).

Autores alternos

Wilkerson, Brian Wiener, Lauren

ISBN

0136298257


Autor

Arnold, Ken, 1958-

Titulo

The Java programming language / Ken Arnold, James Gosling, David Holmes.

Pie impresión

Boston, Mass. : Addison-Wesley, c2000.

Edición

3rd ed.

Bibliografía

Incluye referencias bibliográficas (p. 563-567) e índice.

Serie

The Java series

Descripción

xxiv, 672 p. : il. ; 24 cm.

Materias

Java (Lenguaje de programación para computadora). Programación orientada a objetos (Computación). Java (Computer program language) Object-oriented programming

Autores alternos

Gosling, James. Holmes, David.

ISBN

0201704331



Ahora pongo una liga a un libro de c#:

Autor

Schildt, Herbert

Titulo

C# : manual de referencia / Herbert Schildt ; traducción Susana Nieto Moya.

Pie impresión

Madrid : McGraw-Hill, c2003

Descripción

xxv, 796 : il. ; 25 cm.

Notas

Traducción de: C# : The complete reference Incluye índice

Autores alternos

Nieto Moya, Susana, tr.

Materia

C (Lenguaje de programación para computadora).

ISBN

8448137124


Para encontrar la otra parte de la lista dirigirse al blog de Rafael Martínez.

jueves, 15 de febrero de 2007

L11-RVG

Hola, a continuación se explicará el proceso para poder aplicar algunas funciones interesantes de ruby, en primer lugar la instalación de la gema, y posteriormente aplicar su uso.

1.- Primero bajamos el programa RMagick 1.14.1 bynay gem for Ruby 1.8.5.
2.- Descomprimimos el archivo, y entramos a la carpeta donde se haya descomprimido.
3.- Copiamos el archivo rmagick-1.14.1-win32.gem a la carpeta donde está instalado ruby, generalmente está en c:\>Ruby.
4.- Entramos a la pantalla de comandos, o damos Inicio-Ejecutar y en esta ventana ponemos "cmd".
5.- Nos dirigimos a la carpeta de Ruby. c:\>cd Ruby.
6.- Ahora ponemos el siguiente comando: c:\Ruby>gem install RMagick --local.
7.- Ya tenemos lista nuestra nueva libreria. Ahora puedes probar algún código de la siguiente página: http://rmagick.rubyforge.org/portfolio3.html.
8.- Primero abrimos nuestro editor de ruby.
9.- Copiamos algún código de esa página y lo pegamos en el editor.
10.-Guardamos nuestro programa y lo corremos. Y listo!!!!

Bueno, espero les haya servido. Hasta pronto.

miércoles, 14 de febrero de 2007

L10-TOP10

Hola, aquí les pongo un enlace de los primeros 5 lenguajes más usados, además el autor da una opinión de cuales serán en los próximos años los lenguajes más usados:

http://www.tufuncion.com/tendencias-lenguajes-programacion

Esto corresponde mucho con las estadísticas dadas por la siguiente liga, que tiene los 50 lenguajes de programación más usado:

http://www.tiobe.com/tpci.htm

En internet, la liga anterior es la más popular, casi todas las páginas se basan en esta, ya que es una de las mejores.

lunes, 5 de febrero de 2007

L05-TRADUCTOR

A continuación les pongo el traductor de SLOGO a SVG, realizaod en Ruby. El código fué basado en el del profesor Pacheco que construye círculos, elípses y pone color. Lo que le agregué fué escribir texto, dibujar líneas, flechas, rectángulos y cuadrados. Bueno, espero que les sirva. Hasta pronto.

Para que vean el código es la siguiente dirección:

http://mipagina.chi.itesm.mx/.a00739269/slogo.rb

sábado, 27 de enero de 2007

L04-RUBY

Hola de nuevo, aquí les voy a publicar algunas características del uso de la sintaxis en ruby:

1) Creción de un nuevo objeto:
Supongamos que tenemos la siguiente clase:
ruby> class Fruta
ruby| def initialize
ruby| @kind = "manzana"
ruby| @condition = "madura"
ruby| end
ruby| end

ruby> miFruta = Fruta.new
Y listo, tenemos nuestra fruta creada.

2)Manejo de condicionales:
En ruby son sencillos, un ejemplo de condicional es el siguiente:

def fact(n)
if n == 0
1
else
n * fact(n-1)
end
end
También tenemos los clásicos "case":
ruby> i=8
8
ruby> case i
ruby| when 1, 2..5 (cuando se pone 2..5, es el rango entre 2 y 5)
ruby| print "1..5\n"
ruby| when 6..10
ruby| print "6..10\n"
ruby| end
6..10

3)Uso de las estructuras de control repetitivas:
a)While
Aquí esta un pequeño ejemplo de un while:
ruby> i = 0
ruby> print "#{i+=1}\n" while i < 3
1
2
3
b)For, a diferencia de otros lenguajes, los for's se manejan con colecciones, aquí tenemos dos ejemplos:
ruby> for num in (4..6) (El 4..6 es un rango, pero es una coleccion)
ruby| print num, "\n"
ruby| end
4
5
6
4..6

Y este es manejando un array:

ruby> for elm in [100,-9.6,"pickle"]
ruby| print "#{elm}\t(#{elm.type})\n"
ruby| end
100 (Fixnum)
-9.6 (Float)
pickle (String)
[100, -9.6, "pickle"]

4)Arrays. En ruby los arrays pueden almacenar objetos de diferentes tipos, y se declaran de la siguiente manera:

ruby> ary = [1, 2, "3"]
[1, 2, "3"]

Podemos concatenarlos también:

ruby> ary + ["foo", "bar"]
[1, 2, "3", "foo", "bar"]
ruby> ary * 2
[1, 2, "3", 1, 2, "3"]

También podemos usar índices numéricos para accesar a sus elementos:

ruby> ary[0]
1
ruby> ary[0,2]
[1, 2]
ruby> ary[-2]
2
ruby> ary[-2,2]
[2, "3"]
ruby> ary[-2..-1]
[2, "3"]

5) Manejo de cadenas. Las cadenas pueden estar entre comillas dobles (" ") o simples (' '):

ruby> "abc"
"abc"
ruby> 'abc'
"abc"

Las comillas simples y dobles a veces tienen efectos diferentes. Una cadena de comillas dobles
permite la presencia embebida de caracteres de escape precedidos por un backslash y la expresión
de evaluación #{ }. Una cadena de comillas simples no realiza esta evaluación, lo que se ve es
lo que se obtiene. Ejemplos:

ruby> print "a\nb\nc","\n"
a
b
c
nil
ruby> print 'a\nb\nc',"\n"
a\nb\nc
nil
ruby> "\n"
"\n"
ruby> '\n'
"\\n"
ruby> "\001"
"\001"
ruby> '\001'
"\\001"
ruby> "abcd #{5*3} efg"
"abcd 15 efg"
ruby> var = " abc "
" abc "
ruby> "1234#{var}5678"
"1234 abc 5678"

El manejo de las cadenas en Ruby es más inteligente e intuitivo que en C. Por ejemplo,
se pueden concatenar cadenas con + y se puede repetir una cadena varias veces con *:

ruby> "foo" + "bar"
"foobar"
ruby> "foo" * 2
"foofoo"

6) Como se llama a un método en Ruby.
En ruby para llamar a un método, simplemente pones el objeto un punto (.) y el nombre del método, por ejemplo:

ruby> "abcdef".length
6

Nota: La evaluación #{}, nos trae el valor de la variable.

Todo lo anterior lo pueden encontrar en la siguiente página, y muchas otras cosas más:
http://es.tldp.org/Manuales-LuCAS/doc-guia-usuario-ruby/doc-guia-usuario-ruby-html/
Hola de nuevo, aquí les voy a publicar algunas características del uso de la sintaxis en ruby:

1) Creción de un nuevo objeto:
Supongamos que tenemos la siguiente clase:
ruby> class Fruta
ruby| def initialize
ruby| @kind = "manzana"
ruby| @condition = "madura"
ruby| end
ruby| end

ruby> miFruta = Fruta.new
Y listo, tenemos nuestra fruta creada.

2)Manejo de condicionales:
En ruby son sencillos, un ejemplo de condicional es el siguiente:

def fact(n)
if n == 0
1
else
n * fact(n-1)
end
end
También tenemos los clásicos "case":
ruby> i=8
8
ruby> case i
ruby| when 1, 2..5 (cuando se pone 2..5, es el rango entre 2 y 5)
ruby| print "1..5\n"
ruby| when 6..10
ruby| print "6..10\n"
ruby| end
6..10

3)Uso de las estructuras de control repetitivas:
a)While
Aquí esta un pequeño ejemplo de un while:
ruby> i = 0
ruby> print "#{i+=1}\n" while i <> for num in (4..6) (El 4..6 es un rango, pero es una coleccion)
ruby| print num, "\n"
ruby| end
4
5
6
4..6

Y este es manejando un array:

ruby> for elm in [100,-9.6,"pickle"]
ruby| print "#{elm}\t(#{elm.type})\n"
ruby| end
100 (Fixnum)
-9.6 (Float)
pickle (String)
[100, -9.6, "pickle"]

4)Arrays. En ruby los arrays pueden almacenar objetos de diferentes tipos, y se declaran de la siguiente manera:

ruby> ary = [1, 2, "3"]
[1, 2, "3"]

Podemos concatenarlos también:

ruby> ary + ["foo", "bar"]
[1, 2, "3", "foo", "bar"]
ruby> ary * 2
[1, 2, "3", 1, 2, "3"]

También podemos usar índices numéricos para accesar a sus elementos:

ruby> ary[0]
1
ruby> ary[0,2]
[1, 2]
ruby> ary[-2]
2
ruby> ary[-2,2]
[2, "3"]
ruby> ary[-2..-1]
[2, "3"]

5) Manejo de cadenas. Las cadenas pueden estar entre comillas dobles (" ") o simples (' '):

ruby> "abc"
"abc"
ruby> 'abc'
"abc"

Las comillas simples y dobles a veces tienen efectos diferentes. Una cadena de comillas dobles
permite la presencia embebida de caracteres de escape precedidos por un backslash y la expresión
de evaluación #{ }. Una cadena de comillas simples no realiza esta evaluación, lo que se ve es
lo que se obtiene. Ejemplos:

ruby> print "a\nb\nc","\n"
a
b
c
nil
ruby> print 'a\nb\nc',"\n"
a\nb\nc
nil
ruby> "\n"
"\n"
ruby> '\n'
"\\n"
ruby> "\001"
"\001"
ruby> '\001'
"\\001"
ruby> "abcd #{5*3} efg"
"abcd 15 efg"
ruby> var = " abc "
" abc "
ruby> "1234#{var}5678"
"1234 abc 5678"

El manejo de las cadenas en Ruby es más inteligente e intuitivo que en C. Por ejemplo,
se pueden concatenar cadenas con + y se puede repetir una cadena varias veces con *:

ruby> "foo" + "bar"
"foobar"
ruby> "foo" * 2
"foofoo"

6) Como se llama a un método en Ruby.
En ruby para llamar a un método, simplemente pones el objeto un punto (.) y el nombre del método, por ejemplo:

ruby> "abcdef".length
6

Nota: La evaluación #{}, nos trae el valor de la variable.

Todo lo anterior lo pueden encontrar en la siguiente página, y muchas otras cosas más:
http://es.tldp.org/Manuales-LuCAS/doc-guia-usuario-ruby/doc-guia-usuario-ruby-html/

martes, 23 de enero de 2007

L03-SMALLTALK

Buen día. A continuación se expondrá un poco de la sintaxis de Smalltalk, es decir, como se crea un objeto, condicionales, ciclos, uso de arreglo, uso de cadenas y como invocar métodos.

1. Creación de un nuevo objeto en Smalltalk:

miObjeto := Objeto new.

2. Uso de condicionales en Smalltalk:

a:=5.

b:=4.

a=b

ifTrue:[‘El bloque verdadero’]

ifFalse:[‘El bloque falso’]

3. Smalltalk tiene tres tipos de ciclos, a continuación se explican los tres:

a) timesRepeat

acumulador: = 0;.
contador : = 0.
3 timesRepeat:[
contador := contador +1.
acumulador:=acumulador + contador.
]

El pseudo código anterior guarda la suma de 1 + 2 + 3 en la variable acumulador.

b) whileTrue y whileFalse

veces:=0.
[veces <=10] whileTrue:[ veces:=veces+1. ] Este ciclo se hace 11 veces, en realidad no hace nada. Pero ejemplifica el whileTrue. El whileFalse fuciona parecido a esta, solo que entra al whileFalse si la condición es falsa.

c)to:by:do (for en otro lenguajes)

a := 1.

1 to: 5 by:1/2 do:
[ :b | a:=a+1.]

Este ciclo va desde 1 hasta 5 de 1/2 en 1/2. Se completarian 9 iteraciones.

4. Uso de arrays:

#('hola' 4 'cinco' 12). --Este es un array de 4 elementos.

a: = #(1 2 3 4) at: 3. -- En "a" se guarda el valor en el índice 3. El 4.



5. Uso de cadenas:

'esto es una cadena'. -- Declaración de una cadena.

tamanio := 'esto es una cadena' size.


6. Invocación a un método:

#(1 2 3 4) at: 3 --El método at necesita un parámetro, y se le manda el tres, que es el índice del elemento de ese arreglo.



Para que chequen un buen tutorial, dejo la siguiente pagina:

http://aebcweb.iespana.es/poo/pub2/smalltalk.pdf

Hasta pronto.


miércoles, 17 de enero de 2007

L02-SMALLTALK

HOLA DE NUEVO!!!
Bueno, el motivo de este post, es la investigación que he realizado acerca de smalltalk. Encontré la página original de smalltalk (en inglés), la cual tiene a la izquierda un menú en donde vienen tres submenús: Smalltalk.org, Smalltalk, Smalltalk community. El que nos interesa para esta investigación es "Smalltalk". Ahí podremos ver "what is smalltalk?", lo cual es una pequeña explicación del lenguaje; tambien viene "history", que habla como su nombre lo dice, de la historia de smalltalk y como se creó; también contiene una sección llamada "learning" que nos dice como podemos aprender smalltalk y nos dá una serie de links para ver algunos tutoriales y artículos sobre el mismo; en "people" están los dos personajes más importantes que han participado en smalltalk: Alan Kay y Dan Ingalls. Finalmente viene una sección llamada "Do it", la cual nos invita a utilizar a smalltalk.
Bueno esta página tiene muchas coas interesantes así que explórala y diviertete!!!!.

http://www.smalltalk.org/main

Ah!, se me olvidaba, en el menú de más abajo llamado "Smalltalk versions", viene todo sobre las versiones de smalltalk, opensource, commercial, entre otros. Disfrútenlo.

Otra fuente es la siguiente

http://swiki.agro.uba.ar/small_land/65

Este link, tiene información mas digerible, está en español y viene de donde proviene SMALLTALK, su árbol genealógico por así decirlo. Además trae más links que pueden revisar para concer más de este gran lenguaje.

Tampoco podía faltar la fuente de wikipedia, la cual es la siguiente:

http://en.wikipedia.org/wiki/Smalltalk

Este link está super completo, trae la historia, trae ejemplos, las estructuras de control del lenguaje, sintaxis (literales, asignaciones, declaración de variables, clases, etc), un pequeño ejemplo de "hello world" y otras cosas más. Está muy interesante, revísenlo,

Finalmente, pongo el siguiente link:

http://www.whysmalltalk.com/

Este link esta muy bueno, en general soportan porque smalltalk es muy bueno, hay comparaciones con otros lenguajes, tutoriales entre otras cosas, para poder navegar en esta página es através del menú de la izquierda. La página está en inglés.

lunes, 15 de enero de 2007

TUTORIALES DE PYTHON

Hola, aquí les dejo unos tutoriales interactivos de python y prolog. Estan bastante interesantes.

http://vpython.erikthompson.com/ ---> Este tutorial contiene videos sobre como aprender a usar python 3D.

http://www.awaretek.com/tutorials.html#begin
---> Este no es un tutorial tan interactivo. Es una página con muchísimos tutoriales sobre python, no es interactivo, pero si comienzan a trabajar con este lenguaje, les servirá de mucho tener más información sobre el mismo. (Aquí encontré el tutorial anterior).

http://ktiml.mff.cuni.cz/~bartak/prolog/
Este es un tutorial interactivo de prolog muy bueno, en la parte de "test zone" te permite probar tus códigos de prolog en la web, solo tienes que tener un explorador con la maquina virtual de java.

Por último, espero les sirvan estos tutoriales, nos vemos pronto.

jueves, 11 de enero de 2007

Bienven

Hola. Bienvenidos.