Archive for October, 2007
The Moore’s law has found a new way of surviving much longer than the physics could allow without the use of multi-core processors. However the increased processor power due to multiple cores may not necessarily translate to faster software because the majority of the tools that developers use currently were never designed with parallel programming in mind. The problem is more pressing than that since most of the developers are not trained in ways of designing and developing software that include parallelism. One of the ways to enhance parallelism in software development is the use of functionally programming languages which lend themselves easily to concurrent capable software development.
The inclusion of F# into a widely used platform like .NET means that it would be more accessible to developers and hopefully spur an interest in how functional programming languages work among the general developer communities. It recently occurred to me that of all the programming languages that I am conversant with, all of them are based on imperative programming and ever since my interest in concurrency and functionally programming has increased. I have had an interest in Haskel and Erlang as my learning tools in this area however, I need to understand the theoretical foundation of functionally programming languages generally. F# is a welcomed addition to my reading list. There is an increased realization of the importance of parallelism in computing hence most computer science faculties are including functional programming in their curriculum.
Of course the strategic advantages that this provide to Microsoft is enormous working from the assumption that parallelism is here to stay.
Microsoft is releasing the source code of the .NET framework class libraries! An obligatory pause for the sound of thunder seems appropriate but then again it is not particularly ground breaking enough to warrant a Zeus like reaction. Don’t get me wrong, this is important and useful and of course itself but I am thinking along the lines of the announcement being about Microsoft open sourcing the .NET code base: which she is not doing, at least not at this point in time. Could this be some baby steps towards open sourcing the code? I don’t know but I can’t fully judge what future Microsoft moves with regard to open source could look like; for now, it is not prudent to dismiss the idea of Microsoft open sourcing itself platform.
A perfunctory comparison with Java can’t go unmentioned; it will serve well to remember that Java, for a long time did distribute source code along with its download and that of course wasn’t open source in the same manner in which it current is. Look at such a history from the Java camp, could Microsoft be facing some pressure to open source the .NET platform but allowing read only access to its code would at least quell some of the calls for a move to open source. Like I mentioned earlier, the fact that the source code is available along with the binary, makes it much easier to debug .NET code without resorting to tricks. However, it is not like they realized that such a use for the source code is pressing enough to prompt a source code release.
Of course services are increasingly becoming more important as time passes and this is an area into which Microsoft is moving, currently playing catch up to the likes of Google and Apple. However, Microsoft’s tools and platforms are still important to its foray into service driven business model. Of late there has been an increased assault on one of Microsoft’s crown jewels: Microsoft Office. Announcements from IBM, Google and Zoho makes for an interesting line of challengers. Adobe seems to be making a play for the hosted tools market. I am in way suggesting that Microsoft is not going to be here tomorrow but judging by the interest and perspective that these new announcements are taking, Microsoft needs to defend their turf or find themselves with a product that is increasingly tethered to the desktop/laptop in an increasingly mobile-device centric.
In the long, open sourcing the .NET framework class library would be a good move so that Microsoft can leverage the community, over and beyond testing products and providing feedback about changes and features that need to be considered. It would also mean that much of the focus of the company would be at providing its services. It just occurred to me that that is easier said than done: Microsoft is huge! Oh, and how many of the new start ups are building their wares on Microsoft .NET framework? Facebook runs open source on her infrastructure and so do many other start ups.