Robert McLaws: Windows Edition

Blogging about Windows since before Vista became a bad word

Microsoft Changes the Development Game

Today, Microsoft completely changed the web development game, and chances are, you didn't even know it. If you STILL don't think Microsoft "gets it" after today's announcements, you're probably so ensconced in your tech-religious beliefs that there isn't much hope for you anyways.

“Look, I’ve got IronPython using ActiveRecord and LINQ, all inside the Safari browser on my Mac, and I’m debugging it in Visual Studio remotely from my PC.” These kinds of scenarios are in fact becoming possible, and those of us who appreciate all of these components individually will rightly pronounce it cool that they can come together in these ways.

Jon Udell quoted Jon Lam as saying that in a podcast he had right before MIX 07.

Microsoft now has an officially-supported cross-platform implementation of the .NET Framework. That's cross-platform folks, not just cross-browser. That means, in the not too distant future those cool .NET apps you've been working so hard on (you HAVE been building apps on .NET, right?) will run on a Mac too.

But that's not all. Microsoft brought together some of the best minds in dynamic languages together, and built a common platform for implementing dynamic languages like Python and Ruby on top of .NET. It's called the Dynamic Language Runtime, and it plugs into the CLR, allowing anyone to plug in their own dynamic languages, much like you can with the CLR today.

It seems that I was right earlier, when I connected the dots on cross-platform support at the DLR. Oh yeah, and did I mention that the DLR will be open sourced under the BSD license? WHAT?!?!? Microsoft can open-source things too? Holy crap, where is my heart medication?

I don't think I can adequately convey how truly exciting this all is. Ruby is well on it's way to being an officially-supported .NET language, and their goal is to get Ruby on Rails working as well. So now all the really cool stuff going on there won't be confined solely to the LAMP platform. And the subset of .NET running inside Silverlight 1.1 is only a stepping stone to the day when Microsoft has the complete framework running on a Macs as well as PCs.

On a side note, Microsoft also demonstrated how to counter the "anti-1.0 software adoption" syndrome by releasing a beta of Silverlight 1.0 and an alpha of Silverlight 1.1 simultaneously. Genius.

I had a conversation with Robert Scoble about all this right before MIX, after he posted about Adobe's open-sourcing of Flex. He didn't think Microsoft would run .NET on a Mac because it doesn't sell OS licenses. But then I reminded him that the Developer Division is not about selling OS licenses, it's about building platforms that people use to build stuff on, and leveraging an ecosystem of first- and third-party tools to generate revenue for itself and its partners. Just because you choose not to use Microsoft's OS doesn't mean you have to lock yourself out of platforms (virtualization being the exception).

I can't wait to see the innovation that comes from these new components for Microsoft's vision of the web. I don't think these announcements will stop the zealotry entirely, but maybe interoperability will help jump-start the process. And

I leave you with a quote from Ray Ozzie, newly free from his self imposed Cone of Silence, from today's Q&A with Mike Arrington:

On the question of competing with Google, Ozzie responded: "The DNA of Microsoft is not going into a space unless we can change the game and win in some form. More interesting from a competitive standpoint related to Google and large incumbent competitors in general is how Microsoft approaches it and secondary and tertiary effects."

He alluded to moments in Microsoft's history when the company was spurred into action by competitive forces, citing open source and Java as leading to cultural changes and reshaping Microsoft, a side or secondary effect of the competitive battles. "If you go back to Sony years ago, the Playstation 2 look unassailable. A side effect, secondary effect was the creation of an entire entertainment and devices division in Microsoft," Ozzie said.

Ozzie went on to say, "From a Google perspective, the secondary impacts have already begun to happen," resulting in the ad model Microsoft had never considered before. "With services, we decided to make an investment and scale the back end for search and ads, now we are thinking about how to 'platformize' it, so we developers can better take advantage of it."



  • Dave Murdock said:

    I just posted this about what bits you get with Silverlight 1.0 and 1.1 on the Mac.

    April 30, 2007 10:05 PM
  • May 1, 2007 12:06 AM
  • Aaron said:

    If I can run/develop .net apps on a mac I am definitely buying one. That + dual boot OSX/Vista = having your cake and eating it too!

    May 1, 2007 6:23 AM
  • davidacoder said:

    "That means, in the not too distant future those cool .NET apps you've been working so hard on (you HAVE been building apps on .NET, right?) will run on a Mac too."

    Hold it, there was NO anouncement that you can just run your existing .Net app on the Mac. They have NO anouncement that they will port the whole .Net Framework over to the Mac, just a tiny subset. Don't give the people a wrong idea of what is happening here. Essentially you can use .Net languages instead of JavaScript and there will be a very small part of the base class library present. And all of that only in the browser.

    May 2, 2007 3:46 AM
  • glennyboiwpg said:

    I do agree with you, this is exciting news.  But i'm curious though.  In the past microsoft's strategy was to develop things that drove the windows platform. (mostly)  But this seems to be going in the other direction.  Although this is a really great event for alot of people, what benefit does microsoft get for doing this?

    May 2, 2007 9:31 AM
  • Tomer Chachamu said:

    Why does everything you see from MS have to be revolutionary?

    May 2, 2007 11:24 AM
  • David, I know that there was no announcement abut running existing .NET apps on a Mac, but where else do you think that the CoreCLR is headed? You don't release a new technology unless you have a plan for the future, and if Microsoft is going to release a core interoperable runtime, the rest of the CLR will probably follow, but probably without COM interoperability and the like. Will 100% of the .NET apps out there work? Probably not. But if you're running a pure .NET app that doesn't P/Invoke to the WinAPI, then there is a good chance that someday your app will be Mac-compatible.

    Tomer, even Scoble thought "Microsoft rebooted the web" with the announcement. And he hasn't necessarily been all that Microsoft-friendly lately.

    May 2, 2007 2:45 PM
  • davidacoder said:

    That is pure speculation on your part. In particular, I very, very much doubt they will ever port the whole .Net Framework over to the Mac. Things like WinForms are just thin layers over Win32, it would be a massive, massive investment to bring that to another platform. In any case, you write as if they anounced that you will be able to run all of your .Net apps on the Mac, whereas no such anouncement was made. You should make sure to clearly point out in your blogs what are things you know and what are things you speculate about.

    May 3, 2007 3:23 AM
  • glennyboiwpg said:

    So im curious,  why did Robert choose to answer davidacoder and Tomer Chachamu's questions/post and ignored mine, when I also had a perfectly legit question/topic of discussion?  I know I'm not exactly "Microsoft-friendly" but it kinda struck me as odd, that if I totally wrote some negitive post, you'd probably would answer me, but writing a valid topic of discussion gets ignored.


    May 3, 2007 8:39 AM
  • Glenny, I'm saving yuor comment for a bigger post, it was not ignored at all :).

    May 3, 2007 3:57 PM
  • glennyboiwpg said:

    hmmmm, well then, you've peaked my interest, i'll stay tuned.

    May 4, 2007 8:35 AM
  • June 11, 2007 8:33 PM