Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Beginning Ruby : from novice to professional (3rd ed.)
Cooper P., Apress, New York, NY, 2016. 585 pp. Type: Book (978-1-484212-79-0)
Date Reviewed: Dec 16 2016

Although this book was written with the intent to be a comprehensive introduction to the Ruby language, it is not a textbook because it lacks exercises and questions aimed to test knowledge and concepts. Instead, the book is written by Ruby professionals and targets professional programmers. Less popular than C/C++ or Java, Ruby is a newer programming language that is fully capable of creating professional large and complex programming projects. On the other hand, it is still not completely mature since several of its libraries are still not 64-bit compatible. Conceptually, Ruby has many fathers including C/C++, Smalltalk, Lisp, and some others, and as such is often described as a language that utilizes a mixture of styles, syntax, and concepts borrowed from these languages. In this sense, the book gives a well-structured introduction to Ruby from the ground up, starting from installation through main building blocks and advanced features, without assuming any prior programming knowledge and skills. As was said previously, the book is not a textbook, so each chapter ends with a summary. The summaries can be very useful to readers with particular experience in programming who want to skip any part(s) of the text they are already familiar with and spend more time on part(s) they may not know.

The book is structured in three sections. The first one (chapters 1 to 5) serves not only as a basic introduction to Ruby, but also provides guidance on how to convert ideas into Ruby code in terms of the object-oriented philosophy of the language. It also provides information about the Ruby ecosystem, which also includes Ruby on Rails that is used for web development. In this part, the most interesting chapter is 4, which outlines step by step the whole process of developing a basic Ruby application.

The second section (chapters 6 to 12) deals with the core of Ruby from the point of view of the programmer. This is the most practical part of the book for novice Ruby programmers because it covers all elements and addresses all questions that a programmer may have. For example, the chapter about classes, models, and objects is followed by an extensive chapter on documentation, error handling, and debugging. The topic then moves toward other practical issues a programmer sees like I/O and databases. More modern and advanced libraries like Rescue are not covered. I must say that chapters 10, 11, and 12 stray slightly away from the other chapters in Section 2 because they cover advanced Ruby features such as parallel programming paradigms, threads, and the development process of large applications. Even though it is useful, the threads part of the book is a bit brief; interested users may need to look for other manuals and tutorials available online [1].

The idea to place discussion documentation, error handling, debugging, and testing as a separate chapter (chapter 8) just after the description of the Ruby core (chapters 6 and 7) increases the value of the book because it mimics the typical path in learning a new language that most programmers follow. Another plus is the significant space devoted to discussions about files and common databases in the context of Ruby as a prelude to discussion of distributing Ruby code and databases.

The significant value of the book is in the discussions about development of Ruby applications for the web. Section 3 (chapters 13 to 16) provides a discussion of Rails and Sinatra along with practically oriented sections about Ruby for the web, mail, and FTP. Chapter 15 covers networking concepts. This chapter will be useful to Ruby programmers, as well as those who need an introduction to networking concepts. The real gem in the book, however, is chapter 16, which covers 17 useful Ruby libraries. For the professional programmer, this chapter could be very valuable because the author provides (for each library) installation instructions, a few examples, and further information including web pages and documentation.

The book concludes with two appendices. Appendix A, which serves as a primer and short review of Ruby for developers, summarizes the main content of the book. Appendix B provides useful resources like tutorials, guidelines, and references. The text provides an excellent introduction to Ruby, and also has value as a reference source for Ruby developers at various levels.

More reviews about this item: Amazon

Reviewer:  Alexander Tzanov Review #: CR144971 (1703-0166)
1) Quran, E. Ruby concurrency and parallelism: a practical tutorial. Toptal, https://www.toptal.com/ruby/ruby-concurrency-and-parallelism-a-practical-primer (12/12/2016).
Bookmark and Share
  Featured Reviewer  
 
General (D.1.0 )
 
 
Reference (A.2 )
 
Would you recommend this review?
yes
no
Other reviews under "General": Date
Problems in programming
Vitek A., Tvrdy I., Reinhardt R., Mohar B. (ed), Martinec M., Dolenc T., Batagelj V. (ed), John Wiley & Sons, Inc., New York, NY, 1991. Type: Book (9780471930174)
Aug 1 1992
KNOs: KNowledge acquisition, dissemination, and manipulation Objects
Tsichritzis D., Fiume E., Gibbs S., Nierstrasz O. ACM Transactions on Information Systems 5(1): 96-112, 1987. Type: Article
Nov 1 1987
Programmer perceptions of productivity and programming tools
Hanson S. (ed), Rosinski R. Communications of the ACM 28(2): 180-189, 1985. Type: Article
Jul 1 1985
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