Obviamente, la mayoría de la gente responderá que no, que cuando se empieza una cosa, hay que acabarla. Sin embargo, tengo mis dudas.
Yo soy de esas personas que les gusta, en temas de programación, jugar y aprender cosas nuevas. En casa miro perl, python, grails, últimamente ando mirando groovy y multitud de herramientas que hay por ahí. Soy un poco caótico y cuando aprendo un lenguaje, en vez de leerme unos manuales antes de empezar, decido que la forma más entretenida es hacer directamente un programa que haga algo, a ser posible un programa no muy complejo, pero tampoco trivial. Por ejemplo, para perl hice un script que cambia tipos de ficheros .h a clases Java. Con python hice una pequeña web para pedir a los desarrolladores las horas dedicadas a cada proyecto y almacenarlo en una base de datos, etc.
¿Cual es el problema?. Muchas veces el programa que me propongo hacer es más complejo de lo que pensaba en principio y llego a un punto en que no me apetece seguir con ese programa. Ya he aprendido lo que quería del lenguaje (o se me ha pasado la "novedad" del asunto) y lo que me queda del programa que me propuse es ya rutinario y pesado de hacer.
Llegado a ese punto, puedo "emperrarme" en acabarlo, pero el resultado final es que me da pereza la tarea y me paso varios días o semanas que no sigo con él y tampoco empiezo un tema nuevo porque quiero terminar el que tengo a medias. Me está pasando actualmente con un programa que me propuse hacer para el móvil, usando J2ME: un cuatro en raya. Ya he aprendido lo básico para meter un programa en el móvil y codificar con el Midlet y hacer gráficos, pero me he quedado atascado en el algoritmo para que el ordenador sea capaz de jugar al cuatro en raya. Por supuesto, sí tengo una idea de cómo hacer el algoritmo que sé que no es la mejor, pero sí lo suficientemente válida como para ganar a un humano no muy avispado, pero el problema es que tengo que implementarlo. He empezado a hacerlo, pero me da pereza depurarlo y acabarlo. Y ahí estoy, que no avanzo en mi juego ni empiezo otros temas. Y llevo ya tres o cuatro semanas en ese plan.
Me pasa lo mismo con las novelas. Si una novela empieza a no gustarme y me obligo a acabarla, el resultado es que paso varias semanas sin leer. No empiezo una novela nueva porque tengo otra a medias, pero no acabo la que tengo a medias porque no me gusta.
Por eso pienso que, si te no querer dejar algo a medias te bloquea, es mejor dejarlo a medias y desbloquearse. Tanto en novelas como en ordenador, hay muchísimas opciones y si por la que has tirado no te convence o deja de gustarte, puedes saltar alegremente a otra. Muchos dirán que así no llegaré a conocer en profundidad ningún lenguaje, y tienen razón. Pero también hay que pensar que por mucho que me esfuerce en casa como hobby, tampoco voy a llegar a conocer nunca un lenguaje con la misma profundidad que si trabajo con él, ocho horas al día, varios años y compartiendo experiencias y problemas con mis compañeros de trabajo. Así que, puesto que voy a aprender superficialmente en cualquier caso y que en casa lo hago como hobby para entretenerme, ¿no es mejor hacer "lo que te pide el cuerpo" que "obligarse" a seguir con algo que ya no te llama la atención?.
Yo pienso que sí, aunque a veces da rabia no terminar lo que has empezado.