12 ms·
I definitely think this is worth trying. I love computer science, but I think it is a fact that much (most?) of computer science is not very useful for most pro
by vilhelm_s 16y ago
I definitely think this is worth trying. I love computer science, but I think it is a fact that much (most?) of computer science is not very useful for most programmers.
Of course, much of computer science is not very useful for computer scientists either! Today if I want to study programming languages, I might need to take a qualifying exam in machine learning -- this particular combination of subjects surely is just a historical accident. I think CS as a whole might be better off by splintering a bit. Alan Kay observed [http://markmail.org/message/vsnhl7l6igpess65 http://markmail.org/message/vsnhl7l6igpess65] that UCLA has 1 computer science department but 25 biology departments! CMU has one "school of computer science", which includes the department of computer science, institute for software research (SE), machine learning department, etc -- that seems really nice!
If degrees in Software Engineering do become more popular, I think many students who want to become programmers would still choose a Computer Science degree instead, because the two fields tend to stress different aspects of ideal software development: mathematical elegance versus well-managed teamwork. And there are still more ideas: see Richard Gabriel's proposal Master of Fine Arts in Software [http://www.dreamsongs.com/Files/MFASoftware.pdf http://www.dreamsongs.com/Files/MFASoftware.pdf], which seeks to produce "master hackers" much like "master painters"...
- gatlin 16y ago> I definitely think this is worth trying. I love computer science, but I think it is a fact that much (most?) of computer science is not very useful for most programmers. Take this with a grain of salt because I do not have a successful business or a rockstar CV, but I would argue that studying CS is of critical importance to writing good software. One does not need music theory to be a great musician but I think you will find that many great musicians with "no training" have some isomorphic model in their head with different terminology that they developed independently. Same applies to any engineering discipline. Your application constitutes data flowing through various functions, processes, etc, and the algorithm you write to get those data from point A to point B and apply intermediate transformations can be represented, studied, and optimized mathematically. You may not be consciously doing it, but you are doing just that. Studying theory explicitly allows for unambiguous discussion and refinement of generalized concepts among different people, and an absolute framework on which to analyze and improve one's own understanding. Or did I miss the point? I do find this debate engaging. And, yes, if you are studying to become a programmer or developer you may not need to dive into the proofs of why, but there should still be study of the what.