Re:Why I hate programming competitions
by plinkplonk on Wednesday August 19, 2009 @02:13AM
(#772201)
"One of the most valuable things I learned from team programming competitions was programming discipline, by writing code on paper. Yes, I literally wrote code on paper."
" By intentionally limiting your coding speed, you end up flexing your design muscle and learning to get things right the first time. "
Interesting how this matches Dijkstra's method of writing programs. I believe he additionally proves correctness before typing it in.
One of the most valuable things I learned from team programming competitions was programming discipline, by writing code on paper. Yes, I literally wrote code on paper. In the ACM competition, there is one computer and three team members. So you divide up the problems and write code on paper while someone else is in front of the computer.
Writing code on paper leads you to great discipline. You write everything, so you are biased against long ugly solutions that seem simpler in your head. It turns out that these solutions are usually harder to debug. By intentionally limiting your coding speed, you end up flexing your design muscle and learning to get things right the first time. This allows you to hold more abstractions in your head, which is an important programming skill.
Naturally, there are many bad habits you could form from programming competitions. But this is one particular good habit that I am grateful for, to this day.