I seem to recall reading that McCarthy was actually surprised to discover that Lisp _could_ be run by a real computer; he intended it to be a completely theoretical tool.
I really don’t think that’s what he’s saying, and if at least some of this doesn’t resonate with you, you’ve never looked for (programming) work after 40. The problem is that programming is, by it’s nature, “strange” work. In every other job, you perform some function for a long time, learn all the ins and outs of it, and then move on to manage other people who are performing that function: break their work down into tasks, assign different people to different tasks based on skill sets, suggest timeframes, etc.. That’s true from sandwich making up to neurosurgery. Programming work seems to defy that natural progression. I’ve been doing this for 25 years now, and I’m no better at breaking software development projects down into discrete tasks for _other people_ to carry out than I was when I started - and I’ve never met nor worked with anybody else who could, or even pretended they could. So we have this odd career where you start out as a programmer, and you stay a programmer until you retire. Couple that with the outsiders expectation that programming is getting easier when the reality is that the opposite is true, you have a _lot_ of people with a very low opinion of programmers as professionals - i.e. if you were actually any good, you wouldn’t have to be doing this any more.
Yeah, I've never really understood being _offended_ by being asked to do something relatively simple (and honestly, those are actually pretty good problems). I might consider it a little amusing if somebody asked me to write FizzBuzz or something really basic, but I would shrug my shoulders and do it.
I think a lot of this religious behavior stems from an underlying belief, mostly by people who've never tried it themselves, that programming _must be_ easy and anything that makes it appear hard (and especially slow) means that somebody is making a mistake somewhere. So they go looking for a silver bullet, and the latest fad seems to fit the bill.
There's a great, fun, programmer-centric website called thedailywtf.com (sorry, I just scheduled the rest of your afternoon for you). Developers can submit WTF's that they've found in other's code - as the site admin says, "curious perversions in information technology".
One thing that strikes me about the majority of the submissions, as funny as they are, is that they mostly boil down to "so-and-so didn't know that such-and-such feature existed, so wrote reams of code to implement that feature in a complex way". It also strikes me that just this article's sort of analysis of "prolific" (aka "good") engineers/programmers drives this same sort of behavior. If every developer is supposed to be committing code all day, every day, there's no time left over to read the product documentation, try out a new feature, review a reference implementation, read a blog post: to be "good", you must be spending as much time as possible _typing_, because that's what you're paid to do. This (ubiquitous) management mentality is how we end up with roll-your-own crypto, or five competing Javascript frameworks, parsing using regular expressions... it's not so much that what they did was wrong - and trust me, if it works, it won't be removed - it's that it's pointless.
> how many people here seriously believe the result would not be exams in Agile Software Craftsmanship Manifesto Driven Development
Well, since the sort of people who set up regulatory exams are likely to be the same sort of people who design college curricula, I don't think that would be the case at all. I suspect that a software licensing exam would cover things like algorithmic complexity, NP-completeness, pushdown automata, Turing completeness, LR parsing, etc. etc.
At my last job, my title was "Vice President" (against my preference). There were five of us. I was Vice President over nobody, and spent all my time doing the same things I do (programming computers) at my current job with the title "software architect". If titles didn't used to be meaningless, startup culture has rendered them so.
> Younger people are not smarter. They might learn faster new things.
I was a young person once (no, seriously!). I _thought_ I was learning things fast back then. When I got older, I realized I was trading speed for depth.
> That recipe to stay current looks tiresome. ... Your reward: you are still employable.
It does make pursuing a career in programming seem dubious, doesn't it? There's an old saying about "clawing your way to the top", but sometimes it feels like I'm clawing my way back to where I started. I feel like I'm expected to have instant answers to any question and immediately comprehend any technology (regardless of its level of documentation or comprehensibility). I actually do enjoy learning about new things (and old things!), but most of the time, we're not paid to learn, we're paid to instantly know, and if you don't instantly know, there are 20 guys lined up around the block who are ready to take your place as soon as you admit that you don't know how to set up pass-through SSL using the undocumented firewall product that was installed last week that you don't have credentials for and we don't have time for you to waste reading documentation because there's a customer deadline and there's no slack in the schedule. The only other career I can think of that you have to put this much ongoing personal effort into is entertainment; it's like we have all the downsides of entertainment careers without any of the upsides.
On the other hand, I can't imagine doing anything else - every other job (except maybe astronaut) looks murderously boring to me.