Despite the absolutely ideal weather this past weekend*, I spent a small chunk of time beginning to learn Ruby. The programming language itself seems fun and friendly; it's billed as a conceptual hybrid of Perl and Python with the object-oriented nature of something like Java. There are a few reasons why I'd like to learn the language:
- Learning new programming languages enhances understanding of the others. My Perl and Python can always be improved.
- I've seen a few bioinformatics-related job postings lately which specifically mention the desirability of Ruby experience. They're usually talking about Ruby on Rails and its use in web development.
- It's either that or go back to learning Haskell. As far as learning a new language goes, most programmers seem to take Ruby seriously, at least.
I do have a few concerns.
- Is Ruby (or Rails) becoming obsolete? There's clearly room for a great diversity of frameworks in the scope of web application development. I'm also not qualified to answer such a question. Programming is just one of those areas where a newly-learned language or skill can quickly become a dusty relic. Every framework might as well be Esperanto in the long run: they all have their strengths, even if the only strength is facilitating communication between the right people.
- Will I ever really need to know Ruby (or Rails)? This question is even more difficult to answer, but I'll give it a try: "probably not." There will always be someone with better code than mine and it may even be in a different language or even an entirely different framework (for all I know, even scientific applications will be most frequently run in a mobile OS in a decade from now).
*Here's a shot of the grounds at the University of Virginia.