« Back to home

Go: Preliminary verdict

So, how do I feel about Go, now that I know it better? The good On the whole, I like it. Some high points: It’s reasonably terse, and there’s not much syntax to remember. Like Ruby, you can do a lot in not much code, and unlike (say) Java there isn’t really a big need for an IDE. It inherits from Modula-2 a focus on compile-time efficiency. No header files, a compact grammar, and rigid dependency declaration make for rapid compilation times.…

Read more »

Multi-line comments considered harmful

Recently on the ruby-core mailing list, someone asked why Ruby doesn’t have multi-line comments. I did a few searches, and didn’t find much discussion of the evils of multi-line comments. I thought it was common knowledge that they were a bad thing and a historical mistake made by Kernighan and Ritchie, but apparently not. So, here’s my opinion on the matter. Superficially, multi-line comments seem like a handy thing to have, especially if you often comment out blocks of code temporarily during development.…

Read more »

Negotiating the IBM DB2 version maze

Suppose you want to install a DB2 server, and connect to it from some client software. If you browse the IBM DB2 Software pages, you’ll soon find that there’s a bewildering array of products with confusingly similar names. For example, IBM Data Server Client and IBM Data Server Runtime Client are two different things. Fortunately, help is at hand. Paul Zikopoulos has written several articles for IBM developerWorks describing the differences between the different DB2 client and server options.…

Read more »

Jay: A program for removing excess kernels

Ubuntu is pretty easy as far as regular software maintenance goes, thanks to APT. However, there’s one task which (as far as I can tell) isn’t automated. Whenever there’s a minor update to the Linux kernel, apt-get (or GUI equivalent) will diligently download and install it. Unlike with applications, though, APT doesn’t remove the old version — because you’re running it, and bad things can happen if dynamically loadable kernel modules disappear while the system is running.…

Read more »