I make a living as a System Architect and Software Developer using ASP.NET and C#. It’s what I know and works reasonably well.
I set out a few months ago to learn a new programming language that was not based on Microsoft technology. I have nothing against Microsoft, just wanted to learn something that would run on multi-platform and was likely a dynamic language.
I have never written any software using PHP, Python, Perl or Ruby and figured one of these languages would be the one I chose. I decided Ruby was the language just because it was different and had a cult following. The language had many of the features that the current version of C# was missing, it was simple and cheap to use. Ruby also has momentum, visible in the blogshere by the number of people talking about it, the number of new books coming out about it and the number of books being sold and here. These are totally nontechnical reasons but reasons just the same.
I do like Ruby and have Rails alongside has been a nice compliment but I have wondered lately if this was a choice based too much on emotion instead of on the merits of the language. I simply began wondering how the other camps lived, with Python and the increasing popularity of Django, the Rails-like framework for Python.
It seems I am not the only one wondering and learning.
- Tim Bray wrote On Ruby, his reasons behind getting into Ruby and the comparison with Python, Java and C.
- Jeremy Zawodny contemplates the Python vs. Ruby decision too. Check out the comments from his post, very interesting discussion from those who already made the decision.
- Scott Johnson joins in on the fun too.
I don’t think you can make a bad choice between Python and Ruby, it is really a matter of personal taste. I think both languages are elegant and have some great features.
Microsoft has backed Python in IronPython which shows their support for dynamic languages. John Lam has created a very nice Ruby to CLR bridge called RubyCLR which can be downloaded from RubyForge. Ruby in Steel is another project putting Ruby in the CLR using Visual Studio. They have a nice tutorial up and some sample code.
I believe I made the right choice with Ruby.