Noticias Weblogs Código

Versión Cero

Aprende Expresiones Regulares

Muy bueno este videotutorial para aprender expresiones regulares: Learning Regular Expressions

Las expresiones regulares son una herramienta muy potente y una de esas habilidades que todos los desarrolladores deberíamos dominar: Puedes resolver con una expresión regular lo que te costaría muchas líneas de código y además es algo que puedes aplicar a cualquier lenguaje.

Aunque es difícil convertirse en un mago de las expresiones regulares, todos deberíamos tener un conocimiento funcional de las mismas y este vídeo nos puede ayudar. Si desconoces casi completamente el tema creo que serán los 15 minutos mejor invertidos de hoy.

De regalo extra nos proporcionan una hoja de referencia.

Por cierto, para practicar las expresiones regulares se puede utilizar el programa Regex Coach, gratuito.

Hoja de referencia de Ruby

Para los “ruby-adictos”, aquí tenemos un par de hojas de referencia de Ruby con las construcciones principales del lenguaje.

Incluye los métodos de las clases básicas así como palabras reservadas, expresiones, etc.

Disponibles en png (casi ilegibles por la pequeña letra) o en PDF, perfectas para imprimir.

Más sobre Optimización

He encontrado la frase perfecta y definitiva que resume el tema de la optimización en el desarrollo de software:

Las reglas de la optimización son sencillas. Regla 1: No optimices. Regla 2 (solo para expertos): No optimices todavía.
Michael A. Jackson

Código para humanos

Cualquier tonto puede escribir código que un ordenador pueda comprender. Los buenos programadores escriben código que los humanos pueden comprender.
Martin Fowler

El abecedario del programador

Me ha parecido curioso este artículo: El ABC de los lenguajes de programación , en el que se han dedicado a buscar lenguajes cuyo nombre sea una letra.

Todos conocemos el lenguaje C, algunos sabrán que hubo un precursor D. Lo curioso es que casi todas las letras tienen su lenguaje.

Entre las que faltan está nuestra Ñ. Sin duda sería el lenguaje verdaderamente hispano, la mayoría de programadores del mundo no podría ni escribir sobre él por no tenerlo en su teclado ;-) ¿Alguien se anima a crearlo?

Optimización Prematura

Todos conocemos la famosa frase de Donald Knuth:

La optimización prematura es la raíz de todos los males.

Como sabemos esto hace referencia a que sólo debemos optimizar nuestros programas cuando nos encontramos con un problema de rendimiento, ya que la optimización prematura de los mismos, antes de conocer su verdadero profile de ejecución, nos suele llevar a malos diseños y complejidades innecesarias.

Pues bien, en este artículo se atribuye a Brian Goetz la idea de que la optimización prematura no se refiere a la optimización demasiado pronto en el ciclo de desarrollo, sino a la optimización demasiado pronto en la carrera del desarrollador.

Es una idea interesante. Todos hemos visto a desarrolladores experimentados cuyo código sale directamente “optimizado” de sus manos y tiene una “intuición natural” sobre qué debe ser optimizado. Por contra, un programador sin experiencia puede armar un buen desastre tratando de optimizar un código que finalmente sólo se ejecutará el 0,1% del tiempo del procesador.

Los 10 lenguajes más demandados

Los 10 lenguajes más interesantes para un programador, según un artículo en eWeek.com son (con el número de ofertas de trabajo en Dice.com entre paréntesis)

  • Java (14.408)
  • C (6.164)
  • C# (5.111)
  • Perl (4.810)
  • JavaScript (4.406)
  • VB.Net (2.090)
  • PHP (1.152)
  • AJAX (1.106)
  • Python (811)
  • Ruby y ROR (264)

Los lenguajes fueron seleccionados por un grupo de expertos como los más interesantes, ya sea por su implantación actual o previsible desarrollo futuro.

Curso: "Rapid Software Testing"

Desde Expo:QA nos hacen llegar la siguiente información:

Curso: Rapid Software Testing

En un curso de tres días, escrito por James Bach y presentado por Michael Bolton, los asistentes obtendrán las claves del Rapid Software Testing.

Michael Bolton es la única persona autorizada para impartir las enseñanzas de James Bach. Posee 15 años de experiencia en la industria informática, testeando, desarrollando, gestionando y escribiendo sobre software. James Bach es uno de los fundadores de Context-Driven School of Software Testing.

La filosofía de Rapid Testing presentada en esta clase no se parece a los métodos tradicionales de test, que ignoran la parte racional del mismo y en cambio abogan por un papeleo interminable. Actualmente, los productos son demasiado complejos para eso, y los testeadores resultan demasiado caros. Rapid Testing utiliza un método cíclico, así como métodos heurísticos para optimizar constantemente el test y adecuarlo a los requisitos de sus clientes. Rapid Testing no es sólo un test de urgencia, es un test centrado en una misión, que elimina el trabajo innecesario, garantiza que se lleve a cabo todo lo necesario, y constantemente pregunta qué puede hacer el test para acelerar el proyecto en su integridad.

DATOS DEL CURSO
Fecha: 28, 29 y 30 de junio de 2006
Lugar: inQA.labs
Par Tecnològic BCNord
C/ Marie Curie S/N
08042 Barcelona – Spain
Tel: +34 932 917 632
Fax: +34 932 917 785

Seminario de certificación Scrum Master

Los próximos 8 y 9 de Marzo Jeff Sutherland impartirá en Madrid el primer seminario de certificación oficial Scrum Master que se organiza en España. Scrum es uno de los enfoques para la gestión ágil de los proyectos de software que ha demostrado mayor eficacia en la última década.

Se puede encontrar más información en la página del proyecto Qualitatis, organizador del seminario.

RDT - Ruby Development Tools

RDT, Ruby Development Tools, es un IDE Ruby de código abierto para la plataforma Eclipse.

Entre sus características se encuentran:

  • Resaltado de sintáxis.
  • Checkeo de sintáxis al vuelo.
  • Esquéma (outline) gráfico.
  • Soporte de unit-testing con Test::Unit
  • Lanzador de aplicaciones Ruby.
  • Debugger.

Al estar basado en Eclipse tiene también disponibles los módulos básicos de eclipse (control de versiones CVS, proyectos, etc).

Más información:
Página de RDT

Acerca - Contacto - Información legal y técnica - Condiciones de uso - Noticias sobre el mundo del Desarrollo de Software.