InfoQ

News

Exploring IronRuby with a C# Perspective

Posted by Robert Bazinet on Jul 25, 2008 12:44 PM

Community
.NET,
Ruby
Topics
.NET Framework ,
Dynamic Languages
Tags
C# ,
IronRuby

Many developers who know a particular programming language and want to learn a second one, often find it the hardest language to learn but subsequent languages being easier.  Any developer who knows C# and has an interest in learning IronRuby can find a tutorial series on learning IronRuby based on knowledge of C# from CodeThinked.

CodeThinked is a web site run by Justin Etheredge who has set out to show developers how to write Ruby from equal C#.  The tutorial series currently has six parts but is ongoing and readers should continue to look for updates.  The first two parts give the basics of getting IronRuby setup and then running some applications with it and the remaining four parts get into the heart of the tutorials.

Getting IronRuby Up and Running

Getting IronRuby Up and Running gives a good walk-through on how to get the source code from IronRuby.com using SubVersion and proceed to build IronRuby from source using Visual Studio 2008.

Getting IronRuby built and run successfully has some possible issues associated with it and Justin handles all of the scenarios he came up against, explains what they are and how to get around them.

Running Applications in IronRuby

Running Applications in IronRuby gets the developer started with writing Ruby and running under IronRuby.  The tutorial starts off with everyone's favorite "HelloWorld" application and goes right into showing how to use the newly created class from other classes.

HelloWorld applications are always simple but give developers a way to see a running application with the littlest amount of work.   

Learning Ruby via IronRuby and C#

The tutorials start out with foundational information such as what it means to be a dynamic language.  Justin jumps right into comparing various elements of C# that we use everyday such as the class keyword, building classes in C# and showing how they appear in Ruby.  Various aspects of building classes such as getter and setters, different property types as well as class methods.

The tutorials progress into contrasting iterators such as C# foreach and for loops.  There is always more than one way to solve a problem in Ruby and Justin helps point out what is considered the expected way in Ruby.

All four of the core parts of the tutorial are posted now:

Justin is taking a careful and detailed approach to showing developers parallels between C# and Ruby, his tutorials are well-worth reading.  Later installments in this series on Justin's blog, CodeThinked.

No comments

Watch Thread Reply

Educational Content

Bindings, Platforms, and Innovation

This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.

Orchestrating Long Running Activities with JBoss / JBPM

This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.

Neo4j - The Benefits of Graph Databases

This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.

Realistic about Risk: Software development with Real Options

This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.

Communication Flexibility Using Bindings

This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.

Writing DSLs in Groovy

After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.

Scaling Agile with C/ALM (Collaborative Application Lifecycle Management)

IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.

Concurrent Programming with Microsoft F#

Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.