Live data from Hacker News

A History of .NET Runtimes

mattwarren.org

21–30 of 102 posts

Re: A History of .NET Runtimes

#21
post #7

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…

J++ I completely forgot about that! It brings back memories :)

Re: A History of .NET Runtimes

#22
post #18

Earlier quoted context omitted.

Yeah, I think this was a far bigger contributor to the failure of .NET to achieve dominance. Silverlight was only ever a slightly weird sideline intended to compete with Flash, which became DOA the moment the iPhone launched and Jobs killed Flash overnight by saying the iPhone would never support it. Microsoft's biggest internal teams turning against .NET during Longhorn created a schism that the company has never re…

Yep, they were forced to sort out the mess introduced with WinRT, UAP, UWP, by making UWP .NET Standard 2.0 compliant, and now making Forms, WPF and EF 6 runnable on top of .NET Core 3.0. However given the last Office related announcements, it appears that the reorganization did little to sort out those political issues.

Next stop, making UWP crossplatform :))

Regarding the political issues, the Silverlight/WinRT clusterfuck also helped with WindowsPhone downfall. Release 1.0 and next major update offered a API incompatible with 1.0, what a clusterfuck....

Re: A History of .NET Runtimes

#23
post #7

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…

> .NET is still very popular but it definitely did not fulfill the more ambitious dreams that Bill Gates had for it.

Remember when Microsoft was adding '.NET' to practically all of their product names for a time? That was fun...

Re: A History of .NET Runtimes

#24
post #7

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…

>.NET is still very popular but it definitely did not fulfill the more ambitious dreams that Bill Gates had for it.

There is still time. It just recently got open-sourced, got a compiler written in itself and got a run-time unbundled form all the legacy crap. Those things held C#/.NET back. I feel this is a good time to adopt it for people who want to have reasonable performance, static typing and a mix of OOP/functional paradigms.

My two notes on C#:

1. It is possible to write reasonably "functional" applications in .NET. The only problem I had with that is lack of built-in copy-on-write data types and prevalent nullity.

2. LINQPad is the best damn scripting environment I ever worked with.

Re: A History of .NET Runtimes

#25
post #7

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…

> Bill Gates programmed in BASIC in the 1970s and not in low-level C/C++/assembly

He didn't program in BASIC, he programmed a BASIC interpreter in 8080 assembly.

Re: A History of .NET Runtimes

#26
post #7

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…

My hypotheses is that C# would never have become as popular as it became if Java hadn't had the long stall between 1.6 and 7[1]. That long, long pause provided a window, and under the stewardship of the vampires at Oracle there is not the kind of direction to push things forward that C# has had. [1] Four and a half years! Nowadays it seems like Angular and React are pushing major versions every four and a half minute…

I'm not sure Java would have changed at all if it wasn't for C#. From the start, Java was never particularly quick to get new features or break any sort of compatibility.

Re: A History of .NET Runtimes

#27
post #24
post #7

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…

>.NET is still very popular but it definitely did not fulfill the more ambitious dreams that Bill Gates had for it. There is still time. It just recently got open-sourced, got a compiler written in itself and got a run-time unbundled form all the legacy crap. Those things held C#/.NET back. I feel this is a good time to adopt it for people who want to have reasonable performance, static typing and a mix of OOP/functi…

Part of me, though, worries that the ship has sailed. For a while .NET was probably completely fine from Microsoft's perspective, because the platform was (AFAICT) dominant in their target market of enterprise apps.

Then big data became a thing, and basically the entire core ecosystem was written in Java. I think it's becoming a bit of a wedge issue - Java has everything that .NET has, but .NET does not have its own equivalent of, for example, the Hadoop ecosystem.

Re: A History of .NET Runtimes

#28
post #25
post #7

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…

> Bill Gates programmed in BASIC in the 1970s and not in low-level C/C++/assembly He didn't program in BASIC, he programmed a BASIC interpreter in 8080 assembly.

Thank you for the clarification. Yes that makes sense. I'm probably mixing it up with an interview where one of MS ex-employees (Joel Spolsky?) mentioned Bill's affinity for BASIC which is why early MS Word has WordBASIC (not Lisp or Pascal) as its first macro language. It later became VBA Visual Basic for Applications. This philosophy and influence continued all the way into the CLR languages VB.NET and C#. Bill was never a C/C++ guy like his employees who were working on Windows & Office codebases.

Re: A History of .NET Runtimes

#29
post #9

Earlier quoted context omitted.

The whole Longhorn/Vista debacle, with .NET components being rewritten in COM for Vista, followed up by the increasing the COM usage in Windows 7 and then bringing up WinRT as .NET replacement under Synofsky's leadership is another example of those political internal wars.

Yeah, I think this was a far bigger contributor to the failure of .NET to achieve dominance. Silverlight was only ever a slightly weird sideline intended to compete with Flash, which became DOA the moment the iPhone launched and Jobs killed Flash overnight by saying the iPhone would never support it. Microsoft's biggest internal teams turning against .NET during Longhorn created a schism that the company has never re…

>Microsoft's biggest internal teams turning against .NET during Longhorn created a schism that the company has never resolved.

From the fragments of leaks I read about the internal strife, the .NET code had huge performance problems and the C++ team was frustrated that "DevDiv" couldn't solve them. ("DevDiv" is Developer Division that owned NET Framework.) Therefore, they ripped a lot of "managed code" out and redid it in native code.

I hope that one day, an ex-Microsoft programmer or product manager writes a tell-all book of this period. It would be a fascinating case study.

Re: A History of .NET Runtimes

#30
You missed two that I can think of: (1) the runtime written in F# that Frank Krueger’s Continuous uses (and I believe also Xamarin Live player uses in some fashion.) (2) Goa WinForms was a C# compiler that targeted the Adobe Flash Player, and implemented part of the BCL and WinForms UI. If you include the CrossNet I think this also counts.
Post reply on HN