I think the history of the internal politics at Microsoft in regards to .NET and also the external industry trends is fascinating. The common thinking is that C# & .NET was a ripoff of Sun Java because of the "write once run anywhere" threat. That's sort of true but missing some nuance. I'm not a MS insider but here's my understanding of what happened. We have to separate the C# language from the CLR runtime. In the…
It does seem like all these .NET projects are reactions to rival technologies. C# is a Java clone, C# generics are an (arguably improved) Java generics clone, .NET Micro is J2ME, Silverlight is Flash, etc. What are some examples of where C# / .NET paved the way and others followed? Maybe popularizing async/await? I’m definitely not claiming MS as a whole is always a follower. It seems like Direct3D led the way for th…
Java annotations are based on .NET atributes, and initially had a clusmy implementation requiring an annotations processing tool until they finally got integrated into javac.
LINQ paved the way to more FP acceptance among enterprise developers. Check "confessions of a language salesman" from Erik Meyer.
Also .NET always had AOT/JIT from the very beginning, whereas AOT was tabu at Sun and only commercial JDKs always had it as option.