Do you honestly believe so many people on here are so bad at reading comprehension that they can't parse the phrase "Please don't learn to code"? I think you're smarter than that. I think we both know that's a straw man. What actually happened was that many people read Jeff's post and realized that the title "Please don't learn to code" was not a summary of his article, it was a title, presenting the highlight of his article, which is that there are some people in some situations in which he'd tell them, "don't learn to code, learn this other thing that will be more useful to you".
But it's silly to criticize people's reading comprehension on the basis that they read the article rather than just the headline.
Programming is a super-power, even if you only know a little bit. Knowing how to program gives you abilities to create unequaled in the history of the world. I think that the more people who know how to program, the better, even if they "suck" by comparison to a rock star programmer (or alternately a fat guy who knows C++ [1]).
Maybe 95% of people will never be lead programmer on a commercial product, but almost everyone ends up, e.g., searching Google -- and not being afraid of complex search results can mean the difference between digging through six pages of garbage and getting relevant results right away because you weren't afraid to use the minus operator or other more "advanced" search features.
And probably most people in the workplace have to deal with an Excel spreadsheet from time to time -- being willing to dig into creating more complex formulas because they aren't afraid of lists of functions with parameters would be an obvious side effect of knowing a bit of code.
Regardless, Zed is saying that no one should be telling you that you SHOULDN'T learn to program, period. And I agree.
[1] http://betabeat.com/2012/05/04/pro-tip-from-silicon-valley-s...
The post title was an exaggeration, like almost all of his blog post titles are. If you actually read the content of the post, you realize that he clearly wasn't actually saying.
First of all it sounds much better than "I read it, he is correct. This is why I wrote mine." considering that he is refuting the idea presented.
Being biased is simply being opinionated and luckily Zed Shaw's opinion is that everyone should/can learn code. This is why he has free books, which actually teach some programming to everyone.
Here's a quick illustration:
Ad Hominem: Jeff Attwood gets off on being an ass. Therefore he is wrong.
Not Ad Hominem: Jeff Attwood gets off on being an ass. Incidentally, he is also wrong.
Seriously, understanding of logical fallacies seems to be in very short supply around HN. If I didn't know any better I would think I'm over at Reddit.
It does not mean an argument in which a person insults the person claiming the thesis. Insults rarely add anything to an argument but that is a different matter.
Also note that an ad hominem doesn't need to be insulting - it could be a very polite statement such as "This argument is incorrect because Mr Atwood is unqualified to discuss matters of education as he is not himself an educator". This is not really insulting (though I would argue that Jeff is in a way an educator) but is still an ad hominem.
I didn't see anywhere in Jeff's post where he was saying he wanted to make beginners look like losers. What he is saying is that it isn't necessary for everyone to learn how to code, that a lot of people seem to have a passing interest in it but aren't really serious about it. His example is the fact that Mike Bloomberg is using it as a cheap political stunt, that his time as Mayor would be better spent accomplishing other things. Now, that's somewhat a matter of opinion, maybe Mike Bloomberg really is serious about wanting to learn how to code, but somehow I doubt it. This is a far cry from Jeff wanting to make people feel like losers.
"He's telling other people's kids to not learn to code. He's telling adults who want to improve their lives, or just learn something new. He's telling people from other professions that no, programming won't help them. Why? Why would Jeff tell people to quit and just let the professionals do this? Because of resentment."
That's a complete assumption, in no way backed by anything Jeff said. I didn't see any "resentment" in that post, but you can read into anything you want and make any wild assumptions you want, as long as it makes your post more sensational.
He's not saying that your's or anyone's kids shouldn't learn how to code, he's saying that he doesn't see it as a basic skill we should be teaching children, along with reading, writing, and math. I don't necessarily agree with this, but I get where he is coming from and I'm not going to grossly exaggerated Jeff's position just to make my point.
So, yah, maybe Jeff is wrong, but you're post certainly didn't address what he was actually saying.
His example seems to be more him having a bone to pick with Mayor Bloomberg. Maybe, having a mayor that extols the virtue of learning something will help improve student absenteeism. Who knows?
Hint: other people's articles, just like yours, consist of more than a title.
Your argument isn't evidence for anything at all. There's a big difference between reading and coding: reading is a very useful method of communication. Everyone should be literate just like everyone should be able to speak. Coding, on the other hand, is much more along the lines of plumbing than language.
The basic crux of the issue for me is this: you can control a society via the flow of information through that society. Both reading and more recently, programming are activities intimately connected to the flow of information through modern society. Along with an understanding of programming comes a greater understanding of computers to computer networks to privacy issues and all manner of things that more people should be thinking about more conciously, regardless of whether they wish to program as a career.
While no doubt the flow of material through plumbing pipes is also quite important for societies in general, I don't think an understanding of plumbing affords quite the same insights and protections against being potentially manipulated by the powers that be as one might acquire through the pursuit of reading and programming.
Coding really is a specialized job. For sure, some people would be better off learning it because it can be useful, but everyday people don't need to know how to code just like they don't need to know how a car works. All they need to know is how to drive safely, or use the computer securely.
And really, I don't get this whole "learn to code, learn how your computer works" idea. When I first learned ruby, I didn't magically gain an understanding of filesystems and networks and all those other things. My dad, on the other hand, who doesn't know how to code, in fact he didn't even know what a kernel was, can fix your computer up in a jiffy (hardware and software both, particularly windows). He's in fact still better than me at this, because he knows all the intimate little details of the windows UI and what each thing does, what each error probably means.
So the point is, you don't need to learn how to code to know how to use a computer well, and learning javascript won't really help you with that either. If all you want is to know how to protect your computer from the powers that be, don't learn to code; just listen to what the experts have to say on the subject.
Programming is not a specialized job and it does not require specialized knowledge. Even idiots can program. The fact that you can program shows that you had interest and access to computers but it does not put you in a special club. Programmers ARE everyday people, not a priestly caste who can be distinguished from birth. And in the last few decades their numbers have dramatically increased - with each generation's clueless and accidental beginners becoming the next generation's experts.
We don't tell people "please don't learn any math" or "please don't learn any geography" even though most people will not become specialists or need a specialist's understanding. These are still generally useful things and things which make you an educated and modern person. We don't know where they will be useful or to whom. It benefits many more individuals to know something about these, and it greatly benefits our society that many individuals know something about them.
"just listen to what the experts have to say" is something that started to change as of the Gutenberg Bible, thank God.
I think people are falsely equating all the marks of a good programmer as being the benefits to learning how to program.
"It makes you logical, methodical, organized", etc etc.
Yes, these are all qualities you'll find in a good coder. However I don't think programming is a good way to teach these thoughts! NOT AT ALL!
I learned all those things by writing English papers. I had lots of problems writing in my early years, so I studied, and worked hard. I learned how to outline my thoughts. I learned how to properly revise a work. I learned how to organize my thoughts into logical units. I learned how to make those logical units flow into one another. I learned how to arrange those units so that they each make sense in context. I learned how to target a unit to a specific audience.
I think programming would've been a terrible way to learn those skills. English is at least somewhat forgiving. Even if your sentences aren't perfect, the general idea still comes across.
Learning to program involves weird and obscure syntax, you're constantly fighting with the compiler, you're dealing with stack-traces a mile deep every time you make a mistake.
Programming is an incredibly challenging way to learn problem solving.
Obviously I found that challenge to be worthy of pursuit. Certainly we shouldn't be discouraging anyone from learning how to code. At the same time though, I think it's incredibly offensive to say that everyone should know|learn how to code.
No doubt your father is an acomplished man, but he would be a better Windows power user or sys admin if he was comfortable with PowerShell. One of my pet peeves are server admins who don't thnk they need to know any programming and thus don't truly understand the requirements of the developers who interact with their servers.
I feel that we're discussing things (if you'll excuse the cliché) too far inside the box. If one has a very blinkered view of the advantages that programming can provide then yeah, it's just a highly specialised tool, useful only to a few. But that's not what programming is to me. To me, its about communication, expression of ideas and discovery.
You say that learning JavaScript won't help you to understand your computer better. I disagree. By learning JavaScript, you will involuntarily learn more about one or more web browsers and perhaps from there, you may become more informed on how information is transmitted across the web and perhaps from there, you may learn to better protect yourself through more consistent use of encrypted data transfer, just as an example. You are right when you say learning to program does not magically impart knowledge of file systems or networking but when I learned Ruby, I would have had to try pretty damn hard not to learn by osmosis at least something I didn't know before about these topics while I was learning the language.
So yes, in the narrowest sense, programming is not currently as important as reading. But what does the public potentially gain if we suggest that it is? And I predict that the distance between ideal and reality will close as the decades pass.
More recently similar arguments were made against educating freed slaves in the USA
I think it was reasonable for some people not to learn to read 200 years ago.
The American Revolution was spread through pamphlets passed out at the local tavern. Newspapers played a major role in educating the people about the Revolution and passing around the text of the Declaration of Independence, Articles of Confederation, and Constitution, so no, it was not reasonable for some people not to learn to read 200 years ago.
By the way, if Gutenberg's Printing Revolution made the written word so cheap that pamphlets could be handed out to as many people as possible, I don't think there would have been many who could not afford books 200 years ago. If there were many who didn't use the reading skill much, then there wouldn't have been all the hoopla over the Stamp Act the British imposed on the American colonies. You sorta need to know how to read to make any use of stamps 200 years ago.
Nice article by the way, and thanks for your work.
Natural languages are ambiguous. One of the reasons why they’re more fun than programming languages.