Grownups can't learn programming?
August 5, 2008 11:30 AM   Subscribe

"If you wait to teach them until college, it's almost always too late; adult brains generally can't form the deep structures necessary to learn real programming, only rote copy-paste code monkeying." [article] Uhh... seriously?

How true is this in your experience? Anyone been there / done that? Is it pointless to try to learn Python or Java in your thirties?
posted by Tubes to Computers & Internet (30 answers total) 7 users marked this as a favorite
It's just more difficult. Less opportunity for immersion (busy daily life, and other responsibilities) and we're out of our primary developmental phases. I learned PHP and Javascript (fairly comprehensively) in my late 20s.
posted by alcoth at 11:35 AM on August 5, 2008

Seems like elitist wanking.
posted by smackfu at 11:37 AM on August 5, 2008

No, it's not.
posted by boo_radley at 11:38 AM on August 5, 2008

I would completely disagree. A lot depends upon aptitude for sure, but I can say from my own experience, as well as people I've worked with, that learning programming is not at all impossible for adults. Basically, It's just like learning a language- and we all know that adults are perfectly capable of that.
posted by ISeemToBeAVerb at 11:40 AM on August 5, 2008

The several people I know who learned to code post 30 and took up code monkey jobs as second or third careers would probably disagree with this.
posted by absalom at 11:41 AM on August 5, 2008

Are you asking whether it's pointless to try to learn a new programming language in your thirties, if you already know others? Or if it's pointless to try to learn your first programming language in your thirties? The article you link--not that I necessarily agree with it--is only making the latter argument.

As for the former, dad was effectively learning new programming languages right up to his retirement in his 70s.
posted by DevilsAdvocate at 11:41 AM on August 5, 2008 [1 favorite]

er, it's not pointless to try to learn.
posted by boo_radley at 11:42 AM on August 5, 2008

Yeah, the canard of it not being possible for old dogs to learn new tricks. That's not true. It's hyperbole in the service of rhetoric, at best.

To quote the wise man Elwood Blues, "It wasn't lies. It was just...bullshit."
posted by Drastic at 11:43 AM on August 5, 2008

Seems like it would be easier to learn the basic concepts like loops, arrays, decisions, objects, etc. earlier rather than later. I doubt, though, that there is some cutoff point where you are relegated to copying and pasting and drooling or something. That's goofy.
posted by everichon at 11:44 AM on August 5, 2008

Shenanigans. It's harder to learn anything as you get older, but by no means impossible. I've seen older people "start over" by going to college and earning a CS degree in their thirties and forties.

Now, if you want to say that someone needs to be of a certain level of intelligence to learn programming, I'm more inclined to agree.
posted by Citrus at 11:45 AM on August 5, 2008

It's like any other skill - much better learned while young since your ability to learn starts to fade as early as your early 20s - but not impossible, not even unlikely. There is however the problem of being 40 and only having as much experience as a fresh college grad at 22 though.
posted by Calloused_Foot at 11:46 AM on August 5, 2008

Well, from my experience, those who learn to code at a younger age tend to learn more easily how to 'think' in code. There's a certain logistical rewiring that is required (starting with the initially not-so-obvious illogical statement that x = x + 1, and it quickly can jump from there).

I think the article likely has a grain of truth in that it's always been known that children soak up new knowledge a lot easier than adults. (read chapter 8 of Jeffrey Kluger's Simplexity for a fascinating linguistic example).

But to give the blanket statement that adults can't learn real programming sounds false to me. If the individual already has some 'logical' training in their chosen field or has an analytical mind naturally, then I think the road would be much easier. (and then factor in alcoth's opportunities for immersion)
posted by johnstein at 11:46 AM on August 5, 2008

Seems like a steaming pile of bullshit to me. The "Deep Structures" in programming are conceptually pretty much identical to those used in practicing law, higher order math, and music theory; they consist of deriving an abstract logical system and working out it's consequences. That is what "real" programming is; building up a mental model to solve a problem, and thinking about it coherently. The skills of abstract reasoning are an essential part of what makes us human; there is no special magic to programming that requires developers to commit to it at an early age. Programmers are not latter-day castrati. Not everyone enjoys this kind of thinking, but that doesn't mean that you are incapable of learning it after you reach the age of 13.

The author's primary point, about the absence of built-in development tools for Windows leading to the decline of programming on that platform is similarly silly; there are at least three professional-quality IDE's for Java / C++ / c#etc available for free download- including versions of the .NET visual studio IDE directly from microsoft. To speculate that the minimal effort required to download an IDE is somehow leading to a general decline of developers for the windows platform is nothing but transparent mac fanboi crap.
posted by jenkinsEar at 11:56 AM on August 5, 2008 [1 favorite]

Speaking as a programmer, I think this is total crap. if someone already has a procedural, analytical mind, some intelligence, as well as some tech knowledge, I would say they could definitely learn how to code. Age doesn't matter I don't think.
posted by gwenlister at 12:07 PM on August 5, 2008

You can spit out streams of pretty, lucid code until they pile up over your head, but the whole and only point is what purpose does it serve. A mature person can have a more informed set of goals, and a better appreciation of what really matters.
posted by StickyCarpet at 12:10 PM on August 5, 2008

I think this is a correlation vs. causation thing.

The people I know who were the best programmers, and if you are in the field yourself you must admit there is indeed a huge range of talent, all started at a fairly young age. High School at the latest.

However, this just means they have on average that many more years of experience programming. Practice makes perfect. And a 26 year old who has been coding since they were 10 will probably be much better off than a 26 year old who has been coding since they were 20 simply because they have more than twice as much hands on experience.
posted by Riemann at 12:10 PM on August 5, 2008 [1 favorite]

It is of course, only anecdotal, but one of my good friends in college, a physics major, deliberately avoided programming as much as he possibly could. He largely succeeded for most of his undergraduate career.

Last I knew, he was the lead developer on a few open-source python GIS-related projects.
posted by Good Brain at 12:25 PM on August 5, 2008

Recently on the blue. I know - to apply this to programming is really taking things to extremes, but the fact that (like sight and other complex tasks) language processing, if not learned very young, cannot be learned at all, does suggest that there could be truth to the idea that adults learning to program would be generally unable to match the levels of nuance and elegance attainable by those who were learning to think in machine processes while their brain was still forming.
posted by -harlequin- at 1:15 PM on August 5, 2008

Here's how I think about these things (languages, programming stuff, music, mathematics, knitting, surfing, whatever): I'm sure it is the case that a younger person has an easier time of grasping this stuff, but I'm sure as hell not going to let that stop me.

Now, I may be a bad example because I've been immersed in musical study since I was a kid, and then I went and learned how to program when I was about 24--and I think there are some important, meaningful similarities between the type of thinking that a musician does and the type of thinking that a programmer does (I've heard anecdotally that this is true, and feel it intuitively and can point to some specific analogues, but always been to lazy to confirm it by looking up the relevant scientific research, so if anyone can tell me if I'm right or wrong I'd be appreciative). I now have been working professionally as a programmer with no formal training--just a B.A. with a major in music--for almost a decade, and I just got hired at as a developer for a research group at one of the most prestigious universities in the U.S.

But enough self-aggrandizing...the fact is, the only way I've ever been able to learn something new is by putting aside any sort of prediction about how hard it will be for me and focus on my interest and compulsion to learn. And there's another thing I think of when I am engaged in a new learning experience: "somehow, other humans learned how to do this, so I can too." I talk myself into it.

Fundamentally, in the end it doesn't matter how hard you have to try to learn something, it just matters whether you give a crap enough to put in the time and do the work. And in my experience, if you are learning, it will be hard, because that is a sign you are doing the work needed to learn. I don't think I'm more or less smart than anyone else--or rather, I don't let that get in my way--and I believe that learning has nothing really to do with intelligence, but largely depends upon your determination and tenacity.

So I respond with an emphatic no, it is not pointless to try to learn Python or Java in your thirties, or learn anything else worth learning. The only reason it will be pointless is if you end up thinking it is pointless and talk yourself out of doing it.
posted by dubitable at 2:05 PM on August 5, 2008 [1 favorite]

Yeah, bullshit to the premise of the linked article. I didn't get into web programming (self-taught and some mentoring in Perl, Java, C#, SQL, PHP, etc) til I was 39, and I've been pro and fully employed as one for 10 years now.

The key is aptitude - anyone can learn to program, but it takes a certain mindset to persist and thrive as a full-time programmer. I was born to program; I just didn't realise this til I was almost 40. If I'd started sooner, I'd likely be further ahead in the field.
posted by Artful Codger at 2:41 PM on August 5, 2008

Back in the day when I was first going to Uni programming wasn't taught at school yet, not widely anyway, and many first years hadn't been exposed to it upon starting their computer science degrees. So unless my boyfriend and the majority of his classmates all happened to be some kind of geniuses to which this rule doesn't apply (which he is so not), I call bullshit. He's a software engineer now, not some thoughtless code monkey, and is awesome at what he does.

History just doesn't bear this out.
posted by shelleycat at 2:41 PM on August 5, 2008

My father had a lot of odd jobs for most of his life, was a bit lazy and unmotivated, and didn’t even finish his first semester of college when he was a kid. When he was 38, we got a home computer, and everything changed for him. He found his passion. He taught himself how to program, went to college for his degree at 40, and programmed for the next decade. He was darn good at what he did. He did have the advantage of being a very analytical fellow and was as smart and logical as any of the scientists and coders that I have worked with. So yes you can learn programming languages at an older age. Being bright, having the confidence to take on such a challenge, and loving it, helps.
posted by MS_gal at 2:51 PM on August 5, 2008

I was in all the Welcome Back Kotter dumb kid classes in high school, I got one A, in a dumb kid history class. (Did you know that America is named after Amerigo Vespucci, an Italian mapmaker? I did.) High school was a place to go meet my buddies and do drugs and goof off, I'm from a blue collar construction family, by my senior year I was making more money than my teachers (after school and weekends) and I damn sure knew more about work than they did. I did get very rudimentary typing skills in HS. But that was it.

At 33 I'd never touched a computer, other than building computer rooms (remember how everything had to be cooled and raised floors, etc and etc? I built some of those), I jammed my way through 50 or 60 hours of some business but mostly programming courses, COBOL and JCL and even mainframe assembly (while I never did get good at that I did ace the course, I bled for it, hours and hours and hours of study and lab), with a 3.6 GPA, ended up with a horses-ass internship at Pennzoil, then programming for First Interstate bank, downtown Houston, then a state agency here in Austin, and then I saved the world from Y2K. I was not a natural, I did not have an aptitude for it, thus could never have become great, and I knew that I wasn't even really good at it, though every review I ever had differed with me on that. I'm stubborn, is what I am, and determined, on a good day.

I'm not the only programmer I met who came from a different world; there's lots of people doing lots of things they never set out to do. One of the best programmers I ever knew, Jackie, is a natural at it, came from white-trash, three kids in her early twenties, got into some mainframe courses at around 30 and never looked back, got her a pretty nice life nowadays.

Not everyone can do anything. I'd hate to think that I'd have headed into medicine instead of programming, because it's possible -- not at all likely but possible, a scary thought -- that I'd have jammed myself through all of that, and I'd be killing people every day. But some people can do more than you'd expect, and they do. Stubborn has a lot to do with life changes, from what I've experienced, from what I've seen.
posted by dancestoblue at 3:15 PM on August 5, 2008 [1 favorite]

That must be one of the most idiotic pro-Mac posts I've ever read.
posted by jacalata at 3:20 PM on August 5, 2008

I think, like everyone else has said, that the linked article is elitist "kids these days" wankery. And it's wrong; 10 minutes on Google can get an aspiring hobby programmer everything she needs to get started on Windows, for free.

There is a tiny grain of truth to the sentence about adult brains -- it's obviously much easier to learn something complex at 15 than it is at 40 -- but I've seen lots of adults learn programming. I've taught some myself. It's like anything else - programming is hopelessly complex to some adult students, and others have a natural knack for it. Just like the 15-year-olds.

I learned to draw at 35 and am learning to play the guitar at 39, so I've heard the "grownups can't learn" mantra repeated before, and it's just as wrong for programming as it is for everything else.

Some young people - not all of them - have an incredible ability to focus and practice 12 hours a day until they learn something thoroughly. It's harder to do that as an adult, especially if you spend 8 hours a day earning a living. But learning is still quite possible.
posted by mmoncur at 8:29 PM on August 5, 2008

meh, I doubt it. To be a good programmer, you just need a certain kind of mind. It is true that many of the people who have that kind of mind were drawn to computers early in life. However, I think there are lots of people out there with "the programmer mind," who've just never really considered doing it, for whatever reason.
posted by Afroblanco at 9:02 PM on August 5, 2008

OP here. Thanks for all the great input, gang.

DevilsAdvocate asked: Are you asking whether it's pointless to try to learn a new programming language in your thirties, if you already know others? Or if it's pointless to try to learn your first programming language in your thirties?

I think I'm inbetween there. I've done procedural programming and scripting for web applications, but have considered getting into more formal object-oriented stuff.

Some young people - not all of them - have an incredible ability to focus and practice 12 hours a day until they learn something thoroughly. It's harder to do that as an adult, especially if you spend 8 hours a day earning a living.

Yep, that's exactly the concern. I'm finding a new appreciation for the time freedom that I had as a student. But it's been nice to see the encouragement here, and I'll remember it as I work on getting my head around something new.
posted by Tubes at 7:21 AM on August 6, 2008

I think the main differences between grownups and kids are
1) grownups have less free time to learn new things
2) grownups often have some extrinsic motivation that detracts from exploring a subject thoroughly for its own sake
3) grownups don't give themselves permission to suck.

One key to learning a skill is to allow yourself the freedom to do poorly. If you're a 12-year old kid learning programming, and you spend every day after school for a month trying to write a computer game, and it ends up being an unplayable bug-ridden mess, no big deal. You tried something you thought was cool, and learned from it. Adults, on the other hand, demand proficiency from themselves right away, and are less likely to try new or experimental projects that won't produce professional results.
posted by lsemel at 9:57 AM on August 6, 2008

Ah, yes, the "adult brains generally can't form the deep structures necessary to learn real programming" canard. If you think about it, it must be true -- after all, it's well known that Lady Ada, Alan Turing, John von Neumann, and Grace Murray Hopper were all in high school together!
posted by vorfeed at 11:39 AM on August 6, 2008

(in case someone has a brain which can't form the deep structures necessary to parse the heavy sarcasm in my post above: HA HA HA NO. Adults are not only perfectly capable of learning to program, the art of programming itself was originally developed by adults!)
posted by vorfeed at 11:45 AM on August 6, 2008

« Older Someone hacked my… something... somehow   |   Is it a bad idea to include my phone number in an... Newer »
This thread is closed to new comments.