Live data from Hacker News

Please don't learn to code

codinghorror.com

101–110 of 273 posts

Re: Please don't learn to code

#102

Almost all of these arguments can be applied to a large majority of our school curriculum. If you are arguing that people shouldn't learn to code for the sake of learning to code, you are correct. If, however, you don't actually think learning to code translates to solving problems, or has any real world benefit, you should also be insisting we remove all of Math from our school curriculum, because who uses anything…

[...] you should also be insisting we remove all of Math from our school curriculum, because who uses anything beyond basic algebra? Hell, who uses anything beyond basic arithmetic now that we have calculators that can do algebra and calculus for us?

Mathematicians, physicists, astronomers, chemists, economists, statisticians, engineers, meteorologists, actuaries, biologists, accountants, etc.

Re: Please don't learn to code

#103
post #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…

Thank you for saying exactly what was in my head and saving me some typing. Learning to code is to being a professional programmer as learning to write is to being a journalist/editor

Re: Please don't learn to code

#104
I'm kind of the villain of this piece -- a relatively novice coder who expects to apply for programming-heavy jobs in the future.

Here's why I think I'm not actually a villain:

1. I'm not under any illusions that people should pay me mega-bucks because I can program at all. I haven't hit my 10,000 hours yet; closer to 1000. You should hire me because I'm a mathematician who can program, not because I'm a hacker genius. Often, being an "X who can program" is much more valuable than just an X. It means you can execute your ideas yourself; and it means you have a clear concept of which ideas can be executed computationally and which cannot.

2. I couldn't just "quit programming" any more than I could quit writing or quit reading. I could resolve to, but I wouldn't last long. I've found that when something makes my brain happy, but isn't technically "my job," I'm much better off following instinct and doing it anyway, rather than forcing myself never to have any side projects.

3. You're worried I'll contribute to the volume of bad code in the world? Well, just because there are more experienced programmers than me doesn't mean I'm dishonest or stupid. I make a point to be very frank about what I can and can't do at the moment. I've found that the stuff I can do is quite valuable to people. I don't try to bluff my way into projects I'm obviously not qualified to contribute to.

Re: Please don't learn to code

#105
post #68

This largely misses the point. I agree that it's not "essential" and not everyone should do it, but it's still more valuable than I think Attwood gives credit for. I'm perhaps in a unique position to comment, having recently taught my girlfriend to program. So I can talk about how that played out. My girlfriend understands menus, she knows about links, she can install software, she can use word, she can type away lik…

That's really interesting, as I had a similar experience. However it has downsides: I now find it much harder than I used to to disengage from details and look at the big picture. Knowing how something might be implemented or could be taken apart really distracts me from thinking about whether it's important, or useful or beautiful. Perhaps it's just a temporary phase, but the whole Zen and the Art of Motorcycle Maintenance keeps coming back to me — I used to be like the friends who couldn't change a spark plug and were happy in their ignorance — now I'm changing spark plugs all the time.

Re: Please don't learn to code

#106
post #43

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.

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…

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.

Re: Please don't learn to code

#107
post #60
post #43

Earlier quoted context omitted.

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…

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 lev…

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.

Re: Please don't learn to code

#108
Programmer Hierarchy:

  Level 0: (Many bosses I have had)
  Level 1: "Hello World"
  Level 2: Does something
  Level 3: Updates a data base
  Level 4: Solves a little problem
  Level 5: Produces value
  Level 6: Sidetracks other programmers to maintain
  Level 7: Provides a platform for other value producers
  Level 8: Solves big problems
  Level 9: Still produces value years later
Everyone should get past Level 0.

If you're going to get to Level 6, I'd prefer you just stop at Level 5.

If you get to Levels 7,8, or 9, thank you.

Re: Please don't learn to code

#109
I think there's a knee-jerk reaction against the popularization of computer programming, and I think it's unfounded.

We have a sense that, because some 80 (possibly 90) percent of programmers write shitty code, that encouraging more people to program is going to flood the field with mediocre programmers and that we're personally going to have to maintain their legacy monstrosities. Somehow, I'm guessing that I'm not going to be maintaining Bloomberg's business-logic DSL any time soon.

I think it's good that we're making people more aware of computer science and that programming is becoming cool again. I'm not a fan of tech bubble "coolness" (where traditional business types move into tech startups, usually in executive positions, because of the trend, but have no real interest in technology) but if people develop a genuine interest in how computers and programs work, that's great. It'll have all kinds of ripple effects: better and more widespread CS education (even in grade school), increasing technical literacy in important organizations, increasing appreciation for technical talent in the world at large, and quite possibly a more rational approach to business, government, and politics.

The real problem we face, in terms of the "Why do we have to deal with so much shitty code?" question isn't that these bad programmers are untalented. It's not a low IQ problem. It's a problem of dysfunctional work environments (due to a low appreciation for what programmers do in many companies) and a lack of incentive to improve. These "bad programmers" stop growing, because the bulk of development jobs don't encourage people to grow, so a lot of people end up learning basic Java best practices and that's it. They never learn Unix and its philosophy, functional programming and recursion, architecture, or logic. They get to the 1.2-1.3 level (scale here: http://michaelochurch.wordpress.com/2012/01/26/the-trajector... ) and either go into management or plateau. That's because the typical JavaJob setup is designed to bring up the rear while holding back the best, so people get into a mentality where they lose faith in the capability of the individual developer and management appears like the only place where it's possible to have real accomplishments.

Actually, if anything's going to liberate the horde of 1.2 developers from their JavaJobs, it's going to be making programming fun and cool again-- reminding these people that coding isn't just something they do for one job, but that it's a valuable and extremely versatile skill, if they keep improving despite having no immediate economic pressure to do so.

Re: Please don't learn to code

#110

That article is so full of strawmen, it's not even funny. The existence of individuals who wouldn't gain much from learning to code does not imply that no one will gain much from learning to code. I have a hunch that the vast majority of regular office workers has at least some portion of their work which can be trivially automated. Knowing how to code maybe allows these workers to go and code up a script - but even…

That's true, but not necessarily something that office workers would actually want. Many workers actually sort of enjoy mindless repetitive busy work since it makes you brain feel like your achieving something vs difficult work where you might spend weeks stuck on the same problem. Case in point: A fair number of years ago I worked a non tech office job for a few months. Basically a large portion of the job was check…

If anything, your anecdote supports my hypothesis that simple programming can unlock large productivity increases.

Your team manager made a career out of incentivising busy-workers, then suddenly one of the workers come along and proves her, her work and her neat floor of busy-workers pointless? Of course she's going to push back. Nobody likes to be made pointless. That doesn't make her any less pointless, and it's for the better of everybody that she stops being pointless.

Post reply on HN