Learn Ruby the easy way
A few years back while on a conference panel discussion, a panel member (Stu Halloway, if my memory serves me) in response to a question regarding how to quickly learn new APIs suggested writing unit tests. That is, the suggestion was to test the new framework, library, language as a means for learning how to use it.
I recently found myself participating directly in this excellent suggestion in an attempt to become more fluent in Ruby. The good folks at EdgeCase have put together an extensive suite of tests (274, in fact) at rubykoans.com where the expressed goal is
to learn the Ruby language, syntax, structure, and some common functions and libraries
I’ve found this project intensely helpful — while I’ve coded in Ruby before, I’m by far not conversant enough to stand on my own without some sort of reference — nevertheless, working through the various test cases has increased my awareness of Ruby’s linguistic features as well as increased my overall Ruby confidence.
I highly recommend to anyone wishing to learn Ruby that they check out rubykoans.com; what’s more, I hope to see this style of “learning framework” employed more often regardless of underlying language, platform, or framework. Thanks, EdgeCase!
About Andrew Glover
Andrew is the founder of the easyb BDD framework and the co-author of Addison Wesley's "Continuous Integration", Manning's "Groovy in Action" and "Java Testing Patterns". He is an author for multiple online publications including IBM's developerWorks and Oreilly's ONJava and ONLamp portals. He actively blogs about software at thediscoblog.com.
More About Andrew »Why Attend the NFJS Tour?
- » Cutting-Edge Technologies
- » Agile Practices
- » Peer Exchange
Current Topics:
- Languages on the JVM: Scala, Groovy, Clojure
- Enterprise Java
- Core Java, Java 7
- Agility
- Testing: Geb, Spock, Easyb
- REST
- NoSQL: MongoDB, Cassandra
- Hadoop
- Spring 3
- Automation Tools: Git, Hudson, Sonar
- HTML5, Ajax, jQuery, Usability
- Mobile Applications - iPhone and Android
- More...
NFJS, the Magazine
May Issue Now AvailableClient-Side MVC with Spine.js, Part 1
by Craig WallsOn Prototypal Inheritance, Part 2
by Raju GandhiMaking use of Scala Lazy Collections
by Venkat SubramaniamIntegration Testing Web Applications Using Gradle
by Kenneth Kousen


