Neal Gafter On Java Under Oracle 130
An anonymous reader writes "Microsoft's Neal Gafter, who was primary designer and implementer of the Java SE 4 and 5 language enhancements and now works for Microsoft on .NET platform languages, discusses the impact of Oracle's acquisition of Sun on Java, makes the case for adding segmented stacks and a meta-object protocol to Java, and offers some insights into how Java and C#/.NET compare."
The first couple of answers meander a bit, but after that the interview picks up and is a pretty good read.
Shills (Score:5, Insightful)
I gather he drank the kool-aid when he went through the door. I'm halfway through the interview and its basically ".NET is better than Java"
Re:Shills (Score:3, Insightful)
Re:Shills (Score:4, Insightful)
At least he explains why. MS has way more resources than Sun ever could manage. It surprises me that Java even got out the door, honestly.
Also recall that MS hired the best and brightest away from Borland a few years before the inception of .NET. And look, the best of them (Anders) architects C# now.
It might also have something to do that when C# turned up, Java was already a mature language and approached the various problems. Of course, if you do something later, you learn from previous attempts, so it couldn't be worse just from that fact. Since C# never aimed to run on non-windows, it's also not a fair comparison of designs, because the goals were different.
Re:Shills (Score:4, Insightful)
The MSIL output is loaded with calls to win32 and COM/DCOM. .NET was designed for Java initially. When talks with Sun failed C# was made to run only on Windows and use the .NET API instead.
In essence it was made to quickly be a defacto .NET language tied with Visual Studio. Sure you can use Mono C# but what is the point of not using .NET? The reason why C# apps can't be recompiled on Linux are simply winforms by their very nature are abstraction layers of Com/DCOM. Add then threading and networking and it probably has more ties to things like NDIS and VMS/NT style threads and other nasties. You have to emulate Windows to get anything done.
Sure the spec is free and I think Moto (can't remember exact name) was made for FreeBSD that was an acutal C# compiler but it did not create MSIL or use .NET.
If free software advocates are serious they need to invent an alternative to .NET and some tools to make it competive before Mono can be taken seriously as a cross platform tool. Reinventing .NET and Winforms is a losing battle that will make many programmers switch to Windows and stay there for development costs.
Re:java? let it die in peace please. (Score:2, Insightful)
Re:Shills (Score:3, Insightful)
The current version of C# (4.0, from 2010), has no standard defining it, besides its Windows-only implementation.