Do you actually like programming? Or is it just a means to an end for you?
I find it bizarre that people would find implementation inherently interesting. That would be like finding penmanship or grammar inherently interesting.
I predict that in a few decades people will look back in bewilderment at today's computer science with its focus on implementation.
And btw, it's also surprising when people are upset that few women major in CS. The problem is that the field isn't interesting in its current form. Perhaps one should complain more about men who like the field as is and want to preserve the status quo!
(
31 comments
| 9 points
| on HN
)
The analogies are flawed.
"Novel idea" in CS divorced from implementation would be like a non-playing musician coming up with "cool musical ideas ".
"I have this cool idea for a new musical genre but I am not interested in the actual playing of music" or "I have this cool idea for a novel but I don't want to sit down and type it up/ write it down". How much of a musician or writer would someone making such statements be? "Novelty" has to be made concrete by playing/writing/programming. It is in the process of writing/playing/programming that you discover if the "novel" idea makes any sense at all.
you say "I'm using implementation in a general way to not only include programming but also clever algorithm design, better software engineering practices, etc."
Ok if all those are "implementation" what's left? someone coming up with "cool ideas"?
"as you get older, you will find it easier to come up with novel applications and harder to come up with quality implementations"
Speak for yourself friend! I for one would be very leery of someone who has "cool ideas" but can't/won't implement them.
I encounter MBAs with this attitude every day. They all have these killer ideas they want me to "implement quickly".
The problem is really that the field isn't interesting in its current form. That is just your opinion. Just as I'm sure there are things you find highly interesting that I wouldn't. There are plenty of blog posts submitted every day that show a real passion and love for the subject of computer programming.
Computer programming is what drives the world we live in today. How could you not find that interesting?
I find novel applications more interesting than quality implementations.
Also, as you get older, you will find it easier to come up with novel applications and harder to come up with quality implementations.
I think there's a certain kind of mind that would rather figure out how to do something than come up with that something in the first place. If you're interested in both, then all the better, but if you're only one, there's nothing wrong with that.
However, all of these can be related to to the study and application of computer sciences.
Today's Computer Science doesn't have a focus on implementation. Programmers have a focus on implementation, but computer scientists don't.
There are a few people who don't focus on implementation (e.g., the MIT Media Lab), but their work is not taken as seriously as traditional implementation-oriented CS.
Most of the projects at the Media Lab are not as novel as they seem. They just take some existing idea or product and tweak it a little bit to seem more novel. SOME stuff is very novel but really not that much.
But it's all implemented. It wouldn't be very interesting to say that you're going to make an animatronic teddy bear or a robot DJ and then not make it.
I'm not really sure what you're getting at anymore.
Entrepreneurs come up with the big ideas. Computer scientists tweak those ideas and try to come up with faster, more memory efficient, secure, better structured, etc. implementations.
In fact, if a computer scientist is working on a novel app, then his/her work would not be considered important as he/she is not working on the solution to a well established problem.
Not at all. Computer scientists invent new problems all the time.
Also, consider the criteria for having a paper accepted at a prestigious conference. Generally, there must be a non-trivial proof of some sort or strong empirical evaluation. This is a great way to discourage people from submitting novel ideas that are hard to evaluate.
There are lots of interesting ideas that don't work. The value of knowing an interesting idea does work is enormous. Evaluating ideas is the basis of the scientific method.
However the tone of your post seems to imply that programming is the boring part of computer science. The only interesting stuff happening in computer science has come out of people actually programming stuff.
Of course a novel app is more interesting if it is implemented. But the point is that implementation is necessary but not inherently interesting.
The Programmers take pride in the craftsmanship of their code and in the puzzle solving involved. They may do this in dynamic 'scripting' languages but they skew towards strongly typed languages.
The Scripters see it as a means to an end. They want to build some awesome stuff and the software is a means to an end. Any language or framework that makes it quick and straightforward to build with is preferred, preferring dynamic languages and frameworks with good documentation/examples code.
BTW, my favorite language is actually Scala even though I'm more into novel apps than quality implementation.
Some people like fixing puzzles; other people like making things. They go well together. My cofounder loves coding things and making them work. I can do that stuff, but I prefer designing things and making really pretty stuff rather than working in the background.
But when felt like I hit that goal I didn't stop learning, I actually got more into it because I wanted to learn ways of getting a better result in less time, and the obvious answer to that was to keep studying and soaking up knowledge.