TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

A History of .NET Runtimes

176 pointsby edrocheover 6 years ago

11 comments

sureshvover 6 years ago
Few more missed include (Device CLR&#x27;s were in C, Desktop&#x2F;Server in C++):<p>(1) CLR for Sony&#x2F;Ericsson phone OS and (2) Variant running on linux (in 2001&#x2F;2002).<p>I worked on the Compact Framework team back in the day so there&#x27;s a few more things to point out related to the internal politics of Microsoft at the time.<p>The devices strategy was a mess even back then due to Alchin&#x2F;Valentine&#x2F;Ballmers love of Windows desktop &#x27;everywhere&#x27;. Windows and Office dominated the company so things like .Net were always going to be secondary to that.<p>The origins of the CLR can be found in the purchase of Colusa in 1996 which had the Omni VM for running C++ in a sandbox. The original C# language was called cool and came from that project.
评论 #18126445 未加载
评论 #18123772 未加载
pjmlpover 6 years ago
The AOT compilers misses NGEN, which is part of .NET Framework since v1.0, although it only does dynamic linking with very little optimizations.<p>And the cloud compiler created for Windows Phone 8.x, based on Bartok from Singularity.<p><a href="https:&#x2F;&#x2F;channel9.msdn.com&#x2F;Shows&#x2F;Going+Deep&#x2F;Mani-Ramaswamy-and-Peter-Sollich-Inside-Compiler-in-the-Cloud-and-MDIL" rel="nofollow">https:&#x2F;&#x2F;channel9.msdn.com&#x2F;Shows&#x2F;Going+Deep&#x2F;Mani-Ramaswamy-an...</a><p><a href="https:&#x2F;&#x2F;channel9.msdn.com&#x2F;Events&#x2F;Build&#x2F;2012&#x2F;3-005" rel="nofollow">https:&#x2F;&#x2F;channel9.msdn.com&#x2F;Events&#x2F;Build&#x2F;2012&#x2F;3-005</a><p>.NET Native is an improvement of this work.
评论 #18126434 未加载
wildmusingsover 6 years ago
Something that makes following Microsoft tech <i>different</i> for engineers, in my opinion, is that naming has historically been driven by marketing&#x2F;sales, not engineering. There is not a 1-1 mapping between the branded&#x2F;advertised functionality and the technical components responsible for it. This makes sense when your audience is purchasers at a company. They care about what features&#x2F;scenarios are supported, not how they are implemented (sorting through that is, at most, the job of someone lower on the totem pole).<p>Engineers, on the other hand, want to know how the system works. Even when it <i>shouldn’t</i> matter to us, we can’t help but think in terms of the actual mechanisms driving the system’s behavior. We don’t like black boxes, because we experience daily the leakiness of all abstractions. And for an engineer targeting Windows as a platform, the technical details obviously <i>do</i> matter.<p>I think this difference is especially jarring to developers used to the <i></i>nix world, where everything is much more developer-oriented. I would bet that the early success of Microsoft products against Unix is partially due to this difference in focus. Ideally, you communicate differently with both groups, but in reality you have to make trade offs. It would just create more confusion if there was one set of names&#x2F;brands for end-consumers and another totally different set for developers.<p>(Another difference is that Windows has historically been one big project, so features <i>do</i> in fact span technical components, which due to being under single management, are less regimented to begin with.)<p>The web has definitely changed things by making operating systems less important. At least the perceived importance of marketing to developers has increased. I think Microsoft has done a good job adapting to this change lately.
jasodeover 6 years ago
I think the history of the <i>internal politics</i> at Microsoft in regards to .NET and also the external industry trends is fascinating.<p>The common thinking is that C# &amp; .NET was a ripoff of Sun Java because of the <i>&quot;write once run anywhere&quot;</i> threat. That&#x27;s sort of true but missing some nuance.<p>I&#x27;m not a MS insider but here&#x27;s my understanding of what happened. We have to separate the C# language from the CLR runtime. In the 1990s, Microsoft was already researching how to enhance and extend the COM interoperability model. (Otherwise known as &quot;how do we get multiple programming languages to talk to each other?&quot;)<p>Based on some old interviews with Don Box[1], instead of this work being productized and released as &quot;COM+ version 3&quot; or whatever, it morphed into the CLR. This was a natural evolution that would have happened even without Sun&#x27;s JVM threat.<p>C# the language, on the other hand, was a more direct response to Java the language since Microsoft&#x27;s J++ (Java clone) was abandoned because of Sun&#x27;s lawsuit.<p>As for .NET, it&#x27;s interesting that Microsoft always had this large internal group of programmers (mostly Windows kernel and Office teams) that didn&#x27;t fully buy into the .NET vision. On the other hand, Bill Gates himself was a big believer in it. My pet theory is that since Bill Gates programmed in BASIC in the 1970s and not in low-level C&#x2F;C++&#x2F;assembly, he had a natural affinity for the vision of high-level C# &amp; .NET being pervasive throughout Windows. Even with Bill&#x27;s support, there was always an ongoing internal tension between the C++ vs the NET framework camps. (On a related note, it seems like Apple&#x27;s internal programmers are more happily embracing Swift over Objective-C to a greater degree than Microsoft&#x27;s internal adoption of C# over C++.)<p>Two major forces outside of Microsoft&#x27;s control curtailed .NET&#x27;s planned world dominance: (1) the rise of Javascript in the browser which negated .NET Silverlight, and also Java applets and Flash. (2) the rise of Apple iOS and Android.<p>.NET is still very popular but it definitely did not fulfill the more ambitious dreams that Bill Gates had for it.<p>(On a related note, I also wrote an old comment about the decline of .NET&#x27;s WPF and its limited adoption: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=14098832" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=14098832</a>)<p>[1] Was MS Technical Fellow and author of 1998 COM book: <a href="https:&#x2F;&#x2F;www.amazon.com&#x2F;Essential-COM-Don-Box&#x2F;dp&#x2F;0201634465" rel="nofollow">https:&#x2F;&#x2F;www.amazon.com&#x2F;Essential-COM-Don-Box&#x2F;dp&#x2F;0201634465</a>
评论 #18122647 未加载
评论 #18122610 未加载
评论 #18122087 未加载
评论 #18122495 未加载
评论 #18122213 未加载
评论 #18122160 未加载
评论 #18123278 未加载
评论 #18122189 未加载
评论 #18126377 未加载
评论 #18122376 未加载
评论 #18122067 未加载
mariusmgover 6 years ago
Does anyone remember Rotor ? That thing (codeveloped with Corel) was pretty interesting. Too bad about the look but don&#x27;t touch license model.
评论 #18121876 未加载
dusanbabover 6 years ago
Back in 2008&#x2F;9 I was a co-founder at a company (Red Five Labs) that created a .NET Compact Framework runtime for Symbian OS (featured on most Nokia &amp; Samsung smartphones at the time). We got to a .NET CF 2.0 level of compatibility.<p>It was a venture-backed startup out of Johannesburg, South Africa.<p>Although we wrote the runtime ourselves, we made extensive use of some of the mono libraries until we were able to rewrite most of these optimized for Symbian.<p>[1] <a href="https:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20100112091803&#x2F;http:&#x2F;&#x2F;www.redfivelabs.com:80&#x2F;" rel="nofollow">https:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20100112091803&#x2F;http:&#x2F;&#x2F;www.redfiv...</a>
评论 #18126418 未加载
评论 #18128132 未加载
评论 #18125870 未加载
alexvodaover 6 years ago
Is the .Net environment in SQL Server since version 2005 considered a different runtime?
评论 #18121752 未加载
评论 #18121712 未加载
nailerover 6 years ago
As someone outside the .net world, is there a wasm version? Can I run a .net language in a web browser and have access to the DOM, or render the UI for a .net app as DOM objects on a web page? That would be super useful.
评论 #18123170 未加载
评论 #18127520 未加载
评论 #18123157 未加载
评论 #18124274 未加载
评论 #18126108 未加载
swolchokover 6 years ago
The recent Software Engineering Daily podcast on &quot;Unity and WebAssembly&quot; mentions that Unity has a .NET to C++ toolchain. Is that some kind of stock Mono feature, or is that another .NET runtime?<p><a href="https:&#x2F;&#x2F;www.softwaredaily.com&#x2F;post&#x2F;5ba9fdd63e3767000494fe01&#x2F;Unity-and-WebAssembly-with-Brett-Bibby" rel="nofollow">https:&#x2F;&#x2F;www.softwaredaily.com&#x2F;post&#x2F;5ba9fdd63e3767000494fe01&#x2F;...</a>
评论 #18126080 未加载
memsomover 6 years ago
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.
评论 #18126423 未加载
stevefan1999over 6 years ago
Let&#x27;s look forward for .NET Core 3.0 and CoreRT: This would make it very competitive to Go not only being both native and self-contained but also going ahead in desktop-based, GUI programming.