- Paperback: 360 pages
- Publisher: No Starch Press; 1 edition (November 22, 2013)
- Language: English
- ISBN-10: 1593275277
- ISBN-13: 978-1593275273
- Product Dimensions: 7 x 0.9 x 9 inches
- Shipping Weight: 1.5 pounds (View shipping rates and policies)
- Average Customer Review: 14 customer reviews
- Amazon Best Sellers Rank: #761,815 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Ruby Under a Microscope: An Illustrated Guide to Ruby Internals 1st Edition
Use the Amazon App to scan ISBNs and compare prices.
"Children of Blood and Bone"
Tomi Adeyemi conjures a stunning world of dark magic and danger in her West African-inspired fantasy debut. Pre-order today
Frequently bought together
Customers who bought this item also bought
Customers who viewed this item also viewed
About the Author
Well known for his coding expertise and passion for the Ruby programming language, Pat Shaughnessy blogs and writes tutorials at https://patshaughnessy.net/. He also develops Ruby applications at management consulting firm McKinsey & Co. Shaughnessy is a regular presenter on the Ruby conference circuit, and his articles and presentations have been featured in the Ruby Weekly newsletter, the Ruby5 podcast, and The Ruby Show.
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
General lessons are learnable here that apply to lots of languages too.
Me, being a Windows OS guy, I look to major references like Microsoft Press’ “Windows Internals” to understand how things really work – not just at the surface – but why something does what it does. For example, if the distributed processing calls (DPC) result in interrupts consuming the processor, I know I’m usually looking at a driver or hardware problem.
“Ruby – Under a Microscope” is much like “Windows Internals” in that the how and why of Ruby is revealed.
What should be clear from the idea of an in-depth, deep technical details book – this isn’t for the beginner, like Microsoft Press’ “Windows Internals” isn’t for the newbie Windows OS user. If you don’t know what DPCs are and what they do – knowledge of DPCs is pretty much useless. To get the full value from this book, you should already be an experienced Ruby programmer (or have depth in similar languages). What the experienced developer will get from this book is the details that will allow them to extract more power from Ruby, better understanding of why things happen, and how to better use Ruby to solve the really hard problems.
Now that we’re past the “who this book is for” part, there is one more thing to understand before you decide that this is of value to you: Exactly WHICH Ruby are we talking about? Yes, Ruby is available on nearly all platforms. However, this is because some hard working people wanted to make sure that the language was widely available, and these hard working people made it available on platforms other than what the original Ruby was developed for.
So, how do you know which version of Ruby this book is focused on? The book is focused on the Matz (Yukihiro “Matz” Matsumoto) Ruby Interpreter, written in C. Other implementations are discussed, and these are discussed in the context of how others implemented the language that Matz created in 1993.
The book treats Ruby as a science study, much like a scientist would study microbes (“…Under a Microscope”, get it?). Instead of looking at organisms, the book looks at the base elements of Ruby: The actual ‘C’ source code. If you’re a computer science major, this is nothing new. The source code is studied to understand what Ruby does to perform the tasks that you give it. As you go through the book and look at Ruby at the very base elements, you can gain a complete understanding of how computers really work. There is nothing more basic than the process of providing information to a computing machine and seeing how the actual process of creating tokens, parsing of tokens, compiling into an intermediate format, and then passing onto the virtual machine (YARV – Yet Another Ruby Virtual Machine) that interfaces at the machine level. Once the processing is complete, understanding how to receive the output, convert it back into something that the programming language can understand is absolutely vital to knowing why things work. And, probably most importantly, knowing what’s wrong when they don’t work.
This is the real goal of “Ruby: Under a Microscope”. Providing understandable information for the knowledgeable programmer to gain a deep understanding of what Ruby is, what it does, and how it attains the goals that it sets for itself. This opens the door wide open for those that want to add to the language with libraries and extensions – which is the real power of a successful language: Expansion by anyone with a great idea.
The experiments the author carries out throughout the book to show the language's behavior, or to measure performance, are not only great explanation of how things operate, they are entertaining to read - at least for those with a performance tuning eye or a desire to really understand what is going on. I love it, I have seen this done in class, I have done it myself, but it is a teaching model rarely seen in writing that fits this technically deep subject very well.
Fans of lisp will appreciate the credit that the author gives the venerable language for closures and for McCarthy's garbage collection algorithm, among other things.
The book is richly illustrated, and the diagrams help a great deal in following the details being discussed - as you can imagine, pointers^Hreferences are everywhere, and diagrams really make decoding the lay of the land much easier.
A minor negative, looks like No Starch used a lighter paper choice than their regular, thick heavy paper - a fancy attribute of their books that I have come to look forward to. I would expect this was done to limit the heft of this particular tome, that at 330-plus pages would have come out rather thick in the usual paper choice.