Are you a tester who spends more time manually creating complex test data than using it? A business analyst who seemingly went to college all those years so you can spend your days copying data from reports into spreadsheets? A programmer who can't finish each day's task without having to scan through version control system output, looking for the file you want? If so, you're wasting that computer on your desk. Offload the drudgery to where it belongs, and free yourself to do what you should be thinking. All you need is a scripting language (free!), this book (cheap!), and the dedication to work through the examples and exercises. Everyday Scripting with Ruby is divided into four parts. In the first, you'll learn the basics of the Ruby scripting language. In the second, you'll see how to create scripts in a steady, controlled way using test-driven design. The third part is about finding, understanding, and using the work of others--and about preparing your scripts for others to use. The fourth part, more advanced, is about saving even more time by using application frameworks.
Brian Marick first learned to program in 1976, using the Tutor language. He has since done real programming in C, Common Lisp, Java, Ruby, Clojure, Elixir, and Elm. Much of his career, though, has been spent consulting, first on software testing, then–after he lucked into being one of the authors of the Manifesto for Agile Software Development–on testing and programming on Agile teams. He's written four books, three of which you can still buy: The Craft of Software Testing (horribly out of date), Everyday Scripting with Ruby, and Functional Programming for the Object-Oriented Programmer (almost entirely about dynamically-typed functional languages). He's currently trying to make a modest living writing webapps for schools of veterinary medicine, deliberately using advanced languages and techniques so that he has real-world examples to use in books, training, and consulting.
As I write my review, this book is 15 years old. Which is a very long time in computer language years. But I think this is still a completely useful way to get up to speed on Ruby. I love how it jumps right into useful stuff with file and directory manipulation. I'm also really impressed with the way that Marick managed to organize the book into chapters that not only built on each other, but introduced the features you're less likely to need on a frequent basis (like writing your own modules) at the end.
Highly recommend for any beginner to programming or anyone just wanting to get up to speed on Ruby quickly (or a refresher). Don't worry about idiomatic Ruby usage or the content being up-to-date. You can pick that stuff up as you get more experience with the language.
Edit: Actually, you know what? I'm gonna bump this up to 5 stars because I do recommend this book to people and what else might you expect from a beginner's tutorial?
This book proved to be a good primer to the Ruby language and solidified some of the concepts I had been reading on. As I am working in this language daily now it is easier to put the knowledge into practice. Hopefully with time I will be able to move away from looking up what I feel are simpler concepts like file handling and only need it for classes outside of the core.
The book used irb a lot to show concepts which I have started to do myself to learn about some of the other gems that I would like to use in my own programming. This has reduced the number of small files that I write just to try something out, like I have done in the past with Java, C#, and even Ruby.
I will likely be using this book as a way to help others in my group learn Ruby at a more even pace. It helps that many of the projects shown are things that we will need in our group.
This book was kind of disappointing to me. The "learn something per page" was very low (I've done a reasonable amount of Ruby programming but mainly in the Rails framework). I also think the author was a little heavy-handed in plugging his own framework. I'm a huge fan of the Pragmatic Programming series and this was the first "weak" book I've read in them. Still, it isn't a bad book, I'd just go elsewhere first.
This is simply a fantastic book for anyone who wants to learn how to use Ruby for "scripting" purposes. I highly recommend it for all testers, systems administrators, and anyone who like to automate technical tasks.
Also, this is a good book for programmers who want to "hit the ground running" with Ruby.
Great book, written for the context of the everyday layman, not the computer scientist. Brian does a very good job with explaining concepts in a basic, simple way that will let most people accept them readily and put them to use. One of my favorite book to get non-coders up to speed with scripting.