yo pienso que la mejor hora para programar es la mañana, porq uno se levanta como mas fresco, en las tardes las dejo para las visitas a los clientes o pruebas de los sistemas, claro en caso de atraso hay que programar hasta de madrugada.
con respecto a lo de obligacion o gusto, yo programo por gusto, gracias a dios que tengo un trabajo que no me aburre mucho, pero hay veces que uno esta en el dia de que no se le ocurre ni una idea, pues a sentarse en el computador a ver pasar el rato para que crean que uno cumple horario