It really depends on what you're programming. Most of the projects I've worked on are similar to what you describe, intranet and web applications, which I find quite easy to put long days into. You need the occasional short break to re-focus, but if you're at work for 8 hours a day, at least a good 5 or 6 of them should be spent actually getting your job done.
On the other hand, there are certain projects that can feel like they have been created for the sheer purpose of poking millions of tiny holes into your brain. Reverse engineering, memory tracing and some forms of debugging (to name a few) can just rip away at your sanity if you try and work at them for 8 straight hours. That being said, I tend to find that these sorts of projects also put your brain in a certain state where continuing is pretty much all you're good for until a good night's sleep. After reverse engineering file formats or network protocols for a day, the only thing my mind can actually focus on when I get home is continuing with the same project. So I suppose I end up putting in longer days some times, just with bigger (if less common) breaks...
It really depends on what you're programming. Most of the projects I've worked on are similar to what you describe, intranet and web applications, which I find quite easy to put long days into. You need the occasional short break to re-focus, but if you're at work for 8 hours a day, at least a good 5 or 6 of them should be spent actually getting your job done. On the other hand, there are certain projects that can feel like they have been created for the sheer purpose of poking millions of tiny holes into your brain. Reverse engineering, memory tracing and some forms of debugging (to name a few) can just rip away at your sanity if you try and work at them for 8 straight hours. That being said, I tend to find that these sorts of projects also put your brain in a certain state where continuing is pretty much all you're good for until a good night's sleep. After reverse engineering file formats or network protocols for a day, the only thing my mind can actually focus on when I get home is continuing with the same project. So I suppose I end up putting in longer days some times, just with bigger (if less common) breaks...