Skip to content


One Tuesday over lunch, Charlie O’Donnell (@ceonyc) and I (@jsteeleeditor) discovered that we both wanted to learn how to write code.  We’d each had some [very limited] experience in the past, but we wanted to learn for real.  “Let’s do it,” we said, and decided then and there to learn Python via a buddy system (along with some other folks who’ve since voiced interest in joining us).

The purpose of this blog is to chronicle our learning adventures in the hopes that those more experienced than we are will lend us their wisdom, and that those less experienced can learn from our efforts.

JSteele03_09By day, I’m an Acquisitions Editor for O’Reilly Media (though all opinions on this blog are strictly my own)—by night, a news junkie and political science grad student, a freelance graphic designer, and a number of other things. My work at O’Reilly includes a lot of different tasks that help my books come together, but the technical editing is left to subject matter experts.  (Many of my colleagues do come from a programming background and have technical expertise in some of the subjects they cover, but my own background is in publishing). I, like several others in the group of us learning together here in NYC, have thus far been what I like to call “fluent, but not proficient” in the world of code.  We’re finally ready to cross that threshold.

So, now that you know a bit about the background of this project, join us!  And let the coding begin…

3 Comments leave one →
  1. Amenity permalink
    October 29, 2009 9:07 am

    Wow, I think & work in a very similar context; “fluent, but not proficient” describes it beautifully. I’ve had learning to program (Python) on my list of things to do for nearly half a year, but you’ve inspired me to get down to business. I look forward to following your progress, thanks!

  2. james permalink
    January 20, 2010 2:19 pm

    So, Python with its enforced whitespace and indentation syntax instead of something that uses braces or similar, which is a much more common. Interesting choice.

    • January 20, 2010 3:19 pm

      Yep. I wish people would lay off the whitespace issue, to be honest. It’s really not that big a deal. And if that’s everyone’s biggest gripe about the language, then that says something good to me.

      I’m an editor by trade, which means I’m detail oriented (to put it kindly) and enamored of the rules of grammar and syntax. But these rules are like any other set of rules: they apply within a specific framework. I don’t edit a book the same way I edit my emails. And I don’t play Monopoly the same way I play Bridge. So the way I see it, learning the underlying principles of the genre is the key thing. Once you know that communication is about forming your thoughts into sentences and games are about taking turns and having fun, then it’s more or less trivial to learn various sets of rules for whatever framework you choose to work within at a given time.

      It’s true that people spend years learning the intricate ins and outs of various programming languages. And it is indeed difficult and time-consuming to become an expert in more than one of them. The same is true of spoken languages. But I would point out that you can also say this of games (to beat the metaphor a bit more): there are indeed people who spend years to painstakingly study and learn the ins and outs of Bridge bidding conventions and learning to count cards. And don’t even get me started on chess. Some games are simpler, and some are more complex. Programming languages are the same. But I’m not even at that stage yet (the stage of choosing a specialty). I’m still trying to understand the genre.

      So yes, I chose Python. This choice was admittedly biased in part by the fact that I am responsible for editing titles on Python (so I already know some basic jargon, not to mention lots of friendly folks willing to answer my questions, plus I’m hoping to become a better editor for these books). That said, I also edit books on PHP, SQL, and occasionally Java. So why Python?

      To blatantly steal from John M. Zelle (I refer you to the “Python as a First Language” link to the right):

      Python is simple. It is a high-level scripting language with a simple, regular syntax and dynamic typing.

      Python is supports object-oriented programming. The class model is a simplification of the C++ model and supports multiple inheritance.

      Python is fun. Interesting projects can be developed with only a fraction of the code that would be required in a system language.

      Python is practical. It is gaining popularity by leaps and bounds, and thus I expect a familiarity with Python to open doors. For myself in particular, I’m very much looking forward to contributing to the open data initiatives of the Sunlight Foundation, whose projects make heavy use of Python (in addition to Ruby, PHP, and Hadoop).

      So there you have an (admittedly overdue if also a tiny bit defensive) explanation of my “interesting choice.” 🙂

      Thanks for your interest in the blog!

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: