InfoQ

Minibook

Mr. Neighborly's Humble Little Ruby Book

Posted by Jeremy McAnally on Jan 28, 2007 05:26 PM

Community
Ruby
Topics
Dynamic Languages,
Programming
Tags
Language Features


Ruby has taken the programming world by storm.  With the slow decline of Java and the catalyst of Rails, it has risen to become one of the most popular programming languages, rising to #10 on the TIOBE index and winning their "Programming Language of the Year" award.

Mr. Neighborly's Humble Little Ruby Book is a book about this fine language, but it is not a language book per se.  It is perhaps best described as a mix between your favorite novel, your favorite Spanish textbook, and a Richard Simmons exercise video: it walks you through the very basics of working with Ruby, but by the end of it, you'll no doubt be
sweatin' it to the oldies.   It covers the base syntax of the language, including working with values, flow control, and object oriented programming, into some of the library functionality of Ruby, such as databases, web services, and string manipulation.

Expect this book to rock your world.  Or at least teach you a programming language.

144 pages, 6"x9"

Free download, buy the print version for $9.95

If you enjoyed reading the free downloadable version, please support the author as well as future InfoQ books by purchasing the print copy for only $9.95, or: Login to download this book FREE (PDF)

Table of contents


1 Welcome to Ruby
Basic Concepts of Ruby
Types in Ruby
Collections
Variables and the Like

2 Break it down now!
Methods
Blocks and Proc Objects
Modules
Files

3 Hustle and flow (control)
Conditionals
Loops
Exceptions

4 The System Beneath
Filesystem Interaction
Threads and Forks and Processes
Environment variables, command line
Win32 and Beyond

5 Looking Beyond Home
Networking and the Web
It's Like Distributed or Something...
Data my base, please!

6 It's a Library!
String Manipulation
Date/Time
Hashing and Cryptography
Unit testing

Appendix A Links and the Like
Appendix B High Performance Ruby with C/C++

Author Bio


Jeremy McAnally is a husband, developer, author, college student, and aspiring panda trainer who resides in Knoxville, TN with his wife.  He enjoys working with Rails, Ruby, and Indian food.  He recently penned this book and currently working on another book with Manning Publications titled Ruby in Practice.  You can find him at http://www.jeremymcanally.com/, which links to his projects and blogs.

Exclusive Content

Concurrency: Past and Present

Brian Goetz discusses the difficulties of creating multithreaded programs correctly, incorrect synchronization, race conditions, deadlock, STM, concurrency, alternatives to threads, Erlang, Scala.

ActionScript 3 for Java Programmers

Often the hardest part of changing technologies is language syntax differences. This new article provides Java developers with a transition guide to Actionscript which forms the foundation of Flex.

Neal Ford On Programming Languages and Platforms

Neal Ford talks about having multiple languages running on one of the two major platforms: Java and .NET. He also presents the advantages offered by Ruby compared to static languages like Java or C#.

Future Directions for Agile

David Anderson talks about the history of Agile, the current status of it and his vision for the future. The role of Agile consists in finding ways to implement its principles.

Nick Sieger on JRuby

Nick Sieger talks about the future of JRuby, Java Integration, and his work on JEE deployment tools for Ruby on Rails like Warbler.

Rustan Leino and Mike Barnett on Spec#

Rustan Leino and Mike Barnett of Microsoft Research discuss the technology in Spec# and its futures.

10 Ways to Screw Up with Scrum and XP

Henrik Kniberg talks about 10 possible reasons to fail while doing Scrum and XP. Maybe the team does not have a definition of what Done means to them, or they don't know what their velocity is.

Tips from a Top Sports Team Coach

This article outlines 9 principles Marc Lammers discovered while building the world’s best field hockey team, mapping them to software development practices.