Live data from Hacker News

So You Want to be a Programmer

codinghorror.com

41–50 of 99 posts

Re: So You Want to be a Programmer

#41

Earlier quoted context omitted.

You interpretation of his analogy is what he wants I think. If learning how to change your oil is like learning to install that new wifi dongle, then you should know how to do that. You certainly don't need code to do that. Similarly you don't need to be a mechanic to change oil.

You don't need to be a mechanic to change oil, but a small amount of mechanical knowledge helps quite a bit. I am talking about knowledge such as what is a drain plug, what is oil, what is an oil filter. Most people have at least a rudimentary knowledge of how a car works. Computing is still magic to many people, and it should not be.

Most people don't have a clue about cars either. These are not the 80's, where most cars shared a common oil filter, used 10w-40 oil, and where very alike.

Nowdays the complexity of car has turned it into "magic", too. Choosing the wrong oil weight for a modern turbocharged car will wreck the turbo and the engine. Another example is the new style of oil filters. They are cartridge style with very delicate torque specs. an over torqued oil filter housing cover will create a significant drop in oil pressure due to to a leak.

Heck, even changing a tire is now a mess due to the recently implanted tire pressure systems.

Re: So You Want to be a Programmer

#42
post #11

Learn enough about code to read others' programs. Learn enough to not be spied on and manipulated by sociopathic web developers and cybercriminals. Maybe you can contribute something back to programmer/user community that demonstrates ethical principles. Maybe you found a startup. Maybe you make a career out of writing programs. At the very least, you make it harder for the bad actors who use their coding skills to t…

This is exactly what I am striving for. I don't want to program full-time, but I like to be able to understand enough and be able to muddle through somewhat if there's a project I feel like working on. Maybe I end up doing more than that, but it's nice to have, like learning a foreign language. Not everyone becomes fluent, but a lot of people know enough to get something out of their studies.

What sort of project?

Are you the type of person who like to take things apart and put them back together? Do you like to figure out how things work?

Re: So You Want to be a Programmer

#43

This whole weird saga has led me to this thought: why are people so concerned with what /other/ people should learn? Why do you care? It seems like the subtext is that if they know the things we know, they'll think the things we think. If we can just get people to be programmers, they'll see the world the way we see it. Or so the thought goes.

A rising tide of literacy lifts all boats, that's why I care. I still don't get why Atwood does, though.

Re: So You Want to be a Programmer

#44
post #40

Jeff wants a world where we programmers can make computers perfectly usable without understanding how they work. I don't think this will ever be the case. The abstraction will always leak a little, and people will benefit from having at least some idea of how computers and the programs that run on them work under the hood. Regardless, in the mean time I would prefer everyone to have as much technical competence as po…

If you've ever seen a 2 year old or, worse, a baby boomer playing with an iPad you'd realize we're basically there. At this point Jeff's car analogy is about right. Is it useful to know how your car and computer work under the hood? Yes. Is it necessary ? Increasingly less so.

I'm curious why this was down voted into being grayed out, within 20 minutes of being posted and with no replies to it.

edit: seems it got better.

Re: So You Want to be a Programmer

#45
post #24

This ongoing "Learn to Code" discussion reminds me OWS. Ask ten different people what it stands for, and you'll get ten different answers. If you try and argue against any part of it, someone will tell you that you "just don't get it." In the end, all I get out of it is the impression that we "hackers" sure think highly of ourselves.

>> I get out of it is the impression that we "hackers" sure think highly of ourselves. Is it that, or do we take ourselves (and our work) too seriously?

you make it sound like it has to be one or the other.

Re: So You Want to be a Programmer

#46
A) What Jeff thinks we're saying: "Everyone should be programmers so the world would be a better place"

B) What Jeff thinks is the right: "Everyone should be technically literate for their own good"

C) What we're actually saying: "Everyone should be technically literate for their own good"

You can observe that B and C are the same. So we actually agree, but some haven't noticed it yet. Only because the sentence "learn to code" can be very ambiguous. After having studied natural language programming, I've come to realize that 90% of disagreements between human beings derive from semantic misunderstanding of ambiguities. This is just yet another example. Kinda funny to be honest. Watching the blogs argue with each other is similar to watching Abbot and Costello arguing who is on first [1].

[1] http://www.youtube.com/watch?v=sShMA85pv8M

Re: So You Want to be a Programmer

#48
The way I see it, subjects taught in school are ranked according to their perceived importance:

1 - Math, english

2 - Science, PE

3 - LOTE, history, geography, music, etc

4 - IT, drama, shop, economics, etc

5 - Plumbing, mechanics, technical drawing, etc

Joel is, I think, arguing against people that say coding should be a tier 1 or 2 subject.

Re: So You Want to be a Programmer

#49

He's still missing the point. If anything "learning to code," is just bad language to describe something more worthwhile: teaching people the fundamentals of algorithmic and logical thinking. We don't teach mathematics to kids so that they will all become mathematicians and we certainly don't teach them literacy so that they will all become the next J.D. Salinger. They are just tools for solving other problems. "Lear…

It's not just algorithmic and logical thinking, both have been around for thousands of years. (Most prevalently after the rise of general writing.) I'm sure both Lady Ada Lovelace and Charles Babbage, being competent mathematicians, wouldn't have had much trouble following an insertion sort algorithm (since humans do this naturally already when sorting) for a pile of cards or be much fooled by the 'tricky' true/false Knight questions. When it comes to implementing these things on a machine (and building the machine, which nowadays is a freshman/sophomore CE project), though, they struggled immensely. And their struggles with the purely abstract side of things were not just from having a lack of expressive language, for even with the most expressive languages today concurrency and other parts of programming are still mentally challenging.

The reason computing is different from mere algorithms and logic is because programmers and machines face incredibly deep abstract and physical hierarchies and orders of magnitude for even the fairly mundane things. It's even further different in that programmers have perfect (or near-perfect with error correction) digital precision and control at immense scale down to whatever the relevant atom is (a bit, a microsecond) and the ratio between the upper bound and lower bound keeps increasing. Physicists have a similarly large order-of-magnitude gap to cross, but carbon nanotubes are state-of-the-art whereas programmers have been perfectly manipulating gigabytes of data for years.

Dijkstra called computers a radical novelty[1], his reasoning is why I dislike these poor metaphors and analogies about programming "being another tool in a toolbox of job-skills like plumbing or life-skills like tying a knot", or "learning to program is like learning how a car works", or even the notion that "learning to program should only be for the passionate, for those who enjoy it, or for those who want to make money with it." It was ridiculous and wrong when Socrates said similar things about writing, it's still ridiculous and wrong when people say it about programming.

[1] http://www.cs.utexas.edu/~EWD/transcriptions/EWD10xx/EWD1036...

Re: So You Want to be a Programmer

#50
The fact remains that literacy with computer syntax is what literacy with arithmetic was a hundred years ago. There are so many ways to take advantage of it today, it is insane not to encourage just about anyone to stick with it long enough to see what possibilities might be revealed.
Post reply on HN