Please don't learn to code
181–190 of 273 posts
Re: Please don't learn to code
#182This 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.
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
#183As 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 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
#184I 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…
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
#185Bloomberg 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
#186Mr 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
#187This 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…
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
#188I 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.
Re: Please don't learn to code
#189Unlike 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…
Re: Please don't learn to code
#190When 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.