It has been a long time since I became a coder, or a programmer if you don’t like naming it as coder. When in THU I was working on my own time, playing with some small tools/scripts, happily doing some cracks while playing games and hanging out with friends/girls. It was so called “coding for fun” time. After graduation I have to act as a society cell, began working for companies. Since then productivity overcomes fun, takes higher priority when make decisions. It’s a comparable question like business opportunity versus doing cool things for startup guys. You may have double shot, but most of the times you have to choose one of them.
To coders the most frequently used tool is their IDE. Well, somebody may say editor! or V.. or Em…. whatever. For me, IDE is the most important thing because it provides design time check.
Let’s overview part of the develop process again: you get design doc from pm or funny/crazy/important ideas pop up in your mind, then you have a general idea on how to implement then code. Sometimes you work with new technology/toolchain/environment, then design time check makes sense. Even if you are expert on the very familiar domain, it helps.
Today several advanced IDE can do something like intelligent check of possible bugs based on context and trying to defer the designer’s purpose. And yes, I mean Visual Studio or Xcode, these kind of resource consuming monsters. They can help you find basic errors like syntax error, spell error, and common errors like off-by-1, uninitialized usage of variables, infinite loop. Then you try compile, compiler gives you compile time check. The code/design again, compile again. These steps iterates until you’ve completed the work then deliver it to test role, tester/qa or yourself if you are building some kinds of tools for fun.
Following this process, if you have many times of switching between code/design and compile, you will mostly lost track if compile takes time…As it has been reported on media or you have realized, you may be distracted on sns/im/twitter/fb. Then after a short time you find that it’s time to go home or have lunch. But even if you are concentrated on your task and working very hard, IDE can help you work in a better way, save your precious time by reducing possibile bugs from the very beginning design time. And you have more confidential if there’s no warning shown when writing plain code or playing elements in UI designers.