Live data from Hacker News

Let's Not Call It "Computer Science" If We Really Mean "Computer Programming"

codemanship.co.uk

71–80 of 205 posts

Re: Let's Not Call It "Computer Science" If We Really Mean "Computer Programming"

#71

While we're at it, why is it called Computer Science ? I think "Computational Mathematics" or something would make more sense.

Computational maths (research area of mine) is its own field, and is very different to computer science.

A introductary (undergrad) computational mathematics course at my university covers; numerical solutions to PDEs, Inverse problems, Regularisation problems, numerical optimisation etc.

Re: Let's Not Call It "Computer Science" If We Really Mean "Computer Programming"

#72
post #60
post #46

Earlier quoted context omitted.

I can't talk for the parent, but one significant way I expect people with formal training and people without it to differ is in how the knowledge of data structures and algorithms affects their work. If you stumble upon a problem that cries for a trie or a splay tree and you don't know they exist, you'll have a very difficult time solving the problem with adequate performance. If you are lucky and dedicated and talen…

> I can't talk for the parent, but one significant way I expect people with formal training and people without it to differ is in how the knowledge of data structures and algorithms affects their work. And how often in your experience you stumble upon these kind of problems? In my experience, the clever parts are about 5% to 20%. Of course, there can be projects where the clever parts outnumber the non-clever parts,…

The question posed was "how do they differ?" not "how important is that difference?". If you ask me the latter, I'd say that for many domains it's not that important (see the caveat below.) On the other hand, for Google and Facebook and similar companies it's certainly very important, which is why all their interviews are mainly about how well you can reason about algorithms and data structures.

Caveat: These problems might not happen often in less data intensive domains but, when they do happen, they are certainly very important in my experience.

Re: Let's Not Call It "Computer Science" If We Really Mean "Computer Programming"

#73

So, I agree with this article in spirit. Lots of programmers could've benefitted from a more programming centric approach rather than a CS approach. However, this bit gave me pause. " I cannot tell the difference by watching them develop software." I can't disagree with this more. While this may be true of students who were middle of the road students in CS programs. I can't definitely tell the difference between peo…

This could not be more true. A formal CS background gives people a very valuable toolset with which to program. It's something you can't fake, and if you know what to look for, it's instantly recognizable. But if you don't have a CS background, yeah, I could see why it would all look the same to you. A CS person can easily learn programming; it's second nature to them. But a programmer does not learn deeper theory as…

A CS person can easily learn programming

This is not true, if you've ever seen academic code...

Re: Let's Not Call It "Computer Science" If We Really Mean "Computer Programming"

#74
post #57

Earlier quoted context omitted.

I'm curious about what you think those differences are, and how you think it hurts or helps.

It is hard to answer this because a lot of the trite answers are indeed false. A computer science student may be more able to tell you whether an algorithm is O(n^3) or O(2^n), but the normal (and experienced) programmer will be able to tell you either is "slow" and fix it just as quickly. But there is a style of thinking that can come out of a study of computer science that can be very difficult to obtain on your ow…

I would love to read an expanded version of this, how may I interest you to write it? :)

Re: Let's Not Call It "Computer Science" If We Really Mean "Computer Programming"

#75
post #74
post #57

Earlier quoted context omitted.

It is hard to answer this because a lot of the trite answers are indeed false. A computer science student may be more able to tell you whether an algorithm is O(n^3) or O(2^n), but the normal (and experienced) programmer will be able to tell you either is "slow" and fix it just as quickly. But there is a style of thinking that can come out of a study of computer science that can be very difficult to obtain on your ow…

I would love to read an expanded version of this, how may I interest you to write it? :)

I've stabbed at it, but what came out had a circular dependency in it; the only way to understand the text that resulted was if you already understood the text. About half the stab attempt is at http://www.jerf.org/iri/blogbook/programming_wisdom , with another half just sitting on my hard drive (which is what has the stab at a discussion on exactly what I personally meant by conceptual purity), but until I figure out how to get past that circular dependency it's probably not going anywhere. And I suspect what I'm trying to do there is simply not possible.

Oh, and this expands my Haskell point: http://www.jerf.org/iri/post/2908

Re: Let's Not Call It "Computer Science" If We Really Mean "Computer Programming"

#76
post #26

It's worth noting that a sharp high schooler can learn to program - many do. It's a rare, rare high schooler that can learn how to use computer science. Most CS grads don't. And we wonder sometimes why our software is so cruddy.

You make it sound like one needs to be Michelangelo before they can even attempt to.

Re: Let's Not Call It "Computer Science" If We Really Mean "Computer Programming"

#77
post #71

While we're at it, why is it called Computer Science ? I think "Computational Mathematics" or something would make more sense.

Computational maths (research area of mine) is its own field, and is very different to computer science. A introductary (undergrad) computational mathematics course at my university covers; numerical solutions to PDEs, Inverse problems, Regularisation problems, numerical optimisation etc.

I should have looked for a name conflict first, I suppose, but my point is that "science" doesn't seem like the right word to describe most of CS.

I'm not saying it's incorrect, but it just doesn't seem to fit well.

Re: Let's Not Call It "Computer Science" If We Really Mean "Computer Programming"

#78
post #73

Earlier quoted context omitted.

This could not be more true. A formal CS background gives people a very valuable toolset with which to program. It's something you can't fake, and if you know what to look for, it's instantly recognizable. But if you don't have a CS background, yeah, I could see why it would all look the same to you. A CS person can easily learn programming; it's second nature to them. But a programmer does not learn deeper theory as…

A CS person can easily learn programming This is not true, if you've ever seen academic code...

Academics are notorious for their code, but I suspect the parent was talking about people in industry with a CS background.

Re: Let's Not Call It "Computer Science" If We Really Mean "Computer Programming"

#79
post #54
post #5

"It helps to know some music theory if you write and perform music, but a lot of very successful songwriters and performers get by very happily with just enough music theory." This is an absolutely bogus comparison. Music does not need to be maintained, music does not need to be troubleshooted or debugged (and thus, reasoned about), music does not solve a problem(1). Music is an artistic expression, while computer so…

> Music is an artistic expression, while computer software isn't. Unless it is? The sentiment that the pursuit has to be entirely about doing a job or providing utility is frighteningly inhuman. I need to go for a walk after reading that. Or maybe watch some demoscene.

The demoscene is artistic expression, but only the output, not the software itself (it can be, but it isn't a precondition).

Re: Let's Not Call It "Computer Science" If We Really Mean "Computer Programming"

#80

I agree that a lot of people only need to learn how to program, but I find computer science genuinely fascinating and mind-expanding, so it's a shame that more programmers don't feel like they're able to access it, either because of unfamiliarity with formal mathematics or a justifiable aversion to the "category theory or GTFO" attitude. Which is why I'm writing http://experthuman.com/computation-book .

I have always considered computer science to be information science and be a part of mathematics and not a separate science. But then again, as a physicist i might be wrong. It's not meant to be diminutive at all (i am after all a programmer) but i consider programming to be a tool, like maths (and consider the two to be inseparable).

I really wish we in the English-speaking world would stop calling it computer science and call it informatics, as is done in some parts of the world. Linear algebra, when applied to any practical problem, is almost always done by computer, yet linear algebra isn't called computer matrix equation science. The terms linear algebra and informatics make it clear that these are mathematical fields that can be studied for their own sake or as tools for practical applications in other fields.

People who majored in informatics would study such things as information theory, approaches to AI/machine learning, models of human cognition, communications (as in signal/noise, data compression, etc.), and so on, and would undoubtedly be required to take programming classes, where programming would be considered a tool to help people learn informatics.

People who majored in programming (wherever that was done, including industrial training and apprenticeships), would be required to take some informatics classes, where informatics was treated as a tool to help them learn to be better programmers.

Just changing the name to informatics would go a long way, in my opinion, toward clearing up the mess. Employers who demand CS degrees as if the degree meant "better-trained programmer" might think differently if they were called informatics degrees and stand in contrast to programming degrees (or certifications) that emphasized practical industrial software dev. And informatics departments would be freed up to be a more general resource to more than just programmers.

Post reply on HN