Live data from Hacker News

Please don't learn to code

codinghorror.com

181–190 of 273 posts

Re: Please don't learn to code

#181
I couldn't agree with this more, especially the bit about how software developers are software addicts. A lot (not all) believe software is the cure for all ills and any endeavor that doesn't have software at its core is not worthwhile. Coding is a means to an end. You should learn to code if you have a problem that could be solved with code and you either don't want or can't afford to pay somebody to do it for you. Exactly the same way you should learn plumbing if you don't want or can't afford to pay a plumber to do the work for you. All that time you are spending learning to code may be better spent learning the law, or accounting, or statistics, or operations, or marketing, all of which are at least as important if not more important than coding in a business.

Re: Please don't learn to code

#182
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…

Well spoken, but not all people are like your girlfriend. To most people, learning a bit about programming would primarily be an exercise in frustration.

Hate to say it, but that seems like a rather arrogant thing to say.

I'm great believer that anyone can get to be _reasonably_ good at something if they invest enough time and effort into it.

It's the classic logarithm curve; when you have no skills in a field, you can learn a few skills really easily (steap curve). Then, as you get better, your progress for effort-expended goes down until you're basically a domain expect (flat line; no matter what you do you basically dont get any better).

This applies to ANYONE on ANY field; the curves are just different; and I'd argue the steep part of the curve is pretty long for programming (compared to say, I dunno; learning differential equations).

Despite the great them-and-us divide that geeks (and here I generalize based on the geeks that _I_ know personally) seem to have to 'other people' who are 'dumb' ... people are, in my experience, generally smarter than you'd expect.

I'd rather encourage people to learn a little bit, than tell them to go away because they're probably not smart enough. *, and if I see someone do it, it makes me angry... although, I realize you weren't directly saying that, so please, take this as a general comment, not as a criticism of you personally. :)

Re: Please don't learn to code

#183

As many others have pointed out, I think there are two sides to non-professional* coders learning to code, one of which I agree with wholeheartedly, the other I disagree with, equally wholeheartedly:- * As in paid to sling code - I don't mean to cast elitist aspersions with the term 'professional'. The Good Learning to harness the amazing realm of creativity that computers offer - unlike other fields of engineering,…

I wholeheartedly agree with Jeff's point that this sort of attitude is not something we ought to encourage. If people more generally think of coding as something easy, then the kind of programmers who produce shitty code and think it's fine will be emboldened and we will be doomed to experience yet more broken software in the world. That's the last thing we need.

I sort of agree with you, but this also strikes me as something of a vacuous truth. I mean, think about applying it to any other domain: Does the fear that homeowners will start thinking of plumbing as "easy" and start overreaching their abilities mean we should quit selling monkey wrenches at Home Depot? Does the fear that auto owners will experience delusions of grandeur and start thinking of themselves as professional mechanics mean that Sears should quit selling Craftsman wrenches and Chilton repair manuals? Etc., etc.

The point is, all fields have a range of knowledge and skills from total n00b, amateur, up to professional. And in every other field, amateurs and professionals co-exist peacefully, and no one seems to be arguing that we should prohibit minor home repairs by home owners, oil changes by car owners, etc. I don't see why programming should be any different. If business people learn to write a few Excel macros, or even some small Perl, Python or Groovy scripts, that's not going to hurt those of us who are working professionally in this field.

Re: Please don't learn to code

#184
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.

It's strange he made that point about plumbing, then later said you should learn how things work to solve real problems. He seems to have confused an initiative among some people to learn a new skill in their spare time with a totalitarian injunction that we all become programmers. To me it's no different to an initiative among people to learn a foreign language. It may be a somewhat qiuxotic spare-time hobby, but th…

Exactly! I've encountered the attitude many times: If you learn to DIY your time must not be valuable. This is so wrong, and avoiding dishonest service is an obvious benefit.

Traversing those learning curves is more rewarding the longer you keep at it. Also, it's rare that one field of knowledge doesn't benefit many more.

Re: Please don't learn to code

#185
> but if the mayor of New York City actually needs to sling JavaScript code to do his job, something is deeply, horribly, terribly wrong with politics in the state of New York

Bloomberg didn't say anything about learning to code for professional reasons. If Atwood has forgotten that coding is a rewarding experience on its own, then he is no longer a voice worth listening to.

Re: Please don't learn to code

#186
"On two occasions, I have been asked [by members of Parliament], 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?' I am not able to rightly apprehend the kind of confusion of ideas that could provoke such a question." - Charles Babbage

Mr Attwood has a point, in that average Joe certainly doesn't need to program in order to understand their domain better. But I would ask rather then, how can one educate people on how machines work other than writing code ( I seem to remember what little was done in my education about computing, taught me little about the practicality of why in a machine )

Re: Please don't learn to code

#187
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…

> It often fixes the problem, but it's just something she's learned to do with little understanding.

This reminds me of a hacker koan:

    A novice was trying to fix a broken Lisp machine by 
    turning the power off and on.
    Knight, seeing what the student was doing, spoke 
    sternly: "You cannot fix a machine by just power-cycling
    it with no understanding of what is going wrong."
    Knight turned the machine off and on.
    The machine worked.

Re: Please don't learn to code

#188
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…

> most people don't know what programming even looks like My mom recently (2012) just asked me if when I'm programming, the screen is full of symbols, kind of like the matrix. Many people I know consider computers "illogical". We could do a lot to help people understand how a computer works, and the best way is through programming.

And I convinced a friend of mine that in Python, we only code using the letter "s". Why do you think it's called Python, after all? She believed me.

Re: Please don't learn to code

#189

Unlike most of the top comments, I actually agree with Atwood's conclusion, if not all of the arguments he uses to get there. I don't particularly care about the accumulation of bad code. I don't particularly think that summer of code people are going to be accumulating all that much of it that will be shared. And I do agree that learning to program is a totally worthwhile and mind-expanding skill. But I can say that…

100 years ago, Summer of Plumbing or Summer of Tractor Driving may have attracted a not insignificant participation. In present day, not so much, as coding has become the infrastructure of our society.

Re: Please don't learn to code

#190
I see Jeff's point. Don't turn a bunch of people into coders that aren't ready for it. You'll just dilute the brand, and right now being a coder is valued today for whole host of reasons. As evidence of the faked resume scandal at yahoo. It's cool, but there will be a day when it goes back to being very uncool. And doing things like what Jeff is rallying against will help drive us there. On the other hand non-coders want to understand what we do and how we do it. Just like I find watching construction workers build things or a plumber fix things. Its fun.

When I was an undergrad the first lecture I had in CS was my favorite. Still is. It discussed how fundamental scientific discoveries and technology affect how humans view the world and solving problems. To quickly paraphrase as industrialization began to take shape we saw the world as a machine. And so we looked for problems that could be solved by viewing them as a machine. As electricity was discovered and commercialized we saw the world as a circuit. Our brain compared to a circuit, and our nerves were the wires. Is our brain an actual circuit well not entirely, but this idea helped us make other discoveries about the brain. As each of these technologies took root in the minds of humans we shifted our paradigms and began to solve problems differently than prior generations or prior paradigms. These paradigms tend to have long life cycles going on for decades, and that's why they are important to recognize.

The introduction of computers, and particularly computer programming, has changed our paradigm again. How we solve problems with programming is fundamentally different than how we solved it with physics, chemistry, etc. And I think that's the life skill we want to pass along to non-coders because it changes how you approach problems. As we take what was physical and turn it into a digital representation it changes how you use it to solve problems. And when I look at coding in that respect I do think its important to learn, but I wouldn't teach it the same way as most are learning it.

Post reply on HN