Open Source / Software Development / Technology

A Tentative Well-Wishing for 20 Years of .NET

19 Feb 2022 6:00am, by
programming diagram

The 20th anniversary of .NET is upon us this week and with it, Microsoft is pulling out all the stops in celebration of what it says is “the most loved framework by developers for three years in a row now — 2019, 2020, 2021, according to Stack Overflow’s developer survey.”

First launched in 2002, .NET is, in some ways, something that Microsoft can roll out as evidence of its changed ways over the years. It went from a company embroiled in a monopoly case just a year before this release, to one that later decided to turn around, mend its former ways, and open source .NET Core.

“When Microsoft made another major transformation, this time towards open source, .NET was also at the forefront,” Microsoft writes in this week’s celebratory blog post. “By 2012, we had fully open-sourced the ASP.NET MVC web framework and were accepting contributions. It was one of Microsoft’s first major open-source projects at the time. In 2014, we started to build a cross-platform and open-source .NET on GitHub and were floored at the incredible support and contributions from the open-source community.”

Certainly, in comparison to the Microsoft we once knew, there has been a massive shift in its approach to open source software and openness in general. Indeed, these days, Microsoft is also synonymous with another giant in the world of open source, its now-subsidiary GitHub — as well as the npm Registry and countless other projects. Microsoft has transformed from a company that was once led by a man who said that “Linux is a cancer” to one that has more recently welcomed Linux to the Windows desktop, among numerous other open source endeavors.

In one blog post celebrating 20 years of .NET, SUSE senior technical evangelist Robert Sirchia writes of this transition.

“What started as [a] closed source project is now fairly open source. Which is a big transition for any company to do. The transition was not only opening up the code but changing the way it ran,” writes Sirchia, later adding that “all in all I am one of the many people whose career has changed because of .NET.”

Not mentioned in any of these celebrations, of course, is perhaps the biggest test that .NET has seen in terms of its openness. Last year, we wrote that Microsoft’s “hot reload” drama was a reminder to pay attention, and it still seems like a worthwhile mention.

At the time, the internet was awash in talk of how Microsoft was essentially trying to pull a fast one on its .NET community by reversing course and removing the “hot reload” feature from .NET, instead scoping it to Visual Code 2022. Only after a series of cryptic tweets from the likes of Scott Hanselman and others within Microsoft, an article asking if we can trust Microsoft with open source, and a much followed and supported pull request asking to revert the decision, did Microsoft reverse course and issue an apology.

All that’s to say, perhaps all’s well that ends well, and we should indeed celebrate 20 years of success with a now open source framework. In the same breath, vigilance may be necessary should we want to celebrate another such anniversary in the future.

This Week in Programming

  • GitHub Gets Diagrams with Mermaid: No longer do you need to embed images in your GitHub Markdown files to show content like flowcharts, UML, Git graphs, user journey diagrams, or Gantt charts. Instead, GitHub now allows users to include diagrams in their Markdown files with Mermaid, a JavaScript-based diagramming and charting tool that uses “Markdown-inspired text definitions” to dynamically create diagrams in the browser. The text to create these diagrams uses Mermaid syntax, which is used to “generate an iframe that takes the raw Mermaid syntax and passes it to Mermaid.js, turning that code into a diagram in your local browser.” For further details on exactly how GitHub takes this text and turns it into diagrams, click on through to the blog post; but suffice to say, users now have an easy way to create diagrams without ever leaving the GitHub editor.
  • Touting Rust’s Sustainability: Amazon has long been vocal about its use of the Rust programming language, where it is in use for projects such as Firecracker, the virtualization tech behind AWS Lambda, or Bottlerocket, a Linux-based container operating system written in Rust, or even Amazon Simple Storage Service (Amazon S3), Amazon Elastic Compute Cloud (Amazon EC2), and Amazon CloudFront. While there are numerous reasons to adopt Rust — its performance and memory safety high among them — Amazon has outlined another in a blog post this week about sustainability with Rust. Performance, of course, might have something to do with that sustainability, as efficiency has a direct effect on how much power an application uses; and Amazon points to a study from a few years ago that found that “C and Rust significantly outperformed other languages in energy efficiency,” with both coming in at “roughly 50% more efficient than Java and 98% more efficient than Python.” They further note that it is Rust’s delivery of memory safety, without giving up performance, that puts it above C in being the choice for sustainable development. If the environmental impact of your software performing at scale is of interest to you (as it well should be), Rust is definitely a top contender and AWS’ blog post on the topic is a good starting place.