# Eloquent Ruby, Second Edition (PragProg)

**URL:** <https://forum.devtalk.com/t/eloquent-ruby-second-edition-pragprog/220623>\
**Category:** Backend Learning Resources\
**Tags:** published-book, ruby, pragprog, book-eloquent-ruby-second-edition\
**Created:** [29 October 2025 19:21 UTC](https://forum.devtalk.com/t/eloquent-ruby-second-edition-pragprog/220623 "2025-10-29T19:21:19Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![PragmaticBookshelf](https://forum.devtalk.com/user_avatar/forum.devtalk.com/pragmaticbookshelf/32/463_2.png) [@PragmaticBookshelf](https://forum.devtalk.com/u/PragmaticBookshelf)\
**Post date:** [29 October 2025 19:21 UTC](https://forum.devtalk.com/t/eloquent-ruby-second-edition-pragprog/220623/1 "2025-10-29T19:21:19Z")

</div>

Write elegant Ruby code—not just correct, but idiomatic. Go beyond the vocabulary and syntax and learn to express yourself with eloquence.

 ![eruby2-500](https://forum.devtalk.com/uploads/default/original/2X/b/bb53465da273db5ae9259caab4c223fa5957fc46.jpeg)

### Russ Olsen @russolsen

_Edited by Michael Swaine_ @michaelswaine

Write better, clearer, more focused Ruby code by becoming truly fluent in the language. To express yourself eloquently in any language, you need to go beyond its vocabulary and syntax. Ruby is an easy programming language to learn, but to gain the fluency needed to write great Ruby code, you need to break old habits. Start thinking about code the way experienced Ruby programmers do. Grok how they solve problems. Dig below the _what_ to the _why_ of Ruby conventions. Thoroughly updated to reflect modern Ruby usage and with new chapters covering pattern matching and concurrency, _Eloquent Ruby, Second Edition_ will help you take advantage of the power and flexibility of the Ruby programming language.

Writing idiomatic Ruby code is easy: you just have to think like a Ruby programmer. By explaining the conventions and techniques of Ruby programming as well as the thinking behind those conventions and techniques, _Eloquent Ruby, Second Edition_ provides you with the mental framework to create programs that take full advantage of this powerful language.

Dive into the core concepts of Ruby programming by starting small and working through to the bigger ideas. You’ll learn the basics of formatting Ruby code and then move on to constructing methods, classes, modules, and tests. From there, you’ll explore more advanced techniques such as metaprogramming and domain-specific languages. Along the way, you’ll learn to recognize common Ruby pitfalls and how to avoid them. You’ll also discover how to use the code behind popular Ruby gems and Ruby itself as a resource to improve your own code. Completely updated for Ruby 3.4, the book includes new material on recent additions to Ruby such as pattern matching and concurrency.

Whether you’re discovering Ruby for the first time or refreshing your knowledge of a familiar tool, the updated edition of this classic work will level up your ability to write clear, maintainable, and functional Ruby.

* * *

**Russ Olsen** is a software engineer, engineering manager, and compulsive technology explainer. An early adopter of Python, Ruby, and Clojure, Russ has written three technical books: _Eloquent Ruby_, _Design Patterns in Ruby_, and _Getting Clojure_, as well as the science fiction novel _Overdrive_. Russ is also an occasional conference speaker: his _To The Moon_ keynote has brought tears to the eyes of audiences worldwide.

* * *

- Full details: [Eloquent Ruby, Second Edition by Russ Olsen](https://pragprog.com/titles/eruby2/eloquent-ruby-second-edition/)
- View this book’s portal and details on how to post errata and suggestions [here](https://devtalk.com/books/eloquent-ruby-second-edition).

---

<div class="post-metadata">

**Author:** ![AstonJ](https://forum.devtalk.com/user_avatar/forum.devtalk.com/astonj/32/7_2.png) [@AstonJ](https://forum.devtalk.com/u/AstonJ)\
**Post date:** [29 October 2025 20:45 UTC](https://forum.devtalk.com/t/eloquent-ruby-second-edition-pragprog/220623/2 "2025-10-29T20:45:24Z")

</div>

It’s really good to see a second edition of one of my favourite Ruby books of all time! This is what I said about it (and Russ’s other book, Design Patterns in Ruby) in my Best Way to Learn Ruby & Rails blog post:

> ### Step 6 – Design Patterns in Ruby
> 
> Don’t be fooled by the age of this book – it’s still very relevant today, and absolutely without doubt, one of my all time favourites!
> 
> It’s all well and good knowing the fundamentals of a language (which you just learned from The Well Grounded Rubyist) but like any tool, it’s what you do with it that counts – and that’s where this book excels. It shows you how you might use Ruby in different situations.
> 
> Russ Olsen is clearly an eloquent writer, with a wealth of knowledge that he happily imparts in this easy to digest, amicably toned book. Another **essential** purchase.
> 
> ### Step 7 – Eloquent Ruby
> 
> Remember I said Russ Olsen was an eloquent writer? Fitting then, that he’s written Eloquent Ruby too!
> 
> When I read this book I highlighted so much of it on my Kindle that in the end, I thought forget that, I might as well read the book again later! There’s just so much in this book that you’ll find useful, interesting and noteworthy.
> 
> Eloquent Ruby teaches you how to use Ruby, well. Good clean idiomatic Ruby that you can be proud of. Apart from being a gifted writer, Russ is also an all round nice guy – and that warmth and friendliness shines through in his books – making them a very enjoyable read. Another **essential** purchase.

Needless to say I highly recommend this book and it won’t surprise you to learn @russolsen is one of my favourite tech authors :003:

_I keep nagging him to write an Elixir book! Maybe one day, eh Russ? :-p_

---

<div class="post-metadata">

**Author:** ![jkdiaz](https://forum.devtalk.com/letter_avatar_proxy/v4/letter/j/dbc845/32.png) [@jkdiaz](https://forum.devtalk.com/u/jkdiaz)\
**Post date:** [30 October 2025 04:07 UTC](https://forum.devtalk.com/t/eloquent-ruby-second-edition-pragprog/220623/3 "2025-10-30T04:07:55Z")

</div>

Where are steps 1-5? 🙂

---

<div class="post-metadata">

**Author:** ![alvinkatojr](https://forum.devtalk.com/user_avatar/forum.devtalk.com/alvinkatojr/32/6613_2.png) [@alvinkatojr](https://forum.devtalk.com/u/alvinkatojr)\
**Post date:** [30 October 2025 15:30 UTC](https://forum.devtalk.com/t/eloquent-ruby-second-edition-pragprog/220623/4 "2025-10-30T15:30:53Z")

</div>

Oh wow! I didn’t expect this to be a Pragmatic book. It seems Addison-Wesley has been dropping the ball on the entire Ruby series of books. But hey I’m glad it’s on Pragmatic.

I still have the 1st Edition that I bought in 2014. Good book! Also, I second you @AstonJ, Design Patterns in Ruby is a good book! 🙂

---

<div class="post-metadata">

**Author:** ![AstonJ](https://forum.devtalk.com/user_avatar/forum.devtalk.com/astonj/32/7_2.png) [@AstonJ](https://forum.devtalk.com/u/AstonJ)\
**Post date:** [3 November 2025 01:08 UTC](https://forum.devtalk.com/t/eloquent-ruby-second-edition-pragprog/220623/5 "2025-11-03T01:08:39Z")

</div>

> [@jkdiaz](#):
>
> Where are steps 1-5? 🙂

Here ya go Jake: [Best way to learn Ruby & Rails – (via @AstonJ)](https://astonj.com/best-way-to-learn-ruby-rails/) :icon_biggrin:

> [@alvinkatojr](#):
>
> I second you @AstonJ, Design Patterns in Ruby is a good book! 🙂

I loved it! Russ is an all round amazing guy too, I nearly fainted when he followed me on Twitter all those years ago! :049:

---

<div class="post-metadata">

**Author:** ![alvinkatojr](https://forum.devtalk.com/user_avatar/forum.devtalk.com/alvinkatojr/32/6613_2.png) [@alvinkatojr](https://forum.devtalk.com/u/alvinkatojr)\
**Post date:** [4 November 2025 05:12 UTC](https://forum.devtalk.com/t/eloquent-ruby-second-edition-pragprog/220623/6 "2025-11-04T05:12:24Z")

</div>

> [@AstonJ](#):
>
> I loved it! Russ is an all round amazing guy too, I nearly fainted when he followed me on Twitter all those years ago! :049:

Hahaha, I can relate. 5 years ago, the Late Noah Gibbs(Rebuilding Rails) became my buddy. He even reviewed my CV for me when I asked, and a short while later, I landed a job(non-Ruby). It’s amazing what happens when the people you read and see actually step in and do human like things 🙂

---

<div class="post-metadata">

**Author:** ![russolsen](https://forum.devtalk.com/user_avatar/forum.devtalk.com/russolsen/32/808_2.png) [@russolsen](https://forum.devtalk.com/u/russolsen)\
**Post date:** [6 November 2025 16:05 UTC](https://forum.devtalk.com/t/eloquent-ruby-second-edition-pragprog/220623/7 "2025-11-06T16:05:45Z")

</div>

Olsen’s 6th law is that books are more work than you think, even when you take all of Olsen’s laws into account.

As I find myself saying to you every so often, thanks for the kind words.

---

<div class="post-metadata">

**Author:** ![andrea](https://forum.devtalk.com/user_avatar/forum.devtalk.com/andrea/32/6677_2.png) [@andrea](https://forum.devtalk.com/u/andrea)\
**Post date:** [8 November 2025 01:24 UTC](https://forum.devtalk.com/t/eloquent-ruby-second-edition-pragprog/220623/8 "2025-11-08T01:24:07Z")

</div>

I started with Ruby many many years ago, but never got a chance to use it and ended up with C#.

---

<div class="post-metadata">

**Author:** ![arif](https://forum.devtalk.com/user_avatar/forum.devtalk.com/arif/32/8136_2.png) [@arif](https://forum.devtalk.com/u/arif)\
**Post date:** [27 July 2026 08:57 UTC](https://forum.devtalk.com/t/eloquent-ruby-second-edition-pragprog/220623/9 "2026-07-27T08:57:31Z")

</div>

> [@AstonJ](#):
>
> _I keep nagging him to write an Elixir book! Maybe one day, eh Russ? :-p_

Haha, love this idea 😄

I also read the first edition of _Eloquent Ruby_. It’s a really well-written book. I have _Getting Clojure_ on my shelf too, though I don’t know when I’ll be able to read it and actually practice Clojure.
