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

I hate to blaspheme Dijkstra, but I've never quite agreed with that quote. I suspect it's used out of context. Many subfields of computer science deal directly with making physical computers better: faster, more responsive, etc. I'm thinking of things like virtual memory systems, page replacement algorithms, multiprocessing, interrupts, driver abstraction, networking—basically everything you learn in the OS Theory course in a CS program.

Sure, all these things can be modeled "on paper" as a mathematical abstraction, and a human with a list of rules, a pencil, and a roll of paper can compute anything an Intel cpu can, but it's hard to ignore the fact that digital computers do the vast majority of the computation which CS is concerned with studying.

You don't have to know much about astronomy to make or improve a telescope. You have to know a lot about computer science to make or improve a computer.



Computer science helps in improving the stuff running on a computer, but it does help elsewhere, too. Examples:

1. When sorting cards by hand, I find myself switching algorithms depending on the size of the data set.

2. Caching/page replacement strategies do apply to the case of a scholar writing a book. His desk will not hold all his reference works, so some will have to move to the table next to it, others will be closed and moved to a bookshelf, possibly in a different room.

3. Without the theory behind multiprocessing, of course, philosophers couldn't dine together :-)


True. I'm not suggesting that CS is only about computers, but computers certainly play a bigger part in CS than telescopes do in astronomy.




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

Search: