Django vs Rails

October 16, 2009

Bueno, en realidad esto no es una comparativa seria, no voy a comparar capacidades ni nada de eso, sin duda las dos son buenas herramientas … al final creo que la mejor herramienta es la que mejor conoces  … si eres feliz con Visual Basic 6 y lo conoces en profundidad, posiblemente seas mas productivo que usando el mejor y mas nuevo framework de productividad.

Rails me encanta, tiene el ActiveRecord que es genial, las vistas, que son super potentes y un lenguaje realmente interesante.

Django tiene una gestión de la persistencia muy, muy buena … los templates son algo mas pobres que los de rails, mas limitados. La gestión de las URLs mediante expresiones regulares es sencillamente genial, python es un lenguaje que me apasiona, pos muchas cosas, pero principalmente por su simplicidad y elegancia.

Actualmente trabajo Django, pero bien podría usar Rails.

Pero las dos razones de verdad, las buenas, las que me han hecho decantarme por Django son:

1.- Es super productivo y la documentación es muy buena.

2.- Se ejecuta sin problemas en mi Acer Aspire One.

Se que la segunda razón es un tanto estúpida … pero me gusta llevar un ordenador de 200€ y muy ligero a todos los lados.

Rails es tan lento, requiere tantos recursos, que lo hacen imposible de correr en un ordenador poco potente. Una lastima.

En realidad cuando ves tanto la documentación como la estructura en sí … da la sensación que han sido creados por dos tipos de personas muy diferentes;

Rails … hackers amantes del punk y el heavy metal.

Django … hackers amantes de la pintura de Monet y la música clásica.

Los dos son genios, pero con temperamentos muy diferentes … o eso es lo que mi imaginación ha inventado.

Caracteristicas imprescindibles en un desarrollo.

June 26, 2008

Se ha escrito mucho … y mas que se escribirá sobre la calidad en los desarrollos de software. Es verdad es que hay un montón de florituras posibles a la hora de hacer algo funcional hacerlo una pieza de puro arte. No obstante, frente a la belleza u horror intrinseco de según que pieza de software creo que a la hora de afrontar un proyecto de desarrollo debemos de dotar a nuestro software de unas minimas caracteristicas. Caracteristicas que paso a lista:

- Multilenguaje.

- Log y control fuerte de errores.

- Instalación simplificada y autoconfiguracion (Al máximo posible).

- Extensible mediante añadidos.

- Diseño modular reutilizable.

Multilenguaje. Si un desarrollo tiene exito, tarde o temprano desearemos que el mundo disfrute de nuestro arte. Algunas veces la única forma de hacer crecer un proyecto.

Log y control de errores. Tanto para desarrollo como en entornos de producción saber que está haciendo nuestra aplicación es fundamental. Nos puede ayudar a mejorar las cosas y ha saber que partes no necesitan atención.

Instalación simplificada. Si nuestro producto es dificil de instalar, perderemos mucho tiempo y dinero dado soporte, pero aun perderemos mas viendo como la gente no lo utiliza.

Extensible mediante plugins. Fundamental asegurarnos de que podremos ampliar la funcionalidad una vez el producto esté en uso.

Diseño modular. Si hemos hecho las cosas fundamentales bien, nuestro producto tendrá exito, la gente lo usará y demandarán mas cosas, cambios, mas funcionalidad mas usuarios y será muy facil escalarlo si hemos hecho un buen diseño modular.

Una vez que hemos incluido estos requesitos en nuestro proyecto, … ya podemos empezar a programar.

Herramientas de productividad para el desarrollador.

March 12, 2008

 Llevo algún tiempo usando una herramienta de productividad y estoy la mar de satisfecho. Se trata de las MZ-Tools. Es un Add-In para Visual Studio que permite añadir un montón de funcionalidad extra a Visual Studio.

La verdad es que tiene un montón de cosas muy interesantes, algunas de ellas muy avanzadas.

Personalmente lo que mas utilizo es:

  • Las plantillas de código (cómo se puede vivir sin esto, lo empezé a utilizar con IntelliJ y despues del multiorgasmo … el mejor invento de la humanidad).
  • La generación de los capturadores de excepción, revisa las excepciones posibles y crea el try/catch adecuado …
  • Un montón de asistentes para crear propiedades desde variables, cajas de mensaje, … el generador de cadenas de conexión es genial (Adios Google).
  • El búscador de código es muy muy bueno.
  • Con respecto al diseñador de formularios te ahorra un montón de tiempo.
  • La generación de los comentarios, permite generar un montón de documentación con solo hacer clic, sin escribir nada. Una de las cosas que mas me gusta es el generador de la documentación del proyecto. Hay otro producto que me gusta también, SandCastle, es muy bueno, pero es mucho mas complejo. Con las MZ-Tools, puedes generar toda la documentación técnica del proyecto automaticamente. Muy útil cuando tu jefe te la pide, para despues no hacer nada con ella. En un segundo la tienes generada y actualizada.
  • El tema de ls revisiones de código no lo he explotado bastante pero para hacer auditorias a nivel empresarial es super útil.

Read the rest of this entry »

El Tornillo, un cuento tecnológico.

March 12, 2008

Me ha enviado mi amigo Carlos Perez una presentación con un cuento con una moraleja muy interesante (No se de donde la ha sacado, pero si tienen mas me gustaría que las compartiera):

Primera paguina presentacion cuento.

El cuento es el siguiente:

Algunas veces es un error juzgar el valor de una actividad simplemente  por el tiempo que toma realizarla…

Un buen ejemplo es el caso del ingeniero que fue llamado a arreglar Una computadora muy grande y extremadamente compleja… una computadora que valía 12 millones de dólares.

Sentado frente a la pantalla, oprimió unas cuantas teclas, asintió con la  cabeza, murmuró algo para sí mismo y apagó el aparato.

Procedió a sacar un pequeño destornillador de su bolsillo y dio vuelta y  media a un minúsculo tornillo.

Entonces encendió de nuevo la computadora y comprobó que estaba trabajando perfectamente.
Read the rest of this entry »


Follow

Get every new post delivered to your Inbox.