we get signal

2008-01-19

New darlings? Ruby 1.9.0, Scala, Git

(tags programming, Ruby, Scala, version control, Git)

Here's some software related things bumping around in my mind.

Ruby programming language logo

Well the programming language Ruby 1.9.0 was released last month to much back-slapping. I've been sitting on this topic for the last few weeks, and not evidently learning very much, even though there was an native language interview between the two important developers on this release, Yukihiro Matsumoto, the original Ruby designer and Koichi Sasada, the sole person responsible for the 1.9 virtual machine. I originally referenced the Ruby Inside article "Ruby 1.9 Is Released", which had a link to a great side-by-side version testing post by Dave Thomas, but the InfoQ article "Ruby 1.9 - When Will It be Production Ready" gives a great overview after a few weeks of reaction. In short, it's not production ready now. :-( Yes I know that wasn't the point of the release.


I understand that the new virtual machine in Ruby 1.9.0 gives some better performance, but it sounds like NIH syndrome. What about Java's JVM, which has better multiprocessor and multithread support? Not that I know how to use it, but when I do, I'm sure glad that JRuby will be around to support it. Then again I haven't needed those things but I'm not writing those big trusty (web) apps. Okay okay, JVM is a whole other can of worms, and Matsumoto et al is good to stick to the platforms that he knows the best.

The part of programming blogosphere that fawned on Ruby on Rails and alternative programming languages is now casting a bright light on Scala, a programming language built on top of the JVM. I don't know anything about it and I haven't read anything yet that makes me want to use it. There is the theory that the programming bloggers making money and recognition off of books and teaching seminars continually look for the next language, decrying that you are missing the silver bullet (of the moment) if you don't pay attention. Personally I'm all for the invention of new tools, but I hate learning syntax all over again. DWIM, now. At least there are reviewers with loud blogs to read... yeah, I know I should evaluate it for myself.

Git logo for the Windows port git on Msys

Lately, I've been researching Git, the distributed source control management software invented by Linus Torvalds who is also the person who created the kernel Linux. (Does he really need my introduction?) It's been out for more than two years and is very stable because tens of thousands of users have been pounding on it every day. However only recently the Windows port that I want to use, git on msys, has been coming along really nice. Wow, the graphical explorer apps gitk and git gui now just works. I am still a Subversion and TortoiseSVN junkie, even introducing it at my work for the past 3 years because anything is better than zip files with dates on them. Ugh. Although one part of me cheers that many open source projects now are using Subversion instead of archaic CVS, another part wants them to skip to Git. Come on, everybody's doing it. Well it's not a black and white issue though, you can combine CVS with git, or Subversion with git, for example Git for SBCL Hackers (usually using CVS) by my Common Lisp source, Bill Clementson.

I don't think I can foist Git onto work at the moment. The Windows platform is really a second-class citizen from the Git developers perspective, and it shows when core operations break or refuse to function. Well it doesn't lose data, just that checkouts don't work, etc. I also test on a Linux OS-based VM, so I know true for various values of true. I've figured out how to expose a git repository via the web using Apache and WebDAV on Windows, which is my perferred way of publishing. I'm making a short checklist and questions that I want answered, and so far the evaluation is not very satisfactory. But I enjoy the concept of distributed, offline version control.

In fact git is just another straw on my camel-fied back that makes me question my Windows dependence. If I continue to play my game consoles, my primary reason for maintaining my home Windows machines is reduced. Recently I was disappointed that the version of Asus Eee notebook PC coming to Japan will have Windows XP Home installed, instead of a Debian-like Linux distribution. And my drool for the Macbook Air reminds me about how OSX is turning into a great programming development environment. Why should I continue to deal with Windows idiosyncracies? Oh okay, work is forcing me to use it and I like PC gaming (on occasion).

All this cursory exploration is putting me off of my goal of learning Common Lisp. Ugh.

edit: added some pictures, some links

Labels: , , , ,