viernes, 20 de mayo de 2011

Salió PET #2 beta, la revista Python Entre Todos

PET #2

Apareció en estos días el segundo número de la revista que edita la comunidad Python ArgentinaPET (Python Entre Todos). La revista en sí se descarga como un PDF para leer como a uno más le guste.

El número está en Beta por ahora, y creo que lo que más le falta es revisar bien la ortografía, pero igual el contenido es excelente, y siempre mantiene ese ambiente descontracturado pero bien técnico que es la marca de agua de esta comunidad.

La revista se publica bajo licencia Creative Commons (específicamente CC-by-nc-sa-2.5), por lo que se puede distribuir y derivar en forma libre, manteniendo la atribución a la fuente original, sin usarla comercialmente, y manteniendo la licencia en las derivaciones.

El contenido incluye:

  • ¿Qué es PyConAr?
  • Cómo se hizo PyConAr2010
  • Charlas relámpago en PyConAr 2010
  • Fotos de las Keynotes
  • El Asado de PyConAr2010
  • Entendiendo Decoradores en Python
  • Introducción a Django
  • PyAfipWs: facilitando, extendiendo y liberando los Servicios Web de AFIP (Factura Electrónica y otros)
  • InfoPython - Midiendo el Valor de la Información de Mass Media con Python.
  • Como generar archivos .exe e instaladores para una aplicación python
  • Depuración y defragmentación de memoria
  • NINJA-IDE, Un IDE Pensado para Python
  • Usando librerías adicionales y virtualenv
  • Desafío PET
  • xkcd

Advierto que son muchas páginas de contenido variado, y recuerden que está en beta, con lo que es bueno estar atento a la aparición de la versión final.

¡Felicitaciones al equipo editorial por otro número terminado!

 

miércoles, 18 de mayo de 2011

dotPeek - El descompilador .NET gratuito que faltaba

dotPeek

Recientemente escribía sobre una situación que se generó en la comunidad a raíz de un cambio de política en .NET Reflector de Red Gate, un producto famoso en la comunidad .NET que pasó de ser gratuito a pago.

En ese artículo recorría varias alternativas gratuitas (de código abierto o no) y sobre el final comentaba que JetBrains, la empresa que produce IntelliJ IDEA (mi IDE favorita para Java) y ReSharper (mi plugin favorito para Visual Studio), estaba lanzando dotPeek, un descompilador gratuito, del que aún no había nada para probar.

En los últimos días, el producto ya está en Beta y disponible para probar, y como se anunció, cuando se libere la versión final seguirá siendo gratuita. El último release que lanzaron de hecho, ya funciona en Windows XP e incluso sin Visual Studio instalado.

Según el sitio del producto, aquí están las características principales:

  • Descompila ensamblados de .NET 1.0 hasta 4.0 a C#
  • Permite ir rápidamente a un tipo, ensamblado, símbolo o miembros dentro de un tipo
  • Navega a las declaraciones de símbolos, implementaciones, símbolos base y derivados, etc.
  • Permite buscar con precisión el uso de símbolos determinados, presentando todos los resultados
  • Muestra cadenas de herencia
  • Soporta descargar código de los servidores originales
  • Colorea la sintaxis
  • Puede operarse sólo con el teclado
  • Y es gratis

Queda una pantalla de muestra, y para más detalles, pueden ir al sitio y descargar el producto.

Ejemplo de DotPeek

 

martes, 17 de mayo de 2011

Libros: aprendiendo Objective-C y Cocoa

Para los programadores que usan Mac y siempre tuvieron ganas de desarrollar algunas aplicaciones nativas, o aquellos que quieren desarrollar aplicaciones para el iOS de iPhones, iPods y iPads, es fundamental aprender Objective-C (el lenguaje) y Cocoa (el framework).

Incluso si uno opta por usar entornos que nos permiten desarrollar en otros lenguajes, como MonoMac, MonoTouch ó MacRuby, siempre es importante tener una buena base del entorno original de Apple, porque ninguna de estas abstracciones evita que necesitemos un entendimiento general del entorno subyacente, el manejo de recursos, eventos, etc.

Por suerte hay algunas opciones de libros gratuitos para empezar en el tema:

Become an X Coder

BecomeAnXcoder

Es un libro gratuito disponible dentro del sitio Cocolab que incluso puede leerse en español, aunque ésta y otras versiones traducidas están una o dos versiones atrasadas con respecto la versión del sistema operativo de Mac, mientras que la versión en inglés está al día.

Una característica de este libro es que está orientado a gente sin conocimiento previo de programación, por lo que puede resultar demasiado básico, aunque siempre se puede acelerar la lectura e ir a los detalles específicos que nos importan.

Cubre una introducción general a la programación, el uso de las herramientas Xcode de Apple, funciones, compilación, condicionales y bucles, interfaz de usuario, métodos, punteros, strings y arrays, accesores y propiedades, manejo de memoria, y deja muchas fuentes posteriores para seguir aprendiendo.

 

Objective-C Essentials

Objective-C 2.0 Essentials

Este libro sólo está disponible en inglés pero está orientado a programadores con cierta experiencia, y es muchísimo más detallado. La versión gratuita es la que se lee en línea, y puede comprarse en PDF y ePub a un precio económico.

Cubre la historia de Objective-C (que nació como un intento de fusionar la sintaxis de C con el modelo de objetos de Smalltalk, unos pocos años después de la aparición de C++, y antes de su popularización), la instalación de Xcode y el proceso de compilación en Mac OS X, como usar GNUStep y Objective-C en Windows y Linux, los tipos de datos del lenguaje, uso de variables y constantes, operadores y expresiones, comentarios, control de flujo y bucles, orientación a objetos incluyendo métodos, encapsulamiento, accesores, herencia, punteros e indirección, vinculación dinámica, funciones, enumeradores, y manipulación de strings, números, arrays, diccionarios, directorios, archivos, carpetas, y muchísimo más.

Notarán que es muchísimo material.

 

David Chisnall

Objective-C for Java Programmers

También en inglés, pero en este caso se trata de un artículo de David Chisnall en InformIT, en 7 partes (breves) orientado a introducir el lenguaje a desarrolladores Java (también es útil para quienes conocen .NET).

Recorre las diferencias filosóficas entre los lenguajes, objetos y primitivas, archivos y unidades de compilación, modelos de objetos, comportamiento estático, diferencias de sintáxis, etc.