It never ceases to amaze me how business is something that happens irregularly and unexpectedly. For a couple of weeks I didn't have anything particular to do programming-wise. That has changed this week. Eric J. Roode, author of the ill-named List::MoreUtil, apparently became aware of my List::MoreUtils (which was there before), and sent me a note that I should take the stuff out of his module and put it into mine. Similarly, I received a suggestino from Slaven Rezic to add a python-alike function
zip. So now I have to translate both to XS.
Apart from that, I thought it might be useful to add a new language to my reportoir. Go figure...it's C# this time. It's really a very nice language. It's often compared to Java and has been titled a plagiarism which is entirely untrue. The only thing familiar from Java is it's sluggishness: You get a noticeable delay before a C# application would start. Runtime-wise however, it feels faster.
The good things about C#: It's convenient in that it has some syntactic sugar which makes the code less chatty than its Java equivalent. It hooks very tightly into the operating system so you can access all the things Java doesn't know about. With Java, I always had the impression that I am really programming a toy-machine and not a real one in that I may only do what the Java-API offers. To a certain exent, the same is true for C# only that this time I may do anything the operating system offers me. Also, it can be easily extended by embedding C/C++ code (I think the official lingo for that is 'unsafe code' which is entirely fine with me). And finally, you can use the familiar Windows widget-set and don't have to work with the Swing-cripple.
One remark about
I also have a few rants, of course, but I save those for another entry a little later.