6 ms·
It’s a tired thing to say, but the “.NET” naming is so confusing on what’s what. Which is sad because there’s so much to like about .NET
by tiffanyh 4y ago
It’s a tired thing to say, but the “.NET” naming is so confusing on what’s what.
Which is sad because there’s so much to like about .NET
- justeleblanc 4y ago> It’s a tired thing to say, And yet, here you are, right on the dot. First comment on any .NET thread.
- celdon25 4y agoAnd in a thread about an article that explains the very thing commenter is "confused about"
- T-zex 4y agoIsn't it with .Net 7 it becomes simply .Net and confusion with Framework, Standard, Core is now gone?
- SketchySeaBeast 4y agoYes. Has been that way since 5.
- kgwxd 4y agoWhich specifically wasn't named .NET 4 because that would be confused with .NET Framework 4.x :) Which I'm currently stuck on for work :(
- SketchySeaBeast 4y agoAssuming you're not looking at legacy and are on .NET 5.0+ it's not confusing, it's just the one ecosystem, no core or framework stuff, just .Net. If you're before that, well, good luck.
- Anon4Now 4y ago> no core Except the docs, which still say core all over the place, including the url's. ;-)
- deleted 4y ago[deleted]
- yread 4y agoIsn't Java world a lot more confusing? You have Java language, Java compiler, Java class library, Java Virtual Machine, Java bytecode, Java runtime environment, Java development kit (OpenJDK - is it open? how many forks are there?), Java SE, ME, EE, JavaBeans. What can you use where, what is the license, who made what, what role does Oracle play? So many questions in a universe where google doesn't exist to clear up confusion, no?
- javamanfossils 4y agoThese are different things: JDK already includes an implementation of API, compiler, and runtime. OpenJDK has many builds, not forks. Java EE is now known as Jakarta, and "Enterprise JavaBeans" were replaced by Spring. Clarifying just in case; otherwise I agree that the ecosystem might be confusing, especially if you consider the historical development and legacy code.
- Kwpolska 4y agoI Googled “.NET assembly loading”. The second hit is “Understanding How Assemblies Load in C# .NET”, [0], from July 2020, 4 months before the RTM release of the unified .NET 5. While this post mentions .NET Core by name once, this post is completely irrelevant to .NET Core/5+ (which threw out the Global Assembly Cache, assembly redirections, and generally simplified everything). How do you find articles that are actually relevant to the modern .NET and not the Framework? The Java stuff is easy. From the perspective of a Java developer, most of the things you listed (except for ME, EE and JavaBeans) are just “Java”. And they always have been. [0] https://michaelscodingspot.com/assemblies-load-in-dotnet/ https://michaelscodingspot.com/assemblies-load-in-dotnet/
- pyjarrett 4y ago1. .NET "Core" ... I tell myself "C is for Cross platform." This is usually what people seem like they mean now when they talk about ".NET". 2. .NET "Framework" ... I tell myself "F is for Former." This is the older, Windows specific version. 3. .NET "Standard" ... I tell myself "S is for Specification." This is just the spec which defines what Core and Framework must implement.
- tiffanyh 4y agoThat’s super helpful, thank you. Where it still gets a bit murky is: > “ .NET has many different implementations, including the .NET Framework, Mono, and Unity. Each of these is a separate platform with separate Base Class Libraries (BCLs) and app models. .NET Core is another separate platform.”
- simooooo 4y agoYou don’t really interact with or care about mono as A normal c# dev
- WorldMaker 4y agoMono is almost entirely merged in .NET 8. Very few parts of "mono" exist now as a separate runtime.
- doodlesdev 4y agoWhat about Mono and Unity?
- pyjarrett 4y ago"Mono is an open source implementation of Microsoft's .NET Framework." [1] Unity looks like it uses its own fork of Mono, or IL2CPP, which is a fancy thing that converts the intermediate language produced by C# into C++ code, which it compiles. [2][3][4] [1]: https://www.mono-project.com https://www.mono-project.com [2]: https://docs.unity3d.com/2023.2/Documentation/Manual/overview-of-dot-net-in-unity.html https://docs.unity3d.com/2023.2/Documentation/Manual/overvie... [3]: https://docs.unity3d.com/Manual/IL2CPP.html https://docs.unity3d.com/Manual/IL2CPP.html [4]: https://docs.unity3d.com/Manual/Mono.html https://docs.unity3d.com/Manual/Mono.html
- thenerdhead 4y agoIf you could rename it, what would it be and why?
- smcl 4y agoAnother good question would be - if you were Microsoft and wanted to plan a roadmap to take the .NET ecosystem forward from a couple of separate implementations (Windows-only .NET Framework, Cross-platform Xamarin) how would you go about this in a way that doesn't cause a big furore like Python 2->3 did? Because I imagine you end up with what MS did - define a standard that can be used for building common code between new/old, continue support for both, quickly iterate the new while it's still new, be very open about support timelines and document everything pretty thoroughly. You'd just end up with a different set of names for that standard (.NET Standard), and new implementation (.NET Core) that make sense to you, but probably still confuse some people. I don't think it's perfect, but .NET developers will (or should) all grasp the relationship between .NET Standard/Core/Framework (and now plain ".NET") pretty easily.
- Jochim 4y agoThe only frustration I've experienced in actually working with it is that it leads to polluted search results. Trying to find solutions to ASP.NET Framework problems usually requires discarding a whole bunch of irrelevant ASP.NET Core/.NET ones. It's the same with Visual Studio/Visual Studio Code.
- thenerdhead 4y agoThis is a similar problem with ChatGPT and AI in general. While some things may not change much, you can't generally say "how do I x in .NET" without the chance of getting a really old answer.
- Jochim 4y agoBeing more specific is definitely helpful. I've found that ChatGPT is less frustrating than DDG/Google, probably just due to the conversational nature. You can ask ChatGPT to correct itself if it doesn't give the answer you want. e.g. "Could you write that using .NET 7" or "Use <.net7 language feature> to solve the problem". Whether it spits out the correct answer is still up to chance but the narrowing does seem to work quite well.
- andix 4y agoIf you start now, you can ignore everything before .NET 5. And then there is no confusion left. Just don’t read any tutorials/documentation that were written for an older .NET version.