Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
The Ruby way : solutions and techniques in Ruby programming (3rd ed.)
Fulton H., Addison-Wesley Professional, Upper Saddle River, NJ, 2015. 888 pp. Type: Book (978-0-321714-63-3)
Date Reviewed: Jul 14 2015

This book on Ruby 2.1 covers both basic and advanced topics. The goal of the book is to present in one volume all the major features of Ruby so that interested readers will be able to find what they are looking for with respect to the details of its usage. The book has numerous code segments, almost all of which are available on the book’s website (http://www.rubyhacker.com/inprogress.html).

The book is divided into 22 chapters. From the detailed table of contents, it is easy to see that the book could be grouped into four parts: Part 1 (chapters 1 to 7) deals with language basics; Part 2 (chapters 8 to 11) deals with advanced concepts in programming; Part 3 (chapters 12 to 18) is on special features; and Part 4 (chapters 19 to 22) deals with tools.

Following an introductory chapter, chapter 2 provides extensive coverage on how to deal with strings. In chapter 3, the author makes a special effort to point out how small variations are available in Ruby. One such example is the use of dot with the “m” option. There are several such multi-use characters available throughout Ruby, and Fulton explains all of them with examples to illustrate their use. Chapter 4 covers internationalization in Ruby. Here, Fulton traces the history of various encoding schemes such as ASCII and the need to have a much larger character set representation given that computer technology is used around the world. He points out that by default Ruby uses Unicode+8 denoted as UTF-8. Chapters 5 and 6 are next: “Performing Numerical Calculations” and “Symbols and Ranges.” Chapter 7 deals with handling time and date; extensive samples are provided.

One of the important constructs in a programming language is the array. Like many other languages, arrays in Ruby start with the index zero. Several examples dealing with arrays and array handling are given in Part 2 (chapter 8). The author points out the benefit of handling stacks as a special form of an array in chapter 9, where the tower of Hanoi problem is discussed.

Chapter 12 (in Part 3) discusses some simple graphical user interface (GUI) applications using Ruby. Examples of using Ruby in drawing applications are also shown with several code fragments. This part ends with an entire chapter (18) devoted to network programming with Ruby. Several uses of Ruby for network programming are shown along with examples.

Chapter 19, which is devoted to web applications, covers the Sinatra gem. It also deals with examples of usage with Rails. The author concludes the book with a brief chapter (22) on the resources available to the Ruby programmer.

The book has a very extensive collection of terms in the index that will make it easy for readers to locate specific content. The author points out multiple times how this book is meant to be read: each individual reader can pick and choose what he or she needs. Thus, the index will be of great help. This book is a great addition to show how Ruby is used in practice.

More reviews about this item: Amazon

Reviewer:  S. Srinivasan Review #: CR143606 (1509-0755)
Bookmark and Share
  Reviewer Selected
 
 
Ruby (D.3.2 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Ruby": Date
Distributed programming with Ruby
Bates M., Addison-Wesley Professional, Upper Saddle River, NJ, 2010.  272, Type: Book (978-0-321638-36-6)
Feb 8 2010
Beginning Ruby: from novice to professional
Cooper P., Apress, Berkeley, CA, 2009.  656, Type: Book (9781430223634)
Mar 2 2010
Eloquent Ruby
Olsen R., Addison-Wesley Professional, Upper Saddle River, NJ, 2011.  448, Type: Book (978-0-321584-10-6)
Dec 14 2011
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy