Referencias


Libros   Sitios Web   Ideas y proyectos   Temas a estudiar  

Libros recomendados

Python

Learning Python
Mark Lutz - O'Reilly press. Probablemente el mejor libro acerca de la programación en Python si uno ya sabe algún otro lenguaje. Tiene el típico estilo de O'Reilly, así que si no te gusta quizás prefieras:

Internet Programming with Python
Guido Van Rossum et al - Escrito por el creador del lenguaje y con una fuerte tendencia hacia la programación en Internet que incluye HTML, CGI y sockets. Sin embargo, tiene también un tutorial general sobre el lenguaje.

Programming Python
Mark Lutz - O'Reilly press. Un texto clásico. Describe los porqués del lenguaje mejor que nadie. Buenas secciones acerca de módulos y POO. Tiene también una buena introducción a la programación de interfaces gráficas.

Tcl

Tcl and the Tk toolkit
John Ousterhout - Addison Wesley. Un libro clásico sobre Tcl escrito por el creador del lenguaje. Es básicamente un libro de referencia y ahora está un tanto desactualizado. Necesita una segunda edición. La sección sobre Tk interesa a cualquier usuario de Tk independientemente del lenguaje utilizado (Tk es una biblioteca gráfica implementada en Tcl, Perl y Python).

Hay bastantes libros sobre Tcl/Tk pero no los conozco personalmente, a excepción del antes citado de Ousterhout.

BASIC

Hay muchísimos libros sobre BASIC y todos sus abundantes "dialectos". Si realmente te interesa la programación en BASIC te recomiendo -sobre todo en el entorno PC- que utilices Visual Basic y estudies alguno de los numerosos manuales para dicha versión.

Programación general

Hay algunos textos clásicos que todo programador serio debería tener y revisar regularmente. Estos son mis favoritos:

Code Complete
Steve McConnell - Microsoft Press. Este es el libro de referencia más completo acerca de todos los temas relacionados con la escritura de código que yo conozca. Lo he leído después de muchos años de experiencia y aún sigo aprendiendo nuevos trucos. Literalmente cambió la forma en que escribo programas. Cómpralo ahora mismo!

Programming Pearls
Jon Bentley - Addison Wesley. Son dos volúmenes, ambos invaluables. Bentley muestra cómo mejorar con todo tipo de estrategias la eficiencia de los programas desde el código, el diseño y la implementación.

Estos libros son parte de colección de libros acerca de programación que editaron los laboratorios Bell en los años '80. Hay tantos libros importantes en esa colección, que yo diría que cualquiera de ellos escrito por Ken Thompson, Jon Bentley, Dennis Ritchie, Andrew Keonig y el resto de la gente de Bell Labs vale la pena ser leído. Los estilos varían, pero el contenido es oro puro.

Algorithms by Donald Knuth
Esta es una colección de libros que describen los algoritmos fundamentales utilizados en la programación de computadoras. El libro es muy complejo y con una fuerte impronta matemática, pero si te interesa la eficiencia y la absoluta corrección de los programas, vale la pena que les des una ojeada. La colección ha sido reimpresa y actualizada recientemente.

Programación Orientada a Objetos

Ya he mencionado a los siguientes:

Object Oriented Analysis
Peter Coad & Ed Yourdon. - Una gran introducción a los conceptos de la orientación a objetos, con una notación muy simple para guardar los esquemas. La notación utilizada es muy similar al estandar UML (Unified Modelling Language: Lenguaje Unificado de Modelación) adoptado actualmente por muchas publicaciones y sistemas.

Object Oriented Analysis and Design with Applications
Grady Booch - Benjamin Cummings. Este es otro libro excelente pero dedicado sobre todo al diseño de clases y objetos. La primera edición (si la encontrás) ejemplificaba las lecciones en cinco diferentes lenguajes de programación. La segunda edición sólo utiliza C++. Usa la notación creada por Booch, la cual en mi opinión es la mejor, aunque está siendo eclipsada por el UML y volviéndose obsoleta. Se dice que Booch está preparando una nueva edición utilizando el estándar UML, pero aún no se sabe nada...

Object Oriented Software Construction (2nd Ed)
Bertrand Meyer. Meyer tiene su propio lenguaje orientado a objetos denominado Eiffel y lo utiliza para explicar la orientación a objetos de manera muy efectiva. Dado que Eiffel es (injustamente) un lenguaje minoritario, la lectura del libro necesita de un esfuerzo extra. Indudablemente vale la pena por el completísimo tratamiento de la tecnología de objetos.
Otros libros valiosos son:
Object Oriented Design Patterns
Gamma, Johnson et al. Cuando apareció este libro fue revolucionario. Contiene un buen número de diseños comunes de orientación a objetos, y una notación para poder documentarlos sencillamente. Hay ahora una floreciente discusión acerca de estos diseños, así como también un sitio web dedicado a este tema, donde se pueden encontrar diseños adicionales y variantes de los presentados en el libro.

From Clouds to Code
Jesse Liberty(Wrox Press). Este libro es un paseo por el proceso de creación de una aplicación real utilizando la programación orientada a objetos. Es similar a nuestro "Caso de Estudio" pero es mucho más amplio e incluye el uso de herramientas de diseño como UML.

Sitios Web para visitar

Languajes

Python

  • El sitio web de Python
  • Mark Hammond's Python Starship que conecta MS Windows y Python.
  • Un tutorial acerca de la interfaz gráfica Tkinter
  • Un entorno de programación de servidores web utilizando Python.

    Tcl

    El sitio definitivo de Tcl en el momento de escribir esto - tiene el hábito de mudarse!

    BASIC

    El sitio web de Microsoft con información acerca de Visual Basic. Hay muchos otros sitios web que ofrecen recursos sobre VB como componentes, trucos, etc.

    Otros lenguajes de interés

    java, javascript, perl, smalltalk, Borland

    Programación en General

    Buscá links sobre programación en general en Yahoo u otros buscadores. Hay varios buenos, yo no tengo uno favorito en particular.

    Programación orientada a objetos

  • La página de Cetus

    Algunos específicos:

  • Rational Corp produce herramientas y presenta información muy útil acerca de desarrollos en Orientación a Objetos y la notación UML.

    Proyectos a desarrollar

    En el tutorial hay varias ideas de proyectos, sin embargo aquí te doy otras para que sigas practicando. La mayor parte podrán ser desarrolladas con las habilidades que habrás aprendido en este tutorial, sin embargo, todas ellas pueden ser aun mejoradas utilizando la documentación que acompaña a Python en busca de alternativas. Algunas de ellas requerirán que comiences a escarbar por vos mismo en diferentes recursos; recuerda que uno de los requisitos básicos de un buen programador es la curiosidad...


    Temas a estudiar en el futuro

  • Programación de interfaces gráficas con Tk
  • Programación Web - CGI
  • Kits de herramientas
  • Entornos de Programación
  • Bases de Datos

    Esto ha sido todo. Muchas gracias por haber llegado hasta aquí. Espero que hayas disfrutado de este Tutorial y que hayas aprendido algo...


    Si tenés sugerencias o dudas podés enviar un email en inglés a:
    alan.gauld@yahoo.co.uk o en español a: manilio@xoommail.com