Herramientas Informaticas

Categoría: Cursos de programación

Lecturas recomendadas

Y ahora, hacia donde ir desde aquí? Hay muchas direcciones en las que seguir, ampliando sus conocimientos de Python especialmente y de informática en general.
Los ejemplos en este libro han sido deliberadamente simples, por lo que pueden no haber mostrado las capacidades mas excitantes de Python. A continuación exponemos una muestra de las extensiones de Python y sugerencias sobre sus usos.
La programación de GUIs (interfaces graficas de usuario, graphic user interface en ingles) permite que su programa utilice un entorno de ventanas para interactuar con el usuario y mostrar gráficos.
El primer paquete que ha tenido Python para esto es Tkinter, basado en los lenguajes interpretados Tcl y Tk de Jon Ousterhout. Tkinter esta incluido en la distribución de Python.
Otra plataforma popular es wxPython, que es esencialmente un enchapado sobre wxWindows, un paquete de C++ que implementa ventanas utilizando la interfaces nativas las plataformas Windows y Unix (incluido Linux). Las ventanas y los controles con wxPython tienen una apariencia mas nativa que Tkinter y son un poco mas sencillos de programar.
Cualquier tipo de programación de GUIs le llevara a programación basada en eventos, donde es el usuario y no el programador quien determina el flujo de la ejecución. Este estilo de programación requiere de algo de tiempo para acostumbrarse, y a veces le forzara a replantearse toda la estructura del programa.
La programación web integra Python en la Internet. Por ejemplo, puede construir programas de cliente web que abran y lean una pagina remota (casi) tan fácilmente como si fuera un ¯chero en disco. También hay módulos de Python que le permiten acceder a ¯cheros remotamente v³a ftp, y módulos que le permiten enviar y recibir correos electrónicos. Python también es ampliamente utilizado en el lado del servidor de la programación web para manejar los datos de entrada de los formularios. Las bases de datos son un poco como superficheros en donde los datos están almacenados en esquemas predefinidos, y las relaciones entre los datos le permiten acceder a ellos de varias maneras. Python tiene varios módulos para permitir a los usuarios conectarse a varios motores de bases de datos, tanto Open Source como comerciales.
La programación multi-procesos (multi-hilos) le permite ejecutar varios procesos (hilos) de ejecución dentro de un único programa. Si ha tenido la experiencia de usar un navegador web para desplazarse por una pagina web mientras el navegador continua cargando el resto de la misma, entonces tiene una idea de lo que los hilos pueden hacer.
Cuando la velocidad es mas importante se pueden escribir extensiones para Python en un lenguaje compilado como C o C++. Tales extensiones forman la base de la mayor³a de módulos en la librer³a de Python.
El mecanismo de enlazar funciones y datos es un poco complejo. SWIG(Simpli¯ed Wrapper and Interface Generator) es una herramienta para hacer este proceso mucho mas sencillo.

D.1. Libros y sitios web sobre Python

Aquí tiene las recomendaciones de los autores sobre recursos para Python en la
web:
  • La pagina de inicio de Python en www.python.org es el lugar para empezar su búsqueda de material sobre Python. Encontrara ayuda, documentación, enlaces a otros libros y listas de correo de SIGs (Special Interest Group)
    a las que se puede unir.
  • El proyecto Open Book Project www.ibiblio.com/obp contiene no solo este libro en línea sino también otros libros similares para Java y C++ de Allen Downey. Además esta Lessons in Electric Circuits de Tony R. Kuphaldt, Getting down with …, un conjunto de tutoriales de varios temas sobre informática, escritos y editados por estudiantes de instituto, Python for Fun, un conjunto de estudios de casos en Python de Chris Meyers, y The  Linux Cookbook de Michael Stultz, con 300 paginas de trucos y tecnicas.
  • Finalmente si acude a Google y busca con la cadena pitón -snake – monty” obtendrá cerca de 750.000 resultados. Y aquí algunos libros que contienen mas material sobre el lenguaje Python:
    • Core Python Programming de Wesley Chun es un libro largo, mas de 750 paginas. La primera parte del libro cubre las características básicas del lenguaje Python. La segunda parte proporciona una introducción paso a paso a temas mas avanzados incluyendo muchos de los mencionados anteriormente.
    • Python Essential Reference de David M. Beazley es un libro peque~no, pero contiene información sobre el lenguaje en si mismo y los módulos de la librería estándar. También esta muy bien indexado.
    • Python Pocket Reference de Mark Lutz realmente cabe en el bolsillo. Aunque no es tan extensivo como Python Essential Reference es una referencia útil para los módulos y funciones mas comúnmente usadas.
    • Mark Lutz también es autor de Programming Python, uno de los primeros (y mas largos) libros de Python y no esta dirigido al programador principiante.
    • Su siguiente libro Learning Python es mas pequeño y mas accesible.
    • Python Programming on Win32 de Mark Hammond y Andy Robinson es un libro que debe tener” cualquiera que que utilice seriamente Python para desarrollar aplicaciones para Windows. Entre otras cosas cubre la integración de Python y COM, construye una pequeña aplicación con wxPython, e incluso utiliza Python para escribir scripts para aplicaciones tales como Word y Excel.

D.2. Libros recomendados sobre informática en general

Las siguientes sugerencias sobre lecturas adicionales incluyen muchos de los libros favoritos de los autores. Estos tratan sobre buenas practicas de programación e informática en general.

  • The Practice of Programming de Kernighan y Pike cubre no solo el diseño y dedicación de algoritmos y estructuras de datos, sino también depuración, testeo y mejora de rendimiento de los programas. Los ejemplos están
    principalmente en C++ y Java, sin nada de Python.

  • The Elements of Java Style editado por Al Vermeulen es otro libro peque~no que discute algunos de los puntos mas sutiles de la buena programación, tales como el buen uso de las convenciones de nombres, comentarios e indotación (un poco irrelevante en Python). El libro también cubre la programación por contrato, usando aserciones para encontrar los errores
    probando precondiciones y pos condiciones, y programación correcta con hilos y su sincronización.

  • Programming Pearls de Jon Bentley es un libro clásico. Consiste en estudios de caso que aparecieron originalmente en la columna del autor en Comunicativos of the ACM. Los estudios tratan sobre toma y daca en programación y por que suele ser mala idea desarrollar con la primera idea de un programa. El libro es un poco mas antiguo que los anteriores (1986), por lo que los ejemplos están en lenguajes mas antiguos. Hay muchos problemas para resolver, algunos con soluciones y otros con pistas. Este libro fue muy popular y le siguió un segundo volumen.

  • The New Turing Omnibus de A.K Dewdney proporciona una introducción amigable a 66 temas de informática desde computación en paralelo hasta virus informáticos, desde Tac (tomograf³as computarizadas) hasta algoritmos genéticos. Todos los temas son cortos y entretenidos. Un libro anterior de Dewdney Aventuras Informáticas es una colección de su columna Juegos de ordenador en Investigación y Ciencia. Ambos libros son ricas fuentes de ideas para proyectos. Tortugas, Termitas y Atascos de Trafico de Mitchel Resnick trata sobre el poder de la descentralización y de como pueden obtenerse comportamientos complejos a partir de las actividades simples de una multitud de agentes coordinados. Introduce el lenguaje Starlogo, que permite al usuario escribir programas para agentes. La ejecución del programa demuestra comportamientos complejos agregados, que suelen ser intuitivos. La mayoría de los programas en el libro fueron desarrollados por estudiantes de colegio e instituto. Programas similares pueden escribirse en Python usando gráficos e hilos.

  • GÄodel, Escher, Bach de Douglas Hofstadter. Simplemente, si encuentra magia en la recursión también la encontrara en este libro superventas. Uno de los temas de Hofstadter concierne a los lazos extra~nos” donde los patrones se desenvuelven y ascienden hasta que se encuentran a s³ mismos de nuevo. Es una disputa de Hofstadter que tales lazos extraños son una parte esencial de lo que separa lo animado de lo no animado. El demuestra tales patrones en la música de Bach, las ilustraciones de Eschery el teorema de incompletita de GÄodel.

Página 6 de 6

Creado con WordPress & Tema de Anders Norén