But should it be mandatory for everybody to learn cooking on the same level as reading and writing? Is it such a basic requirement, that we're decreasing our children's chance of success, if we don't teach them cooking (edit: Again, on the same level as reading and writing)?
Apart from at least a fundamental ability to use a stove, it is naturally not that crucial of an ability. The argument of the blog post is that it is the same with programming, i.e. It is not a necessity to succeed in life to know how to code.
I don't think the point of the post is to discourage anybody from learning to code. Rather it is a counterpoint to the recently heavily promoted idea that programming is somehow a necessary life skill.
I can only add to this. Because one of the most important skills, after checking my finances, was being able to cook. And knowing, what healthy food is and how to make it, so it stays healthy and(!) tasty.
I might be able to learn a lot of math in school, reading/writing, research (in university), critical thinking (throughout life). But being able to care for my own food, to know, what not to buy (or what to buy) and so on, helped me stay sane and in good shape.
I think I might have worded the second paragraph wrong, as it seems a few people have taken it literally and misunderstood my point as being that cooking is a useless skill.
Cooking is of course a good skill to have. So is plumbing, car repair and a lot of other things. But this is entirely besides the point.
The point was this: Is it a necessity for children to be taught [cooking/car repair/plumbing] on the same level as math, reading and writing: From 1st to final grade in school, 10 hours every week? Of course not.
Atwood argues that it is the same with programming. No matter how much we and he love programming, it is not comparable to reading, writing, math, communication and similar.
Your initial statement doesn't make sense anymore in the new context you're trying to paint. You're building a strawman here. Absolutely nobody said that programming should be taught "from 1st to final grade in school, 10 hours every week".
And in school you're not learning just "reading, writing, math, communication and similar".
Other disciplines learned in school are biology and its branches, like botany or anatomy of the human body, chemistry, physics, history, foreign languages like French and Latin, psychology, philosophy and so on. Not all of these disciplines are taught 10 hours per week.
Also, reading and writing are only taught in the first years. After that they teach you grammar and literary analysis, but considering how illiterate today's teenagers are, many schools are clearly doing a poor job, so to save some taxpayer's money they should just make those optional.
And seriously, I could think of a couple of disciplines I learned in school that would be less important than cooking or programming.
I don't really know what your argument is, except that you somehow think I'm revising my comment "trying to paint a new context" and even "building a strawman" to boot. Yet you offer no explanations for these very rude remarks.
The parts in my comments about cooking, 10 hours pr week, and the short list of subjects, are all merely examples. Replace it with car repair, 2 hours a week and your informative list of school subjects, and the argument is untouched. It should be obvious that these details are entirely irrelevant.
Car repair, 2 hours a week for a quarter or so would be an excellent use of most students' time (with minor the exception of people who live in the biggest cities and never drive). You're missing the point of the people rebutting your argument, which is that cooking, programming, car repair, and many other day-to-day subjects are more important than many of the subjects that you take for granted as being necessary.
Please understand that my original comment is not about cooking. It's not about car repair either. And it's definitely not about whether cooking and car repair are valuable skills. Or even if they should be taught for 10 hours a week or 2 hours of week.
The argument was that a very high proficiency in reading, writing and maths has more value for the average student, than a very high proficiency in a niche subject. A nice subject being FOR EXAMPLE, cooking, car repair or programming.
Sure, our students might benefit from these subjects. But I doubt anyone would seriously suggest giving the same level of educational focus to those areas, rather than to basic life skills such as reading and writing.
And that is Atwood's point: Programming, like car repair, is an esoteric subject, and as such not equal in worth compared to more basic skills such as reading, writing and communication. By all means, subjects such as cooking, car repair and programming is good to know. But for the average student, a high level in reading will be considerably more important than a high proficiency in car repair.
This is the point (and that's actually Atwood's point, I haven't supplied mine), which I was merely explaining to the OP, as the OP interpreted the blog post as being against learning programming at all.
A couple of people countered by argumenting against irrelevant details, such as the use of cooking and car repairs as examples of esoteric subjects. They even started arguing the value of the specific examples compared to the basic skills, which of course is entirely irrelevant to the point I was making.
I don't think that being able to program is a necessary life skill. On the other hand, programming is not all about writing code. Fundamentally, it is about problem solving, usually by breaking a large problem down into smaller steps. That skill is necessary. While it is taught in math classes, there is not a chance for the creativity that programming brings.
On a personal note, I was not very good at math in high school and college. I learned Perl for my first job and developed better problem solving skills. I've noticed that the concepts that confused me in my math classes have become more clear.
If tomorrow you want to learn to cook, how would you feel if a master chef told you "No, don't. You'll never be as good as me. If you're hungry, come to my restaurant instead".
I think people who want to learn to program are learning already. The right analogy would be teaching everyone cooking in elementary school as a required subject, together with reading, writing and mathematics.
> The right analogy would be teaching everyone cooking in elementary school as a required subject, together with reading, writing and mathematics.
Would that be a bad thing? Many-many-many moons, sorry - summers, ago they did that. Along with maths/etc pupils were taught practical stuff, like woodwork, cookery, etc. Not that the goal was to make them all carpenters or cooks, but just to give an idea what it is like and teach to look after themselves.
So I think that coding is something along the woodwork lines. New generations should get at least an idea of what it's like, regardless whether they're going to use it professionally or not.
Cooking may not be the best analogy. What if everyone started learning to build bridges instead? Sure, the general population might benefit from knowing how bridges work and what loads they can take, but when a bunch of inexperienced, improperly educated bridge-builders start trying to create new ones because it pays well, we end up with dangerous bridges.
Jeff's article is trying to point out that while understanding code isn't a bad thing, coding isn't the most important part of writing software. Those who think it is end up writing code without purpose, something I consider as dangerous in the long term as shoddy bridges.
Building bridges may not be the best analogy. What if everyone started learning to dance the macarena instead?
Seriously, cooking as an analogy highlights a difference between private recreational practice and public for-pay professional practice. Building bridges, unless you live in a place where everyone has a backyard with a river in it, not so much.
Shoddy bridges aren't bad, relying on them is. The fact that Bloomberg will write some code doesn't mean we'll have to use it, just like I have plenty of code in my HD that I don't throw into the world, because it's absolute crap.
If we could all build bridges in the our own yard, I think we'd see some of new fantastic bridges which we could re-use. With coding, we can.
This is a great example. My brother in law is a chef. I asked for his scone recipe, and he said to throw in some sugar, flour and milk (or something like that, I'm not a chef). Mix it until it looks right. That's expertise.
I'm a lousy cook - but I can cook food if I follow instructions that have accurate measurements.
You're not a lousy cook, you're just not used to the process. All it is is following instructions with precise measurements, and then doing it over and over again with different instruction sets until you start to recognize patterns and you find yourself having to look at the instructions less and less. That's 99% of cooking.
That is not what being a professional cook is about though. My girlfriend is a pastry chef and it takes more than being able to follow a recipe. Part of being a professional means knowing why certain ingredients taste the way they do when mixed with other ingredients. It means knowing how the altitude and temperature of where you are cooking can affect the taste of an ingredient. And there are a lot more little details that go into it as well.
For most people, they are just going to follow a recipe and you are right, that is all they need. But to be on a professional level and to be able to reproduce those flavors it takes a lot more than that. Check out the book "Professional Baking", it shows a lot of the complex nature that goes into being a pro.