Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I still can't shake the feeling that their naming is just confusing. I still am not sure what exactly is .NET and what's not.


.Net is 14 years old now - if you don't know what it is by now you're probably not ever going to know. It's a cross platform runtime and a group of programming languages that run on it, just like Java.


The general idea of .NET as a platform is easy to understand. The naming of .NET Core, .NET Framework, ASP.NET, etc. and the difference between them is not.


.NET Framework = the whole shebang, the full runtime including Windows-only bits.

.NET Core = portable subset of .NET Framework. Therefore not entirely compatible with .NET Framework.

ASP.NET Core = portable rewrite of ASP.NET. AFAIK not fully compatible with previous versions.


iirc asp.net core does not contain the web framework part, just the server stuff


My point is that it's just hard to understand what exactly one means when they're writing ".Net". Do they mean the entire framework, a specific library, the CLR, one language, etc. For whatever reason, the name has a very contextual meaning, and people use them interchangeably (".Net Core" is clearly specific though).

Not that they're alone. Adobe did worse with "Flex" since it could refer to the compiler, a framework, and an editor at one point until they decided to make it a bit more standardized.


Java JRE/SE/JDK... It's really not much more confusing than what others use, and as to what you need to install for something.

.Net core apps should be a portable application (portable as in the runtime is compiled in)... Yeah, it is a little confusing, and hopefully removing some of the separate terminology will help. A lot of what has changed, is that you will likely be developing .Net Core (or Xamarin apps) that will target a given platform for running in... Most of the rest should be cross-platform modules that install via nuget (platform/language package manager) and bundled with the application output.


> Java JRE/SE/JDK... It's really not much more confusing than what others use

That's not saying much; "Java" means so many different things it's enough to make your head spin. At least these days it isn't a stock ticker symbol any more.


Java is confusing too so being just like Java doesn't mean it's easy to understand. (Do I need the Java runtime environment, the SDK or the browser extensions to run this code?)


> Java is confusing too

> Do I need the Java runtime environment, the SDK or the browser extensions to run this code?

It's not really confusing.

The Runtime is required to run code. The Source Development Kit (SDK) is for development, and the Browser Extension is for running browser extensions.


That's really only half of it; Java is also a programming language, a bytecode spec, and a binary executable that sometimes points to a JRE and sometimes refers to a JDK, depending on how you installed it. Arguably it's also now being used to refer to the API of the standard library too.


What about Java SE?


The naming is very confusing but it's better than the old name of ASP.NET 5. Source: I had to write about this for a book and it was a challenge to explain it clearly. :)


Yes, that's a thing but at this point imagine just how much more confusion it could create if they change the name.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: