There is also the matter that “programming” is an overly broad word, kinda like “martial arts.” A guy like “Uncle Bob” who spends his time doing OO whatevers has very little to do with what I do. It’s sort of like comparing a guy who does Tai Chi to a guy who does Cornish Wrestling; both martial arts, but, they’re different. My world is made of matrices and floating point numbers. His ain’t.
This. The attitude the OP describes is very common on HN as well, and can't be attributed to Uncle Bob only: the idea that programming means web, cloud, and databases. Other influential writers, like Jeff Atwood, make exactly the same mistake[1]. He can't imagine anyone doing any other martial art than Tai Chi.
This is common on HN for a reason. The typical Y Combinator startup and the average HN reader does web programming for a living. This is HN's target group and there is nothing wrong with that.
Jeff Atwood has a point that desktop apps are dead. I would not build another business app on the desktop. Users are now used to being able to access their data and applications from anywhere, and without having to install any software.
There must be other forums dedicated to scientific computing and similar topics. These topics do find a place in HN from time to time. However, they are not the norm.
>Jeff Atwood has a point that desktop apps are dead.
Do you mean this literally? Or just business apps? I mean it doesn't seem likely that web or mobile apps are going to replace Photoshop, or Illustrator or Maya in the next decade.
Business apps. However, Mobile Apps have become the new desktop apps - at least until HTML5 becomes good enough.
But my point was that the typical readers on HN are interested in the kinds of posts here (it is a self-serving argument) - which is mostly about building web apps that help people communicate better, share content, connect people, remove middlemen, manage businesses, buy and sell stuff, increase productivity and consume content.
Scientific computing, low level programming, language research, theoretical computer science and the vast array of other computing related stuff that we don't talk about here - they are extremely important. But it doesn't find a place here for a reason and that is just fine.
It's one things, and perfectly fine, for certain programming topics not to have a place here (although I find it a bit sad), it's quite another to talk as if they don't exist or are irrelevant to programmers.
There are already web and mobile versions of apps like Photoshop etc. Adobe themselves created an online image manipulation program and there are several really good iPad apps too. So, yes, it's likely.
I agree with you on the level that it is a very limited view, but as for the OP states that "Most people who consider themselves programmers are employed effectively selling underpants on the internet using LAMP."
I was slightly offended when I read this - I'm 'only' a web developer, but I don't believe I'm any more or less useful or talented than anyone who say, programs kernel drivers.
I'm sure the people who program kernel drivers would disagree with me, on the other hand.
It's a topic which has bugged me for an age now, am I a real programmer? Am I actually making any difference to the world? And the answer to both of those, perhaps, is no, but on the other hand, with the exception of Tim berners-lee, Linus Torvalds and Dennis Ritchie, all of us are pretty much interchangeable. I.E. You could remove us from the team and replace us pretty easily with someone else.
All those "superstar" programmers started somewhere.
Whether they were a teenage-hacker prodigy or not is irrelevant, they were young, inexperienced, and foolish programmers at one point.
Yet once they age (and gain knowledge, or perhaps more importantly, _practical_ experience) they suddenly forget that their journey had a beginning.
When you're on the road, everything feels like the middle. So I think it's important to keep perspective, and realize that (irrespective of age) their journey has just been longer than yours.
---
The other thing is: I think a programmer's fundamental job is to make computers useful for people.
At the end of the day: we provide meaningful abstractions that allow others to get computable tasks done.
I don't think it really matters how you define "get stuff done."
To the end user: the computer is a blackbox.
The fact that they can buy underwear online is just as amazing as the fact that they can turn around and plug in their digital camera. Thanks to the magic of device drivers; they can then download pictures of themselves in their fancy new underwear.
So, no, I don't think a web developer is any less of a programmer. For the same reason I don't look at a heart doctor and think: "he is clearly less of a doctor than the neurosurgeon down the hall."
This. The attitude the OP describes is very common on HN as well, and can't be attributed to Uncle Bob only: the idea that programming means web, cloud, and databases. Other influential writers, like Jeff Atwood, make exactly the same mistake[1]. He can't imagine anyone doing any other martial art than Tai Chi.
A bit sad, really.
[1] http://www.codinghorror.com/blog/2009/08/all-programming-is-...