Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Programming is a fundamental tool of computer science.

Sure, you can learn how paging in a virtual memory system works by reading wikipedia, but a computer scientist should really be able to write one of their own if they had to.



Why? Would you consider Knuth less of a computer scientist if he were unable to implement some modern operating system component?


Knuth was the author of TeX and Metafont, and I'd be hesitant to suppose him to be unable to implement anything.

Not just being snarky here. I think even theorists have an implementor somewhere underneath.


Knuth, the guy who wrote The Art of Computer Programming?

I'm not sure I can make sense of that question.

No one can know everything, but if your specialty is, for example, virtual memory paging algorithms you should be able to write programs that implement and comprehend those algorithms, even if it's not production-quality code. If you are on the more practical side you should be able to read and hack on the existing code, even if it's not the central focus of your job.

I'm sure it's possible to find people who can be considered computer scientists but don't code very well or at all. But those people are rare exceptions, and aren't evidence that programming isn't an important tool in computer science.


You mean Knuth, the guy whose algorithms ignore the effects of caches?

http://queue.acm.org/detail.cfm?id=1814327

There is a place for academia and mathematic approaches, and there is a place for real world experience and technical abilities. Ultimately someone who is good at being programmer does need a leavening of academic background, and someone who is a successful academic needs to know something about real computers instead of the academic over-simplified illusory world that contain friction-less pulleys and massless ropes.


The binary heap is not Knuth's algorithm. He just analyzed it in great detail at a time where caches weren't as important as they are now. If Knuth were starting out today, I'm sure he would be interested in cache-aware algorithm analysis.

I really don't think Knuth of all people can be held up as an impractical egghead. Compared to many other academics, he has always maintained a view towards real computers.




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

Search: