For a collections junkie like myself, Microsoft’s LINQ technology looks pretty damned cool - it’s basically a way to get query languages integrated nicely with code. I’m not going to get too far into it, since I imagine it’ll all change before C# 3.0 gets out.
And that’s the point.
My former job was in a large, enterprise-sized company. When I left earlier this year, they still had Windows NT on a lot of the desktops. I would claw my eyes out every day reading about the cool features that would solve real problems, all available Right Now, but I knew that the company wouldn’t have the infrastructure rolled out for at least another year, and there was a good chance that IT would leave out some DLL that didn’t matter to anyone but me (yes, I could get it included, but it would take a fight and 6 months to deploy).
In the meantime, Microsoft would go and pitch the Next Big Thing, like they did this week with C# 3.0. If I’m not mistaken, version 2.0 isn’t even out in a non-beta, production-supported release yet.
Don’t get me wrong - I chose to subscribe to MSDN so I could get more access to these toys and better plan the technology roadmap for my new company’s products. I’m working on what I hope will be my last .Net 1.1 project right now, and I’m screaming at VS.Net 2003 every day for no better reason than the fact that I know 2005 will be so much better. It’s just too bad that 2005 is doomed from the start, because it doesn’t support version 3.0.
In the last job, open source stuff like Rails, etc. were incredibly exciting for me because they represented fewer roadblocks to getting things out the door. Now that the new company is firmly in the MS camp (although we do use MySQL), and it’s mostly my fault decision, I can see a bit clearer - the frameworks we create with whatever tools we use are the exciting part, and while MS’s 5 year (or whatever) vision may help us keep things exciting (or make some of our frameworks obsolete), at the end of the day, it’s the bandwidth from our brains to the code that has the power to depress or exhilarate us.