Live data from Hacker News

Please don't learn to code

codinghorror.com

21–30 of 273 posts

Re: Please don't learn to code

#21
post #11

I doubt Bloomberg uses eight grade chemistry, biology or physics in his day job either. We still teach the sciences -- if nothing else than as a way to entice kids to continue studying it and keeping a steady influx of engineers in to society. There is nothing different about computation, per se. Instead of a teacher droning on to kids about how to surf, let them learn how to do webpages, or robots. Get them excited…

Most of us use most of a lifetime of knowledge in our day jobs, and machines are magical.

Re: Please don't learn to code

#22
post #4
post #2

I recently learned how to plumb a little. Now I can do minor household plumbing fixes without having to hire professional help. A very useful skill indeed. I know it's a demanding activity that requires more than reading a book and knowing how to hold a wrench, so I know to stay away from the serious pipes and stick to little fixes.

Exactly - everyone should learn basic plumbing! Not the best analogy he could have used.

He did say that everyone should learn some basic concepts of programming, which I think we could all agree with. Perhaps everyone shouldn't know how to create the next Gmail, but surely there's an advantage to us all knowing how for loops work and how to write a bit of simple code (perhaps just doing math and text basics in Ruby). Many schools already teach this as a standard part of their curriculum using Basic.

Re: Please don't learn to code

#23
I really, really disagree with Jeff Atwood here. Jeff has interpreted "learn to code" with "become a programmer". They're not the same thing. I don't think that is what this meme is about at all.

Programming is logical thinking in practise. Programming is breaking a problem set down, thinking step by step through it, thinking of edge cases, and making it work. There is nothing wrong with Jeff's BASIC example, if that is where the mayor of NYC ends up.

There was once a time when books were only read and written by an elite group. Now everyone can read - and everyone can write. There are still the elite authors that write better than the rest of us. Just because everyone can write, doesn't mean everyone is trying to be a professional author.

Computers are a part of society. To function well in society, it's beneficial to understand a little about how they work, and how to make them do things. The essence of programming is making a computer do something more efficiently than you can.

Programming isn't just the advanced stuff - recursion, pointers, functional programming, or whatever. Maybe Jeff is too far down the rabbit hole to realise this, but most people don't know what programming even looks like. They don't know how we tell computers to do the things they do. Recently I was with a customer, making notes about changes I needed to make to their application. They asked me "Is that how you make it do that?". No - that was my TODO file. And these are people that work on computers all day, every day.

It's beneficial if marketing folk understand the basics of programming when they're doing web ads. It's useful that CAD engineers know the basics so they can automate AutoCAD. Its useful that financial accountants know basic programming so they can become more efficient with analysing data.

If the mayor of NYC wants to learn to program in his spare time, why the hell not? I bet there wouldn't be the same complaints if he wanted to learn how to surf.

edit: grammar

Re: Please don't learn to code

#25
People who make and apply laws regarding software should understand how software works and is made. They could talk to experts instead, but to choose right experts they also need to understand how software works.

So maybe New York Mayor don't need to code, but IP lawyers that works on software cases, and politicians voting on software related law - yeah, I think they should.

Re: Please don't learn to code

#26

I don't like this post and what it implies. 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 there's nothing wrong with learning a new skill, whoever you are, whatever you do. Learning new skills is what makes us human.

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.

That doesn't mean I shouldn't learn to cook.

Re: Please don't learn to code

#27
For all X, it is always better (toknow X) than (not (toknow X)).

There are innumerably unpredictable circumstances that may arise in which it will prove useful.

Bureaucrats in general could all profit from some minimal understanding of programming if only to stop them saying things like: 'the computer says: no!'

Re: Please don't learn to code

#28
I should probably disagree. The point of code being a life skill is not that we want more people to write code on a day-to-day basis. You should think about teaching kids to paint, rather than teaching them to read. It's not because we want more painters or because painting makes you better at the job you do, but painting helps you to see things from a different (artistic) perspective, to appreciate certain joys and certain other techniques.

Sussman has gone on record with a talk titled, "Why Programming is a Good Medium For Expressing Poorly Understood and Sloppily Formulated Ideas." That's probably an everyday use of programming which I've not seen, and it's part of what people learn as one of these "background skills" in college: how to think of things precisely.

I still get a lot of people who are shocked when I teach them relativity. You mean it's not a bunch of mysticism about "mass is squared light energy"? You mean you can prove that this Lorentz transformation doesn't lead to paradoxes? You mean you can derive it with high-school geometry plus some simple axioms that I can clearly understand? The only part which is hard to get across is the causal structure of "light cones", because people don't think in intersecting cones. (I have had some success with calling them "expanding light bubbles," with some reference to supernova explosions.)

Coming back to clarity, and finding it, programming is a good way to pick up that habit, even if you don't code on a day-to-day basis.

There is of course one well-known disadvantage which goes unmentioned in this Coding Horror post: coders are disproportionately more likely to think of legal systems as made of immutable and strict laws. The idea that a judge is supposed to, y'know, judge the human costs of competing legal priorities, and make a decision which is both fair and in keeping with the laws as written -- this discretion seems to be missing. You see this as well with how coders approach pharmacists: it's as if pharmacy was no longer a medical discipline and was somehow relegated to counting pills. No, that's what we code the robots for. Stop equating people with robots.

But if we remain sensitive to the humanity of others, then being able to code probably functions to a net benefit, much like Jeff's example of plumbing does. I mean, there are still occasions where you need a professional, but everyone should have disassembled the pipes to their sink at some point in their life, just for the experience.

Re: Please don't learn to code

#29

I don't like this post and what it implies. 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 there's nothing wrong with learning a new skill, whoever you are, whatever you do. Learning new skills is what makes us human.

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.

Re: Please don't learn to code

#30
> It assumes that coding is the goal.

I don't think anyone is saying that (I hope). Instead we're telling people to learn to code as a means to better understand technology, and then use technology to your favor to improve your life. And when that happens, coding will naturally become more common in your life, even if indirectly (managing others who write code, but this time actually knowing what you're doing). "Coding" is just a more common part of the problem, which has a much deeper meaning. I tell everyone they should learn to code, not because I think they should be writing hundreds or thousands of lines per day like I do. But because they should better understand the world we live in. And learning to code will get you there faster.

Thinking we're telling people they should learn to code just for the sake of coding is completely missing the point. I tell everyone they should learn to code for the exact same reason I tell everyone they should learn science, politics and law. Your life will be better if you're scientifically literate and technologically literate because you'll better understand the world around you.

> can you explain to me how Michael Bloomberg would be better at his day to day job of leading the largest city in the USA if he woke up one morning as a crack Java coder?

That's the wrong question. You should be asking how can be better at his day job if he was technologically literate. And I'm pretty sure anyone here can think of many different awesome ways anyone at all could be better at their job if they knew how to better use technology around them in their favor. Let alone a major of a metropolis.

> so please pardon my skepticism of the sentiment that "everyone can learn to code".

This is a separate problem. I think everyone should learn how to code, how science, politics and law works. For their own sake. Their life will be better if they do. Implying they shouldn't try because they're not good enough is analogous to saying most people shouldn't vote because they're not competent enough to choose the right candidates. The point is, it's in their interest to do so. Now is it in our interest that they do so? And that's a whole separate issue I would really rather not get into.

Post reply on HN