Spotlight: Chris Pine (Author)

A Hero’s Journey
with Chris Pine

chrispine

Chris Pine, author of Learn to Program, Third Edition, discusses his journey to becoming a Pragmatic Bookshelf author.

INTERVIEW

Listen to the complete audio interview here:

WIN!

We’re giving away one of Chris’s books to one lucky winner! Simply post a comment or a question in his AMA below, and the Devtalk bot will randomly pick a winner at a time of the author’s choosing … then automatically update this thread with the results!


SHOW SUMMARY

For those who prefer to read rather than listen, the following are highlights from the interview.

Chris Pine started his Hero’s Journey in 2002 when he thought about using Ruby to teach people how to program. There wasn’t much Ruby documentation for beginners at the time, so he decided to stop thinking about teaching and start writing a tutorial aimed at beginners.

But the task of writing a great tutorial for non-programmers was a bit more challenging than Chris first anticipated. But, he kept at it—adding more and more polish with each revision. Because Chris made it so easy for people to contact him, he was able to rework the tutorial based on reader feedback.

Just as Chris was ready to wrap up the tutorial writing, he was contacted by a handful of publishers, including the Pragmatic Bookshelf—he’s been with us ever since and is now working on the 3rd edition of Learn to Program, which is currently in beta.

Listen to the rest of Chris’s story on this episode of the Pragmatic Hero’s Journey podcast.

You can stream the episode here: https://pragprog.libsyn.com/ or subscribe to the RSS feed using the following link: Pragmatic Hero's Journey.


Now that you know his story, check out Chris’s book below!

PragProg Book by Chris Pine

Dont forget! You can get 35% off Chris’s book with the coupon code devtalk.com!


#book-learn-to-program-third-edition


Connect with Chris Pine

Twitter
LinkedIn
Website


YOUR TURN!

We’re now opening up the thread for your questions! Ask Chris anything! Please keep it clean and don’t forget by participating you automatically enter the competition to win one of his ebooks!

4 Likes

Hey, everyone! Happy to answer any questions you have about writing a book, learning/teaching programming, or literally any other topic! (Quality of responses may vary; past performance is no guarantee of future results; always consult your physician before beginning a new exercise program; etc.)

5 Likes

@chrispine (or should I say ChrisPi :smile: )
Perhaps everyone will agree that the ideal teaching ‘use case’ is teaching a small group (ideally of size 1) of equally knowledgeable, equally skillful and equally motivated/eager to participate students.
Long time teachers have their tricks to keep the audience engaged and to make sure nobody checks out/drops out.
Would you share some of your favorites?

4 Likes

Interesting question! I’m not sure I have much of an answer, though, as nearly all of the teaching I’ve done has been one-on-one.

I suppose you could say that Learn to Program is the counterexample, but I don’t see it that way. I feel like the struggle in one-to-many teaching situations is making sure no one is left behind while moving at a good pace, but I never needed to worry about that when writing LtP. Each reader goes at their own pace, works on their own exercises, etc.

It probably also helps that I put my email address at the back of the book, in case anyone gets stuck. :grinning_face_with_smiling_eyes: I’ve helped thousands of readers over the past 16+ years. But always one at a time.

3 Likes

Oooo I’ve only just noticed this as it was in the PragProg section (which only shows threads on the main forum homepage that you’ve posted yourself or threads you have posted in - moved to the Spotlight section now :nerd_face:) - I’ll have a listen to the interview tomorrow but just quickly wanted to say that Chris has written one of my favourite tech books of all time - after reading it I felt so motivated and much more confident about embarking on my journey of learning to program! If you are in doubt yourself you just have to read this book! (Here’s my mini-review of the book in case anyone is interested.)

Here’s a quick question for you Chris - did you ever imagine that your book would have such a profound effect on so many would-be programmers? Your book really made me feel like programming is something I could do and I am certain that lots of other people would have felt the same after reading it :smiley: Whenever I kept forgetting things, or felt stuck or like I wasn’t properly understanding something - thinking back to what you wrote in the book really helped me. In fact I sometimes wonder whether I would have stuck with it at all if it wasn’t for you! So a huge THANK YOU from me Chris!! :orange_heart:

3 Likes

Given the time that has passed since your book was first published (nearly 20 years, maybe? I seem to recall it being published not too long after the ‘Pickaxe book’ which became available here in Germany early 2001): How did you keep it in sync. with the changes Ruby itself has seen during this time? — I can imagine that there are quite a few changes and new features that would be important to show & explain to people who learn to program.

Cheers & thanks for keeping the book up-to-date!

Stephan

4 Likes

Hi @chrispine!

Is the 3rd version of your book, expected in July 2021, targeting Ruby 3 ?

2 Likes

Hi @DevotionGeo,

obviously I’m not @chrispine :smiley:.
Anyway, the preface say so:

For the 3rd Edition of this book, I’ve updated all of the examples for Ruby 3, the latest version of the language.
— Cris Pine. Learn to Program. 3rd edition.

4 Likes

Thank you @s2k! :slight_smile:

3 Likes

No, not in those terms.

For me, it was more like, “The world needs a resource for getting into programming that does not assume any prior knowledge.” Around the time I started, there were a few other tutorials that others were working on, and they were getting lots of praise… from people who were obviously already Ruby programmers. And I would ask, have you shown this to a non-Rubyist, or even a non-programmer, to see if this is helpful? No one ever said yes.

So I thought, well, I’ll do it myself. :slight_smile: It meant a ton more work for me, but in the end we have a book so much better than I could even have written on my own. :slight_smile: Of course I’m thrilled that it’s made such a difference for so many.

4 Likes

Because the book is mostly targeting the basics of Ruby, I haven’t actually had to change that much. It’s kind of surprising how similar the current examples are to the ones I originally wrote for Ruby 1.4 or 1.6. Even so, I did run every single example in Ruby 3.0 (and some of the release candidates before that) to make sure everything was correct. Sadly, there was no good way to automate this in the latest iteration of the PragProg toolchain, so it was a ton of manual work. Y’all are worth it, though! (If I were starting from scratch, I would set things up differently to make it easier to automate.)

The biggest change to the examples in the 3rd edition are actually not because Ruby has changed, but because the style of Ruby has changed: in the olden days (lol, I don’t feel that old!), we tended to favor single-quotes over double-quotes for most strings, and we tended to favor “poetry mode” (not using parens for method calls). Now parens are the norm in most cases.

Finally, part of the PragProg book process is technical review, where I sent a draft to a handful of professional Ruby engineers to see if anything looks weird to them, just to make sure I’m not overlooking anything. (Which I was, so thank you, reviewers!)

5 Likes