February 26, 2008

During the last weekend I attended FOSDEM in Brussels along with about 4000 other Free and Open Source software geeks/hackers. It was great fun with lots of nice beer and chocolate, I even managed to attend some interesting talks!

Particularly worth mentioning, I went to two talks on CMake, the first was by Bill Hoffman and was mostly an introduction to the possibilities the system provides. The second was "CMake: News and Secrets" by Alexander Neundorf who is a KDE developer. KDE are probably the biggest user of cmake and this talk covered a lot of the new features which will be available in CMake version 2.6, which is due out any day now. The new version will really be a huge improvement and provides many features which could be useful in making the buildtools project truly successful. The best bit was that after the talk I collared Bill Hoffman to ask how I could get hold of a copy of the "Mastering CMake" book since it has been out of print for ages. He immediately proceeded to give me a copy of the new edition, which is updated to cover version 2.6, hot off the presses all the way from South America!

Other talks I attended include one on Perl6, given by Patrick Michaud who is one of the lead developers of Perl6 and Parrot (which is the VM upon which Perl6 will run). The perl6 talk did not include much that was, for me, revelatory. It is pretty clear that development and maintenance of Perl5 is going to continue pretty much indefinitely and that Perl6 is going to be a completely new language. I did get the feeling from the talk though that the project has hit a critical point at which the rate of development is now accelerating rapidly. When they say that there should be something usable at the end of this year I actually felt, for the first time, that this is more than just them being over-hopeful. I am a little wary about recommending Perl6 to anyone yet as I feel that the huge number of ways to achieve the same thing in the new language are going to lead to great difficulties when developers want to read, understand and modify each others code. Any large-scale multi-developer project is going to require strict coding guidelines and a great deal of self-control from the developers to avoid complete confusion and incomprehensibility. That said there are clearly some huge improvements in the language, it is definitely much more consistent, a lot more powerful in terms of working with basic data structures such as lists and the object-oriented programming support is light years ahead of that provided in Perl5. Given my usage of Moose I am getting a feel for the new approach and I think I can say that it will work very nicely.