After all, he started GNOME after being turned down at Microsoft, and went on to port Microsoft technologies to GNU/Linux.
Bonobo(COM with CORBA), Evolution(Outlook), Mono(.NET)
After all, he started GNOME after being turned down at Microsoft, and went on to port Microsoft technologies to GNU/Linux.
Bonobo(COM with CORBA), Evolution(Outlook), Mono(.NET)
I literally laughed out loud at that.
I talked to him at Evolve one evening with a handful of other devs while he does not explicitly say it (he is actually pretty humble) you get the impression that Microsoft would make him a distinguished engineer in a heartbeat if he would only say yes. Huge salary, millions in stock options and a write your own ticket kind of involvement like we saw when Russinovich took a job in Redmond.
Miguel is pragmatic, he sees one of the largest pools of developers (at one time the largest by far) and the opportunity to provide them with an exit strategy of sorts. They are bound to Windows now and Microsoft has to this point seen no value in giving those developers the tooling to take their apps out of the Windows ecosystem - so Miguel did just that.
Couple that with the fact that he saw C# and .NET for what it was, Java done right, and he got on board with the idea - but dont mistake for a minute where his heart is. He is a dyed in the wool lover of Linux. He respects Microsoft as a company and realizes that he can feast off their mistakes and doing big things.
My observation is based on how I see his career since the early GNU/Linux days.
Maybe I am being unfair, dunno.
Note that I do appreciate lots of stuff that come out of Redmond.
C# has been a step up over Java, while .NET went in the other direction, getting all the things that Java got right backwards. In spite of .NET being heralded as the second coming of Java back in 2003, Java is stronger than ever and the ecosystem is probably much bigger than .NET will ever be.
The problem that Microsoft always had, and I don't fully understand the dynamics at play here, is with the ecosystem they've grown. Whether this was on purpose, or due to platform limitations, or it just happened because they attracted the wrong kind of expectations, or maybe because of cultural issues, is up for debate. But the fact is the ecosystem is extremely weak and filled with snake oil offerings, with .NET developers waiting for Microsoft to throw solutions over the wall for everything, while complaining about Java's fragmentation, when in fact Java's fragmentation is its bigger strength, as it's based on open-source that survives and competes and evolves and is a much healthier situation than the clusterfuck that happens when a paternalistic company is in charge, like with Windows Forms/XAML/Silverlight/HTML5.
Yes, Java as a language sucks, but focusing on that while ignoring the JVM and the whole ecosystem around it is a pretty shallow comparisson. Hats off to Miguel, he saw something that he liked and built his own version. But for devs looking to make choices, without imposed constraints, picking .NET over Java makes no sense whatsoever.
Even the original motto, with .NET being a runtime for multiple languages whereas Java was a language for multiple platforms proved in the end to be false. The JVM is not only multi-platform, but technically speaking it is much better at hosting other languages, with proof being the alternative languages implementations such as Clojure, Scala, JRuby, Jython, Groovy and Rhino, all of them popular and with healthy communities.
Here's what Erik Meijer has to say about Scala, btw: https://twitter.com/headinthebox/status/438355100310831104
Here's what the Java ecosystem routinely does, as open-source: http://www.robovm.com/ ; http://oss.readytalk.com/avian/ ; https://github.com/google/j2objc
And here's the best IDE ever, coming from the same people that are making Visual Studio usable: http://www.jetbrains.com/idea/