Slate has a really fascinating article this week in which writer Annie Lowrey decides to take a month to learn how to code—entering the coding world as a novice presents her with a conundrum known as “The Little Coder’s Predicament” (essentially, it’s hard to find an entry point to coding now that the days of teaching yourself BASIC on your Atari are way, way over), and an enigmatic Ruby programmer named _why. It’s a great piece:
Slate gives each of its staffers a month per year to undertake an ambitious project, one that attempts to do something new in Internet journalism. Tim Noah explained income inequality. Julia Turner explored the world of road signs. Dahlia Lithwick wrote a chick-lit novel in real time, with the help of her Facebook friends. I decided to try to learn computer programming.
Why? I understand, if imperfectly, the laws that control the physical world around me. Ask me why an apple falls to the Earth or why a cork floats in water or why electrons do not collapse into the nucleus, and I can at least attempt an explanation. But the virtual world I live in is a mystery. Arthur C. Clarke wrote: “Any sufficiently advanced technology is indistinguishable from magic.” For me, and for most of you, I suspect, the computer is just that: a glowing, magic box. Learning to program would help demystify the technologies I use daily and allow me to even create some humble magic of my own.
This article hit home with me; I’ve been slowly making my way through CodeAcademy’s courses, motivated by exactly what Lowrey describes: The sorta unsettling sense of spending all day in a world I don’t really understand. Save that shit to read later, dudes. (I will never stop proselytizing for Instapaper, it is the best app and I read a TON more long-form writing since I bought it.)
Lowrey—who writes about economic policy for The New York Times—answered questions on Reddit this morning.

Yeah, why is awesome. I miss him!
Yeah, like Lowry, I got lost with ruby pretty quickly. One big hurdle (in my opinion) is setting up a “ruby environment” to work in. It feels really vague and difficult to me.
You have to buy instapaper? The app, I’m guessing? I’ve only used the site.
This kind of goes with what @ROM writes, but one problem with learning programming today is that a lot of courses bombard you with so much unnecessary information from the get go.
Does someone need to learn their way around entire frameworks, debuggers, and GUI toolkits with 30,000 things to click on? No.
Just let the untrained masses fire up Windows Notepad, write three lines of code, click “save”, run it…and feel the joy.
ROM, yeah, the app lets you save stuff from your browser to your phone. It’s really handy and well designed.
@HUMANCLOCK: I FIRST LEARNED WEBDESIGN WAY BACK IN THE 90’S DOING THAT. THROW TOGETHER SOME BODY TAGS AND SHIT AND LOAD IT IN NETSCAPE AND TA-FUCKING-DA! A WEBPAGE.
@Graham
But you forgot how it would look different in IE, so you didn’t know if the problem was you or the browser!
Yeah, in 1997 I once wrote an entire 60k perl script using windows notepad, and had no access to the server error logs. and testing of a 28.8 modem. Those were the days.
I think JavaScript would make a good entry language– even though it’s rife with pitfalls in its implementation– but it’s full featured, simple, readable, object-oriented or procedural, and everyone has a web browser. No “environment” needed. It’s even easier if you go with Firefox + Firebug, since you can see results right away.
My entry language, though, was probably HyperTalk. Good times.