Flow (flujo)
Los psicólogos han identificado un estado de la mente llamado flow (flujo) en el cual somos capaces de increible concentración y productividad. La importancia del flow para la programación ha sido reconocida desde hace dos décadas, tal como se describe en el libro acerca de los factores humanos en la programación “Peopleware: Productive Projects and Teams by Tom DeMarco and Timothy Lister (Dorset House, 1987). Los dos factores más importantes acerca del flow son que toma alrededor de 15 minutos para lograr ese estado y que hasta la más mínima interrupción puede terminar el estado, requiriendo otros 15 minutos para volver nuevamente al flow. DeMarco y Lister, así como otros autores posteriores, se ocuparon principalmente de destructores del flow como llamadas teléfonicas y visitas inoportunas del jefe (para preguntar tonterías como ¿cómo va eso? (NT)). Menos frecuentemente considerado pero probablemente tan importante para los programadores son las interrupciones causadas por nuestras herramientas de trabajo. Lenguajes que requiere una compilación que tarda mucho puede ser perturbador del flow de la misma manera que un teléfono o un jefe ruidoso. Así, una manera de ver a Lisp (un lenguaje de programación que no requiere compilación) como un lenguaje diseñado para mantenerlo a Ud. en estado de flow.
(Psychologists have identified a state of mind called flow in which we’re capable of incredible concentration and productivity. The importance of flow to programming has been recognized for nearly two decades since it was discussed in the classic book about human factors in programming Peopleware: Productive Projects and Teams by Tom DeMarco and Timothy Lister (Dorset House, 1987). The two key facts about flow are that it takes around 15 minutes to get into a state of flow and that even brief interruptions can break you right out of it, requiring another 15-minute immersion to reenter. DeMarco and
Lister, like most subsequent authors, concerned themselves mostly with flow-destroying interruptions such as ringing telephones and inopportune visits from the boss. Less frequently considered but probably just as important to programmers are the interruptions caused by our tools. Languages that require, for instance, a lengthy compilation before you can try your latest code can be just as inimical to flow as a noisy phone or a nosy boss. So, one way to look at Lisp is as a language designed to keep you in a state of flow. (Tomado una nota al pie en el capítulo I de Practical Common Lisp))
En realidad y pensando detenidamente en esto, creo que yo tengo una larga lista de interruptores del flow adicional a la mencionada.