Half-a-Book Review: IronRuby in Action
May 18, 2009
Earlier this year, Ivan Porto Carrero did a quite enjoyable presentation on IronRuby for the Dutch ALT.NET user group. I recently picked up the early access edition of his book IronRuby in Action, which was a quite challenging read for me.
I must admit, I'm a complete noob when it comes to the Ruby programming language. I've been very interested in everything it has to offer, but I never learned or used it so far. I'm vastly determined to do something about this, and that's why I read this book.
At the moment of this writing, only five chapters of the book are available. The first chapter provides an overall view of dynamic languages, explaining the differences, advantages and disadvantages of static languages versus dynamic languages. This opening chapter also provides a step-by-step guide of how to get IronRuby up-and-running on your machine as well as an explanation of the importance of unit testing for code written in a dynamic language. This is something that can't be emphasized enough during talks or discussions about dynamic languages, but which is nicely covered by the author.
The second chapter provides a crash course of the Ruby programming language, where the major aspects of the language itself are briefly touched and explained. Although the author tried very hard to explain as much as possible in this single chapter, I felt that I needed to pick up another introductory text on Ruby and that trying things out on a slower pace would be more beneficial for me (remember, I'm a Ruby noob).
The third chapter provides a nice overview of how to host the Dynamic Language Runtime in your own applications. This chapter also provides a quick overview of how the hot technologies du jour (WPF, Silverlight and ASP.NET MVC) can be used with IronRuby. The author even got me interested in WPF for a moment there (don't worry, its over now ;-) ). Take a look at the following WPF code using meta-programming in IronRuby:
# build the window
obj = Wpf.build Window, :title => title, :height => 500,
:width => 826, :name => "Biffy"
do
add DockPanel, :name => "dock_panel" do
add TextBlock, :text => title, :font_size => 36,
:background => :alice_blue,
:dock => :top, :name => "text_block"
add StackPanel, :orientation => :horizontal, :dock => :top,
:name => "stack_panel" do
add TextBox, :text => start_url, :width => 750,
:name => "web_url"
add Button, :content => "Show site",
:name => "get_url_button"
end
add Frame, :source => start_url,
:name => 'web_page_display'
end
end
Look ma, no XAML! Looks good, doesn't it?
Chapter 4 provides a detailed step-by-step implementation of a Twitter client that is built using WPF. Chapter 10 talks about using the Rails framework with IronRuby. First a detailed explanation is given on how to install Rails on your machine, after which another step-by-step implementation is provided for a server side Twitter application.
After I finished reading these chapters, I realized that I need to pick up some more introductory material on Ruby, like the Pickaxe book or the Why's (Poignant) Guide to Ruby. But one thing's for sure, the author has a lot of experience with Ruby and that is reflected throughout this book. I'm already looking forward to read the other upcoming chapters.
If you and your team want to learn more about how to write maintainable unit tests and get the most out of TDD practices, make sure to have look at our trainings and workshops or check out the books section. Feel free to reach out at info. @ principal-it .be
Jan Van Ryswyck
Thank you for visiting my blog. I’m a professional software developer since Y2K. A blogger since Y2K+5. Provider of training and coaching in XP practices. Curator of the Awesome Talks list. Past organizer of the European Virtual ALT.NET meetings. Thinking and learning about all kinds of technologies since forever.
Comments
Writing Maintainable
Unit Tests
Watch The Videos
Latest articles
-
Contract Tests - Parameterised Test Cases
June 28, 2023
-
Contract Tests - Abstract Test Cases
April 12, 2023
-
Contract Tests
February 1, 2023
-
The Testing Quadrant
June 15, 2022
-
Tales Of TDD: The Big Refactoring
February 2, 2022
Tags
- .NET
- ALT.NET
- ASP.NET
- Agile
- Announcement
- Architecture
- Behavior-Driven Development
- C++
- CQRS
- Clojure
- CoffeeScript
- Community
- Concurrent Programming
- Conferences
- Continuous Integration
- Core Skills
- CouchDB
- Database
- Design Patterns
- Domain-Driven Design
- Event Sourcing
- F#
- Fluent Interfaces
- Functional Programming
- Hacking
- Humor
- Java
- JavaScript
- Linux
- Microsoft
- NHibernate
- NoSQL
- Node.js
- Object-Relational Mapping
- Open Source
- Reading
- Ruby
- Software Design
- SourceControl
- Test-Driven Development
- Testing
- Tools
- Visual Studio
- Web
- Windows
Disclaimer
The opinions expressed on this blog are my own personal opinions. These do NOT represent anyone else’s view on the world in any way whatsoever.
About
Thank you for visiting my website. I’m a professional software developer since Y2K. A blogger since Y2K+5. Author of Writing Maintainable Unit Tests. Provider of training and coaching in XP practices. Curator of the Awesome Talks list. Thinking and learning about all kinds of technologies since forever.
Latest articles
Contract Tests - Parameterised Test Cases
Contract Tests - Abstract Test Cases
Contract Tests
The Testing Quadrant
Contact information
(+32) 496 38 00 82
info @ principal-it .be