sábado, 9 de enero de 2010

Unladen Swallow: acelera Python 3 sobre LLVM hasta limites insospechados

Unladen Swallow es un proyecto de Google para acelerar el compilado de Python sobre LLVM (un compilador en el que se basará su 'virtual machine').

El LLVM (Low Level Virtual Machine) es un compilador y optimizador de código abierto muy avanzado capaz de compilar programas en varios lenguajes a un código máquina existente o a uno virtual.

Destacan dos propiedades:
  • La máquina virtual, que permitiría correr los programas compilados en cualquier procesador mínimamente moderno y que ya ha sido probado en x86, Sparc, y PowerPC.
  • La avanzada tecnología de optimización. A diferencia de los compiladores comunes, un programa generado por LLVM se optimiza él mismo cada vez que es ejecutado.
Resumidamente, los logros más destacados en el compilado de Python 3 en estas nuevas herramientas, han sido:
  • Unladen Swallow 2009Q3 utiliza hasta un 930% menos de memoria que la versión anterior 2009Q2.
  • El desempeño de ejecución ha mejorado en un 15-70%, dependiendo del 'punto de referencia'.

Desde luego los nuevos rendimientos promete bastante futuro para Python.

Visto en: http://jessenoller.com/2010/01/06/unladen-swallow-python-3s-best-feature/
Wiki del proyecto: http://code.google.com/p/unladen-swallow/wiki/ProjectPlan
Web del LLVM: http://llvm.org/

viernes, 28 de noviembre de 2008

Crear Interfaces Gráficas de Usuario en Python

En somoslibres.org se han tomado la molestia de presentar los métodos y los toolkits más populares usados para la creación de interfaces gráficas de usuario (GUIs) con Python: TkInter, wxPython, PyGTK y PyQt.

Las interfaces gráficas de usuario o GUIs en su acrónimo son las "ventanas" que muestran algunos programas y que sirven para mostrar información o hacer peticiones al programa.

Que os sean útiles y prácticas. Más info en: http://somoslibres.org/modules.php?name=News&file=article&sid=2226

miércoles, 19 de noviembre de 2008

JetBrains lanza IntelliJ IDEA 8

La última versión del innovador IDE Java de siempre centrado en la productividad, presenta ahora soporte para SQL, diagramas de tipo UML, Seam de JBoss, FreeMarker & Velocity, ademásd de mejorar la experiencia de codificación de Java

Más info: http://www.jetbrains.com/

lunes, 27 de octubre de 2008

Editor de codigo gratuito para Python (entre otros): Notepad++ 5.1

Notepad++ 5.1 es una aplicación software que no consume muchos recursos y entre todas sus ventajas destaca principalmente la de reconocer la sintaxis de aproximadamente 40 lenguajes de programación como por ejemplo: C, C++, HTML, XML, ASP, JAVA, SQL, Perl, Python, CSS.


Además presenta un sistema "syntax highlight" el cuál proporciona cambios del color de la sintaxis para adecuarse a las peculariedades de cada lenguaje.

Funcionalidades más destacables:

  • Editor WYSIWYG (What you see is what you get)
  • Permite la apertura múltiple de ficheros
  • Soporta tabs
  • Soporta plugins
  • Soporta Zoom in/Zoom out
  • Bookmarks
  • Soporte para expresiones regulares
  • Soporte drag n’drop de ficheros (arrastrar y soltar)
  • Grabación de macros y reproducción de los mismos
  • Licencia: GPL
  • Sistemas Operativos: Windows 9x/2k/XP/Vista

Descárgalo desde aquí: Notepad++ 5.1 Final (1.71MB). Más información en: http://notepad-plus.sourceforge.net/

domingo, 26 de octubre de 2008

Google App Engine soportará Java además de Python

La plataforma Google App Engine, donde los usuarios pueden hacer funcionar sus propias aplicaciones web utilizando la infraestructura de Google, presentada hace ya un tiempo.

Hasta el momento y desde sus comienzos la plataforma mantuvo como único lenguaje de programación disponible a nuestro querido Python. Sin embargo, en el Google Developers Day, celebrado el 18 de octubre pasado en Bangalore, India, Google anunció que el App Engine pronto tendrá soporte para Java.

Los motivos van desde, las peticiones de los usuarios y desarrolladores y sobre todo por la plataforma Android, la cual corre en una "máquina virtual de java", en sus siglas en ingles; JVM, propia de Google conocida como Dalvik.

De esta manera, se busca fomentar el desarrollo de aplicaciones para la plataforma multisistema Android brindándole a los programadores un entorno donde probar sus aplicaciones de manera práctica y eficaz.

jueves, 23 de octubre de 2008

Búsqueda eficiente de texto en Google App Engine

Sorprendente es que Google no soporte búsquedas de texto de manera eficiente en Google App Engine. Las funcionalidades que existen tienen importantes limitaciones y están muy poco o nada documentadas.

Sin embargo gimenete nos muestra en el ejemplo de continuación cómo utilizar las funcionalidades existentes. Como nos dice el, en el paquete google.appengine.ext.search se encuentra la clase SearchableModel, esta es la clase base que tendremos que utilizar para poder realizar búsquedas de texto en las clases persistentes, en vez de extender de db.Model extenderemos de db.SearchableModel.

Para continuar leyendo este artículo pulsa aquí.

jueves, 9 de octubre de 2008

Lanzado el Python 2.6

Esta nueva versión incluye, entre muchas cosas, nuevas características y mejoradas, correcciones y también nuevos módulos. Además es retrocompatible con sus anteriores versiones 2.x y al mismo tiempo trae herramientas para ayudar los programadores a migrar al Python 3.0.

Python 3.0 será lanzado este mismo año y será incompatible con Python 2. A pesar de eso Python 2 y Python 3 serán soportados simultáneamente en un "futuro previsible".