Programar en tercera persona

Andres Valloud escribió en la lista de Smalltalk a la que estoy suscripto este correo, y la verdad que me gustó tanto que lo guardo para releerlo y de paso lo comparto con el que quiera

Si te ayuda… una de las cosas mas importantes para sacarle el maximo provecho a Smalltalk (y en general a otros lenguajes tambien) es separar claramente lo que es uno de lo que es el programa. Quiza parece una tonteria, pero la sutileza de dejar de escribir codigo como si uno diera ordenes, y en realidad concentrarse en como estas entidades (en Smalltalk, los objetos) van a interactuar entre si es liberador.

No es necesario gastar ni un atomo de pensamiento en controlar cuando uno diseña para que las propiedades emergentes de la red de interconecciones de conducta tengan como unico resultado posible que suceda lo que uno esta buscando… es decir, que el programa tambien quiera, dentro de lo posible, que suceda lo deseado.

Al tratar de controlar por la fuerza, los programas en general terminan haciendo agua por todos lados… no es posible tener el control absoluto de todo salvo en casos chicos. O peor: los programas terminan siendo una especie de exteriorizacion de la necesidad de controlar del que los escribe.

Pensar programas en tercera persona concentra el esfuerzo en lo que realmente vale la pena.

Dos enlaces importantes por si nunca programaste en Smalltalk:

La metacharla

Gracias a los geniales @inkel y @cuerbot vi esta más que original “charla” sobre cómo dar una charla. 🙂  El video es imperdible y puede verse hasta en el trabajo (en un trabajo decente deberían verlo todos), ya que el sonido es lo menos importante para el expositor. El autor es Zach Leatherman y el título completo es “A Hypocrite’s Guide to Public Speaking”, no es larga y es muy recomendable.

Entre los consejos que da, está el de elegir el tema correcto y para eso dice:

Si no sabés de qué hablar, es que no estás escribiendo lo suficiente (Twitter no cuenta)
Si no sabés qué escribir, no estás leyendo lo suficiente
Si no sabés qué leer, preguntale a alguien!

En lo personal me toca porque este año por una cuestión u otra, dejé de lado los “proyectos interesantes” y a fin de rentabilizar mi tiempo combatiendo el efecto Coto de una manera no muy eficiente, me encontré sentado frente a la computadora sin nada nuevo para escribir (y ni hablar de llevar un blog técnico que todavía ni gatea). La amenaza de preparar una charla y una serie de enlaces fortuitos (casi todos los de esta entrada fueron apareciendo “solitos, sin buscarlos”), han hecho que, por lo pronto, me despabile y vuelva a tratar de escribir tratando que sea al mejor estilo de Angel y su tia Carlota.

Esto enseguida me hizo acordar de Angel Lopez y su test “Me pisó el 60“, al que esta vez trato de superar “Not being a canuto“. 🙂

El desastre en la redacción, es por la falta de práctica, pero siguiendo los consejos de Marina , hoy empiezo a escribir.

Semana #853

casaPerros

Arranco la tanda de weeknotes sin raconto profundo, la última tiene fecha de hace un año, que sino se hace más largo de lo que debe ser.

En este último tiempo le metí muchas horas a largar una versión 2015 de Kito, el programa de stock que venía haciendo lo que podía desde el 2000. Estaba escrito en Delphi 6 con Access como motor de base de datos y aparte de los problemas propios del lenguaje desactualizado, estaba mi negación a usar Delphi desde hace unos años, así este nuevo Kito está siendo escrito con Lazarus usando Firebird para la BD. El porqué Lazarus y no otro lenguaje es material para escribir en otro momento.

Gracias a algunos buenos proyectos que salieron bien en este tiempo, pude desacelerar un poco y enfocarme en un solo proyecto a la vez, lo cual resultó ser excelente para el desarrollo. En estos últimos dos meses, el proyecto ha sido KITO, el cual aspiro a dejar listo en esta primera versión completa del año antes de julio.

Por otro lado, y fuera de programa sigo trabajando en el GACWcontest que ya está empezando a quedar cerrado. Por una cuestión de tiempos y algunos líos míos (manejar varios proyectos en diferentes lenguajes no termina siendo productivo al final de la semana) pasé el proyecto a Lazarus (la captura de datos arrancó en Python, unos listados sobre los participantes del 2014 los escribí en C++ y en cualquier momento empezaba con los cálculos en Ruby a este paso) y ya solo falta ajustar la parte de cálculo de puntajes.

Como dato anecdótico, el martes pasado publicaron una ¿mini entrevista? en Oficina Cero. Un muy lindo proyecto de los chicos de 13Floor.

La imagen es de la “cucha” que hicimos con Daniela para los perros (mide 2×2 metros) en los ultimos dos fines de semana (siguiendo el concepto de “un proyecto de lleno y terminarlo”). Falta terminar de acomodar los detalles finales (marcos, cenefas y un poco más de pintura), pero la verdad que está quedando muy bien.