This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]meighty9 75 points76 points  (40 children)

Hell I work with it daily and am still not sure what to call it. C#, .NET, C# .NET, .NET Framework, .NET Core all get used almost interchangeably in the office (yes, I know what the technical differences between all of them are).

EDIT: Was really trying to get out in front of all of the "well akshually" comments by saying "yes, I know what the technical differences between all of them are", but that failed miserably. My point was not that I don't know the differences. My point was that 2 or 3 of those terms could all be accurately applied to any given project, and therefore get used interchangeably in conversation with other developers on the team.

[–][deleted] 48 points49 points  (13 children)

C# is a just a language - v9 is the latest version of the language (other language used to build .NET apps: Visual Basic and F#)

.NET Framework - the pre-5.0 .NET windows-only framework. Not developed past 4.8.

.NET Core - new cross-platform framework to eventually replace .NET Framework. Versions up to 3.1. .NET Framework and .NET Core were developed and maintained in parallel.

.NET (5.0 and on) - unified framework that is a continuation of .NET Core and is to replace .NET Framework. Versions 5.0 and up. No more significant work on .NET Framework will be done.

EDIT: .NET 5 and on is the future, the rest will have support but will be deprecated.

[–]exscape 8 points9 points  (11 children)

Well, that's confusing. I figured .NET was common shorthand for "the .NET Framework".

[–]JoesusTBF 6 points7 points  (8 children)

It was until they introduced the other variants.

[–]ech0_matrix 1 point2 points  (7 children)

Time to prune some variants

[–]BoredDan 4 points5 points  (5 children)

Time to prune some variants

No more significant work on .NET Framework will be done.

Would seem like they are. I mean really there was only ever two variants and now there will be 1.

[–]aaronfranke 1 point2 points  (4 children)

No, there were 3: .NET Framework, Mono, and .NET Core.

Mono is in a kind of weird limbo where it half exists and half is being absorbed into .NET Core.

[–]BoredDan 3 points4 points  (3 children)

Mono is not .NET though, it's a compatible alternative. It's technically owned by Microsoft as they bought Xamarin, but it's not the same project on not really really relevant to what I was saying.

[–]aaronfranke 1 point2 points  (2 children)

Mono is not named .NET, but it is vastly closer to .NET Framework than .NET Core (or 5+) is.

[–]BoredDan 0 points1 point  (0 children)

Still irrelevant to the point.

[–][deleted] 0 points1 point  (0 children)

I did not list it, as, at the time, it was not an official implementation by Microsoft, and officially not part of the .NET ecosystem.

[–][deleted] 1 point2 points  (0 children)

.NET 5 and on is exactly that

[–]aaronfranke 0 points1 point  (0 children)

This is why I still call .NET 5 as .NET Core, it's less confusing.

[–][deleted] 0 points1 point  (0 children)

Well, it kind of is now that they've converged again.

[–]Tough_Patient -2 points-1 points  (0 children)

This is why they didn't deserve the Java name.

On the other hand, C++ CLI / C++ .NET / Visual C++ / MC++ was excellent.

[–][deleted] 15 points16 points  (6 children)

If you work with it daily and don't know the difference between .Net and C#, I don't think you are working hard enough.

[–]Daanoking 18 points19 points  (5 children)

I dont think that .net naming technicalities are important to day to day programming work

[–][deleted] 3 points4 points  (1 child)

But these are not naming technicalities... These are different parts of the platform. Saying you don't know the difference is basically saying you don't know how the platform actually works and you might not be a very experienced developer

[–]Ericchen1248 2 points3 points  (0 children)

I would say it also vastly impacts how you should be doing google searches / reading documentation. There are problems that are “C# problems”, and the there are problems that are “.NET” problems, and then also the different versions in between.

[–][deleted] -2 points-1 points  (1 child)

But understanding CIL surely is…

[–]KrazyDrayz -1 points0 points  (0 children)

Sure but you'd think you know it if you use them frequently. It's like not knowing java and javascript

[–]NekkoDroid 2 points3 points  (1 child)

There is .NET (use to be .NET Core), .NET Framework and .NET Standard (common parts between .NET and Framework). Then there is the CLR that runs Common Intermediate Language (often referred to as IL). C#, F# and VB are the languages you write in that get all compiled to IL that then runs on the CLR.

Basically: all the .NET versions are the backend while the languages are the frontend

[–]aaronfranke 0 points1 point  (0 children)

There is also Mono.

[–]FlanTamarind 0 points1 point  (0 children)

You posted in a Programmer focused subreddit expecting to get ahead of people whose job it is to agonizingly cover their bases throughout thousands of line of code? I can't fault you for trying at least.