.NET is great, but you might have some misunderstandings about it

.NET is great, but you might have some misunderstandings about it

This article introduces training with NV graphics cards. CPU training is for reference only. For any differences, please visit the official website for information.

Last updated 3/30/2022 11:11 AM
全球技术精选
5 min read
Category
.NET
Tags
.NET C#

20 years ago in 2002, Microsoft unveiled its vision and roadmap for next-generation software and services. On February 13, Visual Studio .NET was launched, marking the first official release of the .NET development platform to the world.

Now, .NET has turned 20 and has matured into a stable platform.

However, I've noticed that many developers still hold some biases and misunderstandings about .NET. Let's clear them up!

If you have friends who feel the same way, please share this article with them.

Misconception 1: .NET only runs on Windows?

This misconception has been around since the early days of .NET, and it was true initially. The .NET Framework was originally built for Windows and included a lot of Win32 API references, making cross-platform support difficult.

It wasn't until Microsoft took .NET Core seriously in 2016 that they began addressing issues in Mono and the lingering dependency on Win32 APIs. But early on, the confusion between .NET Core, .NET Framework, and .NET Standard also puzzled developers. Fortunately, with .NET 5 and now .NET 6, all of that is in the past.

Today, .NET 6 (the latest .NET) runs on Windows, Linux, and macOS, supporting x86, x64, Arm32, and Arm64.

Microsoft provides SDKs and runtimes for multiple platforms.

This means you can build .NET applications on the latest M1 MacBook:

Building a simple console application on a 2021 MacBook Pro M1 using the command line.

Misconception 2: .NET is slower than Node/Python/Go/Rust?

Actually, .NET 6 offers high throughput and delivers multiple times the throughput of frameworks running on Node and Python in web tests.

In recent years, the .NET team has focused heavily on core performance in almost every aspect of the runtime. While it obviously won't beat Rust or C++ in raw performance, it doesn't lag behind in running web applications.

The Task Parallel Library and Span provide even higher ceilings for building throughput and performance.

According to the TechEmpower Benchmarks Web Framework test report, in Round 15 from February 14, 2018, you can see ASP.NET actually lagged behind Node.js:

2018: Node.js 8th, ASP.NET Core 13th, Express 28th, Flask 57th, Django 61st.

In Round 20 on February 8, 2021, just three years later, .NET absolutely dominated Node and Python, trailing only Rust-based services.

2021: .NET Core 8th, Node.js 56th, Express 94th, Flask 111th, Django 118th.

.NET also performs exceptionally well in gRPC benchmarks.

If you're using gRPC, don't consider Node or Python.

Misconception 3: .NET is outdated?

Compared to Rust and Go, many people think .NET is an outdated platform. In reality, .NET is constantly updated, with advanced syntax and features like generics, async/await, anonymous types, tuples, pattern matching, Expression, and more.

With powerful LINQ, C# can look a lot like JavaScript:

According to GitHub's 2021 Octoverse State of the Report, C# has seen a slight resurgence in recent years:

Misconception 4: Development tools are expensive?

Early Visual Studio development tools were indeed expensive!

But now, Microsoft not only offers a free, fully-featured Visual Studio Community Edition, but you also have other options:

  • JetBrains Rider
  • Visual Studio for macOS
  • And of course, VS Code

Recently, I've been doing most of my C#/.NET development on a MacBook Pro M1 using VS Code:

Misconception 5: .NET is not open-source friendly?

Early .NET was like that, but since Satya Nadella took over, Microsoft's entire trajectory regarding open source has shifted dramatically. However, Microsoft still has a long way to go in its transformation and growth in this area.

.NET itself is managed by the .NET Foundation, the .NET compiler (Roslyn) and many other internal components are on GitHub, and since 2015, it has been certified on Red Hat Enterprise Linux.

Misconception 6: .NET can only be used for enterprise management systems?

Actually, .NET has evolved into a unified platform that you can use to develop a wide variety of applications, including desktop software, web services, 3D games, and more.

.NET also has many frameworks for building cross-platform applications, such as:

  • Multi-platform App UI
  • Uno Platform
  • Avalonia

End of article...

Original author: Charles Chen

Original title: 6 .NET Myths Dispelled — Celebrating 21 Years of .NET

Original link: https://blog.devgenius.io/6-net-myths-dispelled-celebrating-21-years-of-net-652795c2ea27

Keep Exploring

Related Reading

More Articles