|New Reviews| |Software Methodologies| |Popular Science| |AI/Machine Learning| |Programming| |Java| |Linux/Open Source| |XML| |Software Tools| |Other| |Web| |Tutorials| |All By Date| |All By Title| |Resources| |About| |
Keywords: Beginning programming, Ruby Title: Learn To Program Author: Chris Pine Publisher: Pragmatic Bookshelf ISBN: 0976694042 Media: Book Level: Beginner Verdict: For the beginning hobbyist this is a great introduction to programming |
The first question confronting anyone wanting to write an introduction to programming is 'which language?'. Despite the logical constructs of programming - variables, looping, conditional execution etc - being largely generic, it's impossible to teach anyone to program without picking on a particular language. There are plenty of programming introductions that use C, Java, Visual Basic, but author Chris Pine has bucked the trend and has opted to go the Ruby route.
Aimed squarely at the 'future programmer', the book assumes no prior programming knowledge or any experience of Ruby. What it does assume is a willingness to learn and a readiness to laugh at the author's jokes, of which there are plenty scattered throughout the length of the text. The banter and the jokes are essential elements of the book, it keeps the tone friendly and the reader engaged (or enraged if the humour doesn't quite chime…).
The opening chapter walks through the installation of Ruby for Windows, Linux and Mac OS X. With that done the rest of the book romps through the core programming syllabus: types, variables, methods, flow control, arrays, iterators, files etc. The emphasis is always on simple examples that maximise learning - so everything's done on the command-line, there's no mention of GUIs, fancy IDEs or Ruby on Rails. While there's some benefit to the hands-on approach, there's also a downside for those learning in a more formal context in that theoretical concepts don't get much of a look-in.
The clean syntax and expressive power of Ruby actually makes it a great language for learning to program. Rather than be bogged down in layers of syntax it's possible to create quick, useful programs very quickly. With nothing more complicated than a text editor to run, there's a fast write, compile, run cycle. All this makes for a pretty good learning experience.
For the would-be hobbyist or home developer this is a great introduction to programming. The book is fast-paced and uses an modern, interesting programming language. For the would-be professional on a formal course it makes for a good complement to something with a bit more theoretical content. However, anyone who can already program and is looking to pick up some Ruby is best advised to go for the Programming Ruby.