
PragmaticBookshelf
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:
https://pragprog.libsyn.com/episode-03-chris-pine
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: https://pragprog.libsyn.com/rss.
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
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!
Most Liked

chrispine
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.)

sten1ee
@chrispine (or should I say ChrisPi )
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?

chrispine
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!)
Popular In The Spotlight topics










Other popular topics










Latest in In The Spotlight
Latest (all)
Categories:
Popular Portals
- /elixir
- /rust
- /wasm
- /ruby
- /erlang
- /phoenix
- /keyboards
- /js
- /rails
- /python
- /security
- /go
- /swift
- /vim
- /clojure
- /java
- /haskell
- /emacs
- /svelte
- /onivim
- /typescript
- /crystal
- /c-plus-plus
- /tailwind
- /kotlin
- /gleam
- /react
- /flutter
- /elm
- /ocaml
- /vscode
- /opensuse
- /ash
- /centos
- /php
- /deepseek
- /zig
- /scala
- /html
- /debian
- /nixos
- /lisp
- /agda
- /textmate
- /sublime-text
- /react-native
- /kubuntu
- /arch-linux
- /revery
- /ubuntu
- /manjaro
- /spring
- /django
- /diversity
- /lua
- /nodejs
- /c
- /slackware
- /julia
- /neovim