.NET Myths
.NET only runs on Windows
Unless you're using the legacy .NET Framework which started back in 2002 then this simply isn't true with modern .NET which includes the latest version of .NET where you as you can run .NET on Linux including Docker containers, MacOS and of course Windows!
.NET can only be developed on Windows
With modern .NET you can create applications on Linux and MacOS using Visual Studio Code which can also develop applications on Windows plus you can even access a Visual Studio Code Editor on GitHub by pressing . in a repository.
.NET can only be used for Windows applications
The legacy .NET Framework supported Windows desktop applications or web applications running on Windows but with modern .NET can create applications for iOS, Android and MacOS plus Windows with .NET MAUI, web applications or websites that run on Windows, Linux and MacOS with ASP.NET which can run alongside client web applications using Blazor and create modern desktop applications with Windows App SDK.
.NET can only be developed using Microsoft Visual Studio
Modern .NET applications can be not only developed with Visual Studio which supports everything that you can do with .NET many kinds of application can be created in Visual Studio Code or you can even go with third-party development environments such as JetBrains Rider.
.NET requires you to pay for developer tools
Visual Studio Code is free for any developer to use for any reason regardless of company size and if your company is making less than a million dollars you can use Visual Studio Community for free and you can always use the .NET SDK with any text editor you like, many of which will include language support.
.NET documentation is limited
Microsoft has unparalleled documentation for every version of .NET, even before modern .NET, there's plenty of examples within their own documentation and their documentation accepts contributions so you can always submit anything that is missing.
.NET isn't open source
Unless you're talking about the legacy .NET Framework then this isn't true, modern .NET is open source with every part of the core along with many packages are all open source for developers to use as they please and .NET itself accepts suggestions from the community including new functionality and features.
.NET is open source now but won't be in the future
There's a perception that Microsoft have open-sourced .NET as a “trap” and they can close-source it at any moment, this is not only not likely to happen, if it did there would be a fork of the last version of .NET to be open source and people would start using that and would fragment the .NET ecosystem and Microsoft has no intention of doing that so it is open source for as long as that is a concept in software development.
.NET uses C# which is a proprietary programming language
C# is the main programming language for .NET and even back when .NET Framework was originally created it was an open-standard that anyone could implement and still is today, this was in fact where Mono came from which was the original open-source version implementation .NET created outside of Microsoft but later became part of .NET and powers the iOS and Android implementation of .NET in .NET MAUI.
.NET is old, slow and inefficient
.NET is far from old, although it has a legacy with .NET Framework from over twenty years ago not it is a modern and performant platform for building applications. ASP.NET is a fast and scalable outperforming any other popular web framework for around a dozen times more requests per second than NodeJS.
.NET is only used in enterprise applications
.NET powers microservices, mobile applications, web applications and desktop applications from individual developers, small businesses and more but it is trusted to deliver on performance and functionality which makes it still an ideal choice for enterprise but also a great choice for everyone else.
.NET doesn't support cross-platform applications
.NET features .NET MAUI which allows developers to create applications using one project to target Windows, macOS, iOS and Android along with third-party frameworks such as Uno Platform which not only support those platforms too but also support modern browsers.
.NET isn't used by hobbyists
.NET is used by many developers all over the world for their own projects, that often grow and become their job with many third-party packages created that end up becoming major parts of the .NET ecosystem and help open the doors to more opportunities.
.NET can't be used for games
.NET can be used for games whether that be with Godot, Monogame or Unity there are plenty of game engines using .NET and for the services behind-the-scenes then .NET already has a strong reputation to support and scale as needed for backend multiplayer game services. .NET can also power experiences for console, mobile and VR and games extend the reach of .NET to Xbox, PlayStation and Nintendo devices.
.NET is only a Microsoft technology
Not only are many non-Microsoft game engines created featuring .NET but also platforms such as Uno Platform, Avalonia and OpenSilver that are third-party technologies that take advantage of .NET plus for developers you can choose a variety of tools, packages and more developed by thousands of companies and developers other that Microsoft.
.NET is too hard to learn
NET has been shaped and moulded by the developer community with years of tutorials, workshops, documentation and examples and new functionality for both .NET and C# has been suggested and implemented over the years to make it easier plus things that you could do before still work now so older documentation can still be relevant, it is easier than ever to get started with .NET and thanks to innovations such as GitHub Copilot you can get where you need to be even faster.