Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Mental Context Switches Are Evil (johndcook.com)
41 points by lesterbuck on June 9, 2011 | hide | past | favorite | 7 comments



I know snark is not au fait here at HN, but I am not a fan of John D Cook.

His basic method is to confirm some common wisdom, maybe with a handful of anecdotes. No reference to original sources.

For comparison, Jeff Atwood references his sources.


> His basic method is to confirm some common wisdom, maybe with a handful of anecdotes.

And I like it.


Of course you do. And that's why it gets upvoted.

But you are not enriched by comforting, unverifiable group-think.


I agree with the premise, but I disagree with the examples provided. I don't view switching from Javascript client code to Python or C# server code to be a context switch. What is a context switch is switching to a different type of task (e.g. looking up documentation, talking to a co-worker, etc.).

Another point is that the cost of the context switch isn't automatically higher than other costs when programming. Yeah, you might save on a context switch by running your shell inside emacs. However, that savings may be more than canceled out by the fact that you have to learn a new environment. In other words, if you're already very productive with the shell as it is, you might be better off taking the hit of the context switch, as it'll be less costly than your lowered productivity from running the shell inside emacs.


True, but is not the ability to efficiently switch contexts of value? Won't that erode if not exercised?

For many, there is little chance that such efforts to reduce context switching will eliminate the need to.

But some people will end up in the same context all the time and be worse off. Meaning more people will be upset when someone moves their cheese.


Context-switching is slow, yes, but in the first example the cause of evilness is not context-switching, it's that you must program web apps' client side in JS.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: