Learn to Program: Using Ruby 2nd edition

Author: Chris Pine
Publisher: Pragmatic Bookshelf, 2009
Pages: 200
ISBN: 978-1934356364
Aimed at: Absolute beginners in programming
Rating: 4
Pros: Written in a lively and motivating style
Cons: Choice of topics and their order of appearance
Reviewed by: Mike James

This is an interesting book and a possible answer to the question of what language should be used to introduce a complete beginner to programming.

Obviously an interpreted language is a big advantage in teaching because of the immediacy of cause and effect, i.e. what you type and what happens. In this case the author has decided to use Ruby as a first language and this is not without some problems.

Ruby, despite its popularity isn't as in as widespread use as say Java or any of what you might call the "traditional" languages. It also has an arguably "different" approach to many standard things such as objects, functional programming and control structures. Indeed it is the "difference" that makes Ruby such an attractive language. However this could be a real problem for a beginner who learns to program and ends up thinking that the entire programming world is like Ruby. The poor fool will soon be woken up to the realities of strong typing and early binding!

In this case the author does a good job of steering clear of Ruby's "eccentricities" while explaining the basics - what a variable is, the flow of control, loops and conditionals and so on - in a calm and clear style.

However, things start to get a little more idiosyncratic as the book progress. After loops and conditionals we have array objects and iterators. Iterators form a completely different way of writing enumerations and perhaps they are not the best thing to introduce to a beginner straight after loops. Then we hit Chapter 10 and for some reason the author seems to think that the next most important thing for a beginner to understand is recursion. There are lots of very experienced programmers who will admit that they are still (quite reasonably) unhappy about recursion and view it as a technique to be used occasionally and with caution. Why burden a complete beginner with something so sophisticated difficult and dangerous?

The final part of the book returns to how Ruby implements objects and how to create your own and finishes with lots of listings showing how to complete the exercises. Each solution is presented twice - how you would do it and how the author would do it - why? The author's solutions are just more advanced and without explanation they simply intimidate or serve to demonstrate how clever the author is.

It is important to realise that this book is aimed at the complete beginner - someone who has no idea how to even write a "Hello World" type program. As such it succeeds in "jollying" the reader along with bright and lively discussion and there are a lot of good analogies used, but it could do a lot better with its choice of topics and their order of presentation. It has succeeded with "how to tell it" but fails on "what to tell".

<ASIN:1598635182>

<ASIN:1438233434>

Banner


Microsoft SQL Server 2012 Performance Tuning Cookbook

Author: Ritesh Shah and Bihag Thaker
Publisher: Packt Publishing
Pages: 478
ISBN: 978-1849685740
Audience: DBAs and SQL Developers
Rating: 2.5 or 4.0 (depending on your tolerance of bad grammar)
Reviewer: Ian Stirk

This book contains 80 recipes to help you tune SQL Server 2012 and achieve optimal perform [ ... ]



Pro Access 2010 Development

Author:Mark Collins
Publisher: Apress, 2011
Pages: 580
ISBN: 978-1430235781
Aimed at: Novice database designers rather than programmers
Rating: 3
Pros: Shows how to develop an application in Access 2010
Cons: Too specific in its examples,lacks explanations.
Reviewed by: Kay Ewbank

Shows how to build a compl [ ... ]


More Reviews

 

Last Updated ( Saturday, 10 April 2010 )
 
 

   
RSS feed of book reviews only
I Programmer Book Reviews
RSS feed of all content
I Programmer Book Reviews
Copyright © 2014 i-programmer.info. All Rights Reserved.
Joomla! is Free Software released under the GNU/GPL License.