I continue to be encouraged about how .NET is developing. Which is nice, because I’m also investing quite a bit of my personal time in learning it. For a while it looked a bit wobbly, but now that the Hailstorm nonsense is receding into the past and MS seems to have slightly reduced its determination to brand every new and existing product with a .NET name, some of the focus is shifting back to the development tools and the platform.
Its looking likely that I’ll spend a quarter of my career with .NET. After years of struggling with MFC, wndprocs, COM threading models, etc. I’m glad we’ve got a platform thats so rich and powerful.
Now just give me generic types and deterministic garbage collection, and I’ll be happy. I can live without multiple inheritance, but support for contracts in the CLR would be nice.
Perhaps because the number of “What exactly is a web service” articles in the press seems to be going down, I’ve noticed more discussion of running .NET on non-Windows platforms. The Register (US) has a fairly speculative article about Borland getting interested in Mono as a way to target Linux. As far as I know, a few current Borland products ship with experimental, command-line compilers that emit assemblies. They do seem serious about the platform, though, and this makes sense. Its got to be easier to target a single API and MSIL, than maintain separate UI designers and backends for each development tool and operating system.
On a similar theme, the Register (UK) is reporting that “PalmSource intended the (sic) make the new OS Microsoft .NET compatible, and will likely partner with others to provide a run time for the platform.” I can’t see how Microsoft would licence the compact framework to Palm, given that they’re such an obvious competitor to the Pocket PC, but it should be possible for a strongarm-based Palm to run a port of the Mono runtime. Presumably it would be similar to the CF, but I don’t know if the Mono people have plans for this. Their focus (understandably) seems to be IA-based desktop systems running Linux. Another option would be thePortable .NET project. As a Palm user, I have mixed feelings about this. I like my Palm because its simple and lightweight – not bogged-down lots of extra features that I don’t need. As a developer, though, having a CLR in the PalmOS would be nice. I hope Palm can hold-out against the PocketPC long enough for this to happen. I’m not hopeful.