Microsoft launches student Java and LAMP challenge

Give us the graduate...

University computer science departments are rapidly becoming Microsoft-free zones, as Linux, Apache, MySQL and PHP (LAMP) combine with Java to become the de-facto standard environment for students of programming.

Microsoft knows from history that this will be fatal in the long term, hence its decision to extend free availability of core development tools to students. Most of my generation of computer science students quite literally never touched any IBM kit, even though - back then - it had a bigger share of the IT market than today is enjoyed by Microsoft, Dell and Hewlett-Packard put together.

We did C and Unix, and as we spread like plague rats out into employers, infecting them with the new wave, we regarded IBM mainframes with amused contempt - even when IBM was paying me good money.

We changed the trend line through 90 degrees in a decade, to the extent that IBM is now a top Unix vendor that avoids talking about its legacy mainframes in polite company.

We knew that Fortran and Cobol were most of the game, but by changing the rules we outflanked the older generation. In a superb irony, the upgrade of choice for Cobol programmers was to learn Microsoft Visual Basic.

Microsoft almost completely owns the paid-for development tools market, but students have always been wary of spending money on software, and so as a headhunter when I review student CVs for high-end banking jobs, I can see the Microsoft toolset is in a declining minority.

Although Visual Studio Express has been free for a while, its status as an intentionally cut-down tool made students reluctant to commit to it. Microsoft even went through a phase of getting legalistic with people who improved Visual Studio Express, for fear it hurt sales of the real product. They've wised up, and are giving students full Visual Studio 2008 Professional (with C++, C#, Visual Basic.Net and Visual Tools for Office) , SQL Server, and Expression Studio for those students who kid themselves they can make their work look pretty.

It's going to be a tough fight. Java seems to have cornered the market in those universities where the students are deemed to be not smart enough to learn C++. C# in academia is pretty rare, and Visual Basic.NET almost unknown, so Microsoft will first get its claws in the smarter end of computer science departments who haven't dumbed down to teaching operating system internals in Java. Yes, really, it happens, my firm knows who you are, and no, we don't regard you as having a degree of any kind.

Part of the carrot is the ability to write stuff for the Xbox, and I suspect we will see that getting a serious push now, because this is not a battle Microsoft can afford to lose. It is already fighting up hill as, when I teach C++ to bankers, I regularly get comments like: "Why aren't we doing GCC?", because I force the poor dears to use Visual Studio. Why? They at least need to learn how to get C++ to talk to Excel.

That said, the second tier languages like IronPython, IronRuby and F#, may help Microsoft a lot on this front, since they are growing in importance, and interest, in the world of academia. Even though Microsoft seems to be half hearted about C++ these days, its compiler is respectably conformant with standards and fits nicely into a computer science curriculum.

An objective measure of how critical Microsoft sees this - aside from BillG saying it's great - is that unusually for Microsoft, the initiative is not a US-only thing. The fact the offer will be rolled out globally, tells us more than anything that Microsoft realizes that it needs to fight this properly.®