Does Oracle/Google lawsuit represent opportunity for .NET?
blog.borud.no
blog.borud.no
Much like how MS made their own language when sun sued them over Java? How the wheel turns.
The point, though, is that you said "MS is not interested in opening .NET to other platforms" when they demonstrably are. That doesn't mean they're angelic do gooders, or that they don't want to make money, or anything else. It simply means that they are interested in having .NET on other platforms because it somehow suits their purposes.
This doesn't completely fit MS's other initiatives, but one of the benefits of being that big is that MS can try lots of things at once - to bet on every horse in the race, so to speak.
But .NET is seen at present as a rather dead-end, closed ecosystem. Much of what's innovative in software development happens elsewhere -- e.g. Ruby on Rails, or Clojure. If MS had a way of getting all the developer mindset that's no other platforms, such as Java, onto C#/CLR/.NET, this would be a big win for them.
A Microsoft-blessed implementation of .NET running on Linux and other platforms might give them that developer mindshare. I would certainly consider using it very seriously.
In the past, Microsoft has seen Linux and open source as the potential big enemy that might kill it. But I don't think that's true: I think Apple is a bigger threat to MS (they certainly have a bigger market capitalisation). If .NET ran on Linux, would that really hurt sales of Windows, Office and Xbox? I doubt it.
While Ballmer probably wouldn't go for this, I wouldn't be surprised if he was deposed and his successor does.
Perhaps in the Ruby community, the image of .NET is equivalent to the image of MS, but the people who make up the Ruby community were probably never going to use .NET to begin with. There is a very large development community outside of RoR and Clojure and Python and what have you that has very little overlap.
The Ruby/Python/PHP/etc. development communities coincide a lot. They have UNIX-like operating systems in common. They have certain shared values of what software development means to the human condition. Hell, they think about what software development means to the human condition. It's very future-centric.
In the Windows world, it's different. We think about things in terms of the present: what are we doing now, how does this fill my belly, how am I going to fulfill this client request so I can go home and play with my kids. We don't tend to participate in open source projects. Most of the time, it's weird to have someone ask to see my source code. Seeing the source code is a waste of time when all I want is the functionality. There is not much thought to future developers because future developers are likely not going to ever look at what we've made. Even if they did, they're more likely to throw it away and start over than to do anything with it.
I don't think there is an inherent "betterness" to one approach over the other. To me, it's the difference between a sculpture and a building contractor. A project manager with no technical background working at a bank is a comical character to the auteur, to the contractor he or she is a real person (maybe even a close friend) with a need.
But because of these differences, there is shockingly little overlap between the communities. I'm reminded of this any time I hang out with my friends at my local hackerspace. There are a few of us who are Windows developers who can work together very productively. There are others of us who are Linux developers and they can work together very productively. When the two try to mix at all, the minority group on the project invariably look like idiots, lost children, who haven't the experience they claim to have. The problem is the complete mindset disconnect.
I think that's where a lot of these "X is dead, long live Y" come from. When you are steeped in your development culture of choice, you hear nothing from "the others", and can very easily assume they must be dead.
Say if I was writing a compiler for a new language I'm designing. Would I consider targetting .NET? No I wouldn't because it locks me in to Microsoft, and will only continue to be available at the whim of Microsoft (consider they canned VB6 when it was one of their most popular languages to replace ith with VB .NET). Now if I was to target my compiler on a platform that runs on lots of OSes, is open-source, etc, then it's more likely to be future-proof. Or say I was writing a web app framework like Rails or Django. I might want it to run on Windows, but I would certainly also want it to run on Unix-like systems such as Linux and MacOS.
The impression I get is that that is the main reason why there is less innovation in the Microsoft platform than outside it (e.g. Python, Ruby, Rails, Django, Clojure, Groovy, etc), despite Windows running on most computers. Many good programmers think Windows is simply irrelevant. E.g. PG says:
"I'm now surprised when I come across a computer running Windows. Nearly all the people we fund at Y Combinator use Apple laptops. It was the same in the audience at startup school. All the computer people use Macs or Linux now." -- http://www.paulgraham.com/microsoft.html
All programs are written by programmers, and if enough programmers think a platform is irrelevant, it becomes so.
Now if Oracle is going to get nasty with what's now their Java platform, that's an opportunity for Microsoft if they want to take it. I've never coded in C# but from what I've read of it, it's a better language than Java and I suspect many Linux programmers would consider using it.
Microsoft is still trying to fight their old war against Linux. They've won that war on the client (but not on the server), but in the mean time, they are losing to Apple.
Games in WebGL running natively on the phone would be cool, with the fileapi there is no need for servers around.
The folly of HTML5 is this incessant reliance on SGML and human-readability. In real-world, big-boy-pants development, we don't write HTML, HTML is our output format. We never needed a new HTML, we needed a new output format that worked. I don't think the WHATWG is up to the task, as evidenced by the complete lack of sane audio handling.
Or use. Net and be vulnerable for oracle and Microsoft?
Why ppl even bring those discussion on?
...and I don't even like java.