History

CVS Users only exists accidentally. I wanted to explore GTK and Gnome and see what they offer and whether the API is nice. At that very moment I was quite pissed that I had no editor for CVS pserver passwd files and had to copy-paste them from "regular" UN*X passwd files. So this thing here was born. It has a trivial data model so I could fully concentrate on the GUI.

As I definitely had left C behind and was also very annoyed by C++, I was looking for another language to have a look at. It was probably a very experimental moment and so I also looked at the programming language Ruby then (I read an article in the german magazine c't) and found that there are Ruby bindings for GTK and Gnome, so I also had a look at Ruby.

Consequently, this program is written in Ruby using GTK and Gnome libs and depends on all that, see the list of required software.

What I Think About Ruby and GTK

GTK looks great, Gnome is my desktop. Unfortunately, they chose C as the native language. C sucks. C sucks big. GTK has a lot of nice features. But the API is awful and the documentation is annoying. Everything feels like it still needs quite some time to evolve and mature. And probably even then you do not want to write programs for it but rather use the Gnome desktop and enjoy its look.

Ruby is a nice toy language. It has features I really like and miss a lot in other inferior languages. Unfortunately, Ruby has zero tool support. Try to package something to ship, look for an IDE, look for anything. The best you can get is a syntax highlight mode for some editor. So, nice toy language. Probably my favorite scripting language from now on.

Finally, glade, the so called interface designer, is simply a pain. It is very nice to explore some gadgets' flags and layout parameters, but nothing else. Just another toy.

As these findings are not really encouraging, maybe I will implement the program yet another time using Java, to see what it is like using an inferior language that has superior tool support.