Nice Article on Computer Science

Computer Science is shallow

Zed A. Shaw—author of several books on Ruby and Python—came up with an interesting criticism of Computer Science. He makes some good points:

Computer Science is a pointless discipline with no culture. (…) They rarely teach deep philosophy and instead would rather either teach you what some business down the street wants, or teach you their favorite pet language like LISP. (…) Another way to explain the shallowness of Computer Science is that it’s the only discipline that eschews paradox. Even mathematics has reams of unanswered questions and potential paradox in its core philosophy. (…) There’s an envelope of knowledge so vast in most other disciplines that just when you think you’ve learned it all you find something else you never knew. This is what makes them interesting.

Oh! I think there are many deep and exciting questions in Computer Science. (And not just whether P is equal to NP.) And do Sociology, Economics and History have more depth? But I agree that Computer Science is too often utilitarian. Some like to pretend that by catering to the perceived needs of industry, graduates will get better jobs. Unfortunately, too often, the students have to unlearn their so-called “practical knowledge” once they leave the campus. The honest truth:you don’t need three or four years of college to do great in the software industry.

Maybe more time should be spent on the deep questions. Here are a few discussion points that come to mind :

  • What is “meaning” and how can computation capture or codify it? What does it say about our brain? Is our brain a Turing machine?
  • Why are some programmers ten times more productive than others?
  • Can computers extend our intelligence? How intelligent can we become?

ShareThis

4 Comments »

  1. I’m sorry, what?

    “Another way to explain the shallowness of Computer Science is that it’s the only discipline that eschews paradox. Even mathematics has reams of unanswered questions and potential paradox in its core philosophy.”

    I don’t even know what it means to eschew paradox, or that we don’t have have unanswered questions? How can you ethically say that when it’ still an open question whether or not cryptography is actually secure.

    How is computer science not a deep field: Data Mining, Machine Learning, Cryptography, Networks, High Performance, Complexity Theory, Artificial Intelligence, etc.

    Maybe he’s talking about software engineering, but he’s certainly not talking about the Computer Science that I know.

    Comment by Jacob Schlather — 1/6/2010 @ 0:04

  2. There is of course the questions of what constitutes as computer science. The pure software part is an engineering science (or a form of art, depending on your point of view). I suspect that Zed’s criticism is more to do with software than the whole field and its branches that deeply go into math.

    Nevertheless, I remember I once wrote somewhere that machine learning in particular is at the Stone Age compared to other sciences. But one could argue that this is because automated computation is fairly young.

    Comment by Mahdi Milani Fard — 1/6/2010 @ 2:03

  3. you don’t need three or four years of college to do great in the software industry.

    I disagree. You probably don’t need a Master’s degree, but a Bachelor’s degree makes most students better programmers and better thinkers.

    Comment by Itman — 1/6/2010 @ 8:22

  4. In an ironic twist of rhetoric, the author derides potential CS students who want to study nothing but coding, but depicts the CS curriculum as if it were… nothing but coding.

    And while he cries for CS lacking “deep philosophy”, he dismisses less mainstream languages, such as LISP (used to teach recursion, functional programming, etc.) as mere “pet languages”.

    CS might “eschew paradoxes”, but the author surely “eschews contradictions”.

    Comment by Sylvain Hallé — 1/6/2010 @ 8:36

Leave a comment

Warning: When entering a long comment, please ensure that you make copy of your text prior to submitting it. If the server should fail or if you hit a bug, you might lose your work. I am not responsible for your lost effort.

To spammers: I carefully review every single post and make sure that spam gets deleted. You are wasting your time if you are manually entering spam using this form. Read my terms of use to see what I consider to be abusive.

Example: two plus seven is '9'.

« Blog's main page

24 queries. 0.314 seconds. Valid XHTML

Subscribe to this blog in a reader or by Email.

No comments:

Post a Comment