All spot on! For me, the biggest killer of "getting in the zone" is interruptions. Not distractions (yay! for having an office with a door).
At work, we use Slack, and Microsoft Outlook, and Jira, and Trello. My workday starts by going through the activity on those communication platforms, then I turn my back on them for the rest of the day. I do not do any Facebook or personal email at work.
When I'm on dev.to or StackOverflow as I sometimes am at work, I'm in the middle of a compile.
And although dev.to and StackOverflow is a nice way to spend a couple minutes while waiting for a compile, I really wish a compile took but a moment. That's my biggest interruption of the day. Our project is not optimized for build time; quite the contrary.
Joel Spolsky, someone who often has keen insight to problems, also chimed in on this topic.
I'm pretty sure this interruption is why I've never been able to get into compiled languages. I haven't consciously decided I won't work like that, but it has always made me drift away from it.
Huge advantage to scripting (non-compiled) languages is that it is possible to have a super-fast edit/run cycle, and quite often have a lot less unnecessary code ceremony. Depending on the scripting language, may even be able to edit the code live. The major disadvantage is poor static analysis.
Huge advantage to compiled languages is that they can do all sorts of static analysis for type correctness, and are (typically) a lot more performant. The major disadvantage is edit/compile/run cycle is painfully long.
(JOKE ALERT)
Then there are "hybrid" languages in between those two camps. Like Java. Which has all the disadvantages of a compiled language, tightly coupled with all the disadvantages of a scripting language.
(END OF JOKE ALERT)
Note to Java users: if you like Java, just substitute C# and enjoy the joke.
Yep. Logically I love the advantages of the compiler. My human brain hasn't taken to that pace though. I suspect eventually I'll find something in that arena that works for me.
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
All spot on! For me, the biggest killer of "getting in the zone" is interruptions. Not distractions (yay! for having an office with a door).
At work, we use Slack, and Microsoft Outlook, and Jira, and Trello. My workday starts by going through the activity on those communication platforms, then I turn my back on them for the rest of the day. I do not do any Facebook or personal email at work.
When I'm on dev.to or StackOverflow as I sometimes am at work, I'm in the middle of a compile.
And although dev.to and StackOverflow is a nice way to spend a couple minutes while waiting for a compile, I really wish a compile took but a moment. That's my biggest interruption of the day. Our project is not optimized for build time; quite the contrary.
Joel Spolsky, someone who often has keen insight to problems, also chimed in on this topic.
Where do These People Get Their (Unoriginal) Ideas? about getting into the zone, and the cost of interruptions.
Human Task Switches Considered Harmful on sequential tasks versus multitasking, for humans.
I'm pretty sure this interruption is why I've never been able to get into compiled languages. I haven't consciously decided I won't work like that, but it has always made me drift away from it.
Huge advantage to scripting (non-compiled) languages is that it is possible to have a super-fast edit/run cycle, and quite often have a lot less unnecessary code ceremony. Depending on the scripting language, may even be able to edit the code live. The major disadvantage is poor static analysis.
Huge advantage to compiled languages is that they can do all sorts of static analysis for type correctness, and are (typically) a lot more performant. The major disadvantage is edit/compile/run cycle is painfully long.
(JOKE ALERT)
Then there are "hybrid" languages in between those two camps. Like Java. Which has all the disadvantages of a compiled language, tightly coupled with all the disadvantages of a scripting language.
(END OF JOKE ALERT)
Note to Java users: if you like Java, just substitute C# and enjoy the joke.
Yep. Logically I love the advantages of the compiler. My human brain hasn't taken to that pace though. I suspect eventually I'll find something in that arena that works for me.