βœ… What exactly is .NET?

Could someone break it down to me like i'm 5 y/o?
170 Replies
Pobiega
Pobiegaβ€’2mo ago
.NET is everything C# builds on. Its the BCL, the compiler, the runtime, nuget...
Unknown User
Unknown Userβ€’2mo ago
Message Not Public
Sign In & Join Server To View
MODiX
MODiXβ€’2mo ago
.NET is a marketing term referring to a family of products, consisting of two different lineages. The .NET Framework ("netfx") lineage was introduced in 2002. This lineage runs only on Windows. Its most recent release is .NET Framework 4.8.1. While this lineage is still supported, very few new features are being introduced into it. Devs are encouraged not to target .NET Framework for new app development. The .NET Core ("netcore") lineage was introduced in 2016. This is a modern development platform which runs across many different OSes. The .NET Core 3.1 product was the last version in this lineage to bear the ".NET Core" name; and starting with the next release (.NET 5), the product was renamed to simply ".NET". .net6 in 2021, .net7 in 2022, .net8 in 2023 ... the next release in this lineage is .NET 9. This lineage is where new features are actively being developed. Devs are encouraged to target .NET for new app development. Nowadays, the ".NET" moniker usually refers to recent versions of the netcore lineage. When you create a new app targeting .NET (not .NET Framework!), you're targeting this newer, modern, cross-platform API surface and runtime.
Merineth πŸ‡ΈπŸ‡ͺ
I understand that .NET is a software framework that has support for multiple programming languages. But is it it's own language?
Pobiega
Pobiegaβ€’2mo ago
No its not a language. you can't write a program in .NET you'd use either C#, F# or VB.NET
Merineth πŸ‡ΈπŸ‡ͺ
Okay so C# is built from .NET?
Pobiega
Pobiegaβ€’2mo ago
what do you mean exactly by that question?
Merineth πŸ‡ΈπŸ‡ͺ
I have no idea tbh I'm super confused on what .NET actually is
Pobiega
Pobiegaβ€’2mo ago
C# is a language. You don't "build" a language as such.
Merineth πŸ‡ΈπŸ‡ͺ
Yeah i know that But what is .NET?
Pobiega
Pobiegaβ€’2mo ago
I just told you?
Unknown User
Unknown Userβ€’2mo ago
Message Not Public
Sign In & Join Server To View
MODiX
MODiXβ€’2mo ago
Pobiega
.NET is everything C# builds on. Its the BCL, the compiler, the runtime, nuget...
Quoted by
<@105026391237480448> from #What exactly is .NET? (click here)
React with ❌ to remove this embed.
Merineth πŸ‡ΈπŸ‡ͺ
C#, C, Python and Haskell? Is that what you mean?
Unknown User
Unknown Userβ€’2mo ago
Message Not Public
Sign In & Join Server To View
Merineth πŸ‡ΈπŸ‡ͺ
Haskell?
Unknown User
Unknown Userβ€’2mo ago
Message Not Public
Sign In & Join Server To View
Pobiega
Pobiegaβ€’2mo ago
(Haskell isnt a jvm language)
Unknown User
Unknown Userβ€’2mo ago
Message Not Public
Sign In & Join Server To View
Merineth πŸ‡ΈπŸ‡ͺ
Ok. So what's the use of .NET?
Unknown User
Unknown Userβ€’2mo ago
Message Not Public
Sign In & Join Server To View
MODiX
MODiXβ€’2mo ago
MODiX#0152
.NET is a marketing term referring to a family of products, consisting of two different lineages. The .NET Framework ("netfx") lineage was introduced in 2002. This lineage runs only on Windows. Its most recent release is .NET Framework 4.8.1. While this lineage is still supported, very few new features are being introduced into it. Devs are encouraged not to target .NET Framework for new app development. The .NET Core ("netcore") lineage was introduced in 2016. This is a modern development platform which runs across many different OSes. The .NET Core 3.1 product was the last version in this lineage to bear the ".NET Core" name; and starting with the next release (.NET 5), the product was renamed to simply ".NET". .net6 in 2021, .net7 in 2022, .net8 in 2023 ... the next release in this lineage is .NET 9. This lineage is where new features are actively being developed. Devs are encouraged to target .NET for new app development. Nowadays, the ".NET" moniker usually refers to recent versions of the netcore lineage. When you create a new app targeting .NET (not .NET Framework!), you're targeting this newer, modern, cross-platform API surface and runtime.
Quoted by
<@689473681302224947> from #What exactly is .NET? (click here)
React with ❌ to remove this embed.
Merineth πŸ‡ΈπŸ‡ͺ
Yes I have read it but i don't understand it
Unknown User
Unknown Userβ€’2mo ago
Message Not Public
Sign In & Join Server To View
Merineth πŸ‡ΈπŸ‡ͺ
Nowadays, the ".NET" moniker usually refers to recent versions of the netcore lineage.
Unknown User
Unknown Userβ€’2mo ago
Message Not Public
Sign In & Join Server To View
Merineth πŸ‡ΈπŸ‡ͺ
like what the fuck is a netcore lineage
Unknown User
Unknown Userβ€’2mo ago
Message Not Public
Sign In & Join Server To View
Pobiega
Pobiegaβ€’2mo ago
to be fair, that blurb is not a good answer to the question
Unknown User
Unknown Userβ€’2mo ago
Message Not Public
Sign In & Join Server To View
Pobiega
Pobiegaβ€’2mo ago
its good for people confused about .NET FX/Core/.NET
Merineth πŸ‡ΈπŸ‡ͺ
Like if someone asks me to explain what .NET is. I'm unable to answer that since most of the text above that you provided doesn't make any sense to me
Unknown User
Unknown Userβ€’2mo ago
Message Not Public
Sign In & Join Server To View
Pobiega
Pobiegaβ€’2mo ago
Consider Python. You have python2.7, 2.8, 3.0 etc. You have pip, and pyinstaller, and all this other stuff for C#, all that is covered by .NET C# is literally just a language syntax.
Unknown User
Unknown Userβ€’2mo ago
Message Not Public
Sign In & Join Server To View
Merineth πŸ‡ΈπŸ‡ͺ
Would this be correct?
No description
Pobiega
Pobiegaβ€’2mo ago
no? for one, the first list missed nuget, which I think is a major component of .NET
Unknown User
Unknown Userβ€’2mo ago
Message Not Public
Sign In & Join Server To View
Pobiega
Pobiegaβ€’2mo ago
second, "interoperability with COM" etc is.. uh.. what?
Merineth πŸ‡ΈπŸ‡ͺ
No. That slide is provided from my teacher on lectures
Pobiega
Pobiegaβ€’2mo ago
the next two bullet points are the same and "a simple distribution model", what does that even mean? "multiple DLL versions on the same machine"? makes no sense it also missed the compiler,. and dotnet cli tools
Merineth πŸ‡ΈπŸ‡ͺ
Welcome to my world πŸ™‚ :catgun:
Unknown User
Unknown Userβ€’2mo ago
Message Not Public
Sign In & Join Server To View
MODiX
MODiXβ€’2mo ago
.NET (or the .NET platform) is an umbrella term which can refer to any or all of the following, - the Runtime refers to the thing which runs your code. Also known are the Common Language Runtime or simply the CLR. The current version of the CLR is codenamed "CoreCLR" - the CLR includes a Just-In-Time Compiler(JIT), the thing which turns your compiled code from Intermediate Language(MSIL/IL) to machine code. The current version of the JIT is codenamed "RyuJIT" - the Base Class Library (BCL) refers to the libraries which are usable without installing any packages. Usually refers to types in the System namespace - the Framework Class Library (FCL) is an archaic name to a collection of frameworks such as the BCL, WPF, WinForms, and ASP.NET - the .NET languages - C#, VB, F#, and so on. - the .NET ecosystem refers to the tools, packages, and other utilities written for .NET(but not necessarily in any of the .NET languages), such as log4net, NuGet, and Visual Studio
Pobiega
Pobiegaβ€’2mo ago
idk what it even means here. My gut instict says that .NET + self-contained = simple distribution
Unknown User
Unknown Userβ€’2mo ago
Message Not Public
Sign In & Join Server To View
Pobiega
Pobiegaβ€’2mo ago
sure yes that itself implies running on a .NET runtime and using the .NET BCL thou which is what .NET refers to. the whole thing.
Merineth πŸ‡ΈπŸ‡ͺ
This makes it a little bit clearer. Essentially .NET is just a name for several different things which makes it easier for developers to develop programs? And C# is just a programming language which is also a .NET language?
Unknown User
Unknown Userβ€’2mo ago
Message Not Public
Sign In & Join Server To View
Merineth πŸ‡ΈπŸ‡ͺ
Yeah i see what you mean now by ecosystem
Unknown User
Unknown Userβ€’2mo ago
Message Not Public
Sign In & Join Server To View
Merineth πŸ‡ΈπŸ‡ͺ
Such as the Base Class Library (BCL) ?
Unknown User
Unknown Userβ€’2mo ago
Message Not Public
Sign In & Join Server To View
Merineth πŸ‡ΈπŸ‡ͺ
Feel free to view the slides
Unknown User
Unknown Userβ€’2mo ago
Message Not Public
Sign In & Join Server To View
Merineth πŸ‡ΈπŸ‡ͺ
Share the slides?
Unknown User
Unknown Userβ€’2mo ago
Message Not Public
Sign In & Join Server To View
Merineth πŸ‡ΈπŸ‡ͺ
Honestly, i'm not entirely sure There has been no mention of not showing it So i'm assuming it's ok?
Unknown User
Unknown Userβ€’2mo ago
Message Not Public
Sign In & Join Server To View
Pobiega
Pobiegaβ€’2mo ago
JFC
Pobiega
Pobiegaβ€’2mo ago
No description
Pobiega
Pobiegaβ€’2mo ago
kill me now
Unknown User
Unknown Userβ€’2mo ago
Message Not Public
Sign In & Join Server To View
Pobiega
Pobiegaβ€’2mo ago
or just to me. I've died enough because of statements like that
Unknown User
Unknown Userβ€’2mo ago
Message Not Public
Sign In & Join Server To View
Pobiega
Pobiegaβ€’2mo ago
so just to be very clear @Merineth .NET is absolutely not .NET Framework and .NET Core combined. Its a contiuation of .NET Core .NET Framework is legacy only and should be left to die
Unknown User
Unknown Userβ€’2mo ago
Message Not Public
Sign In & Join Server To View
Merineth πŸ‡ΈπŸ‡ͺ
I'm not entirely sure. This is our ILO
No description
Unknown User
Unknown Userβ€’2mo ago
Message Not Public
Sign In & Join Server To View
Merineth πŸ‡ΈπŸ‡ͺ
.NET framework is legacy? It doesn't exist anymore?
Unknown User
Unknown Userβ€’2mo ago
Message Not Public
Sign In & Join Server To View
Merineth πŸ‡ΈπŸ‡ͺ
Then why are they teaching us that :catfacepalm:
Unknown User
Unknown Userβ€’2mo ago
Message Not Public
Sign In & Join Server To View
Merineth πŸ‡ΈπŸ‡ͺ
I'm mainly going through the slides and making "questions" of them in notion so i can learn
Unknown User
Unknown Userβ€’2mo ago
Message Not Public
Sign In & Join Server To View
Merineth πŸ‡ΈπŸ‡ͺ
Ah i see
Pobiega
Pobiegaβ€’2mo ago
hey look
Pobiega
Pobiegaβ€’2mo ago
No description
Pobiega
Pobiegaβ€’2mo ago
at least they got that right πŸ˜„
Unknown User
Unknown Userβ€’2mo ago
Message Not Public
Sign In & Join Server To View
Merineth πŸ‡ΈπŸ‡ͺ
My sole focus right now is to pass my program rather than getting experience
Unknown User
Unknown Userβ€’2mo ago
Message Not Public
Sign In & Join Server To View
Merineth πŸ‡ΈπŸ‡ͺ
I just dont understand. The slides are like "ASPNET, threads, security primitives". Acting like i'm meant to know what these are?
No description
Unknown User
Unknown Userβ€’2mo ago
Message Not Public
Sign In & Join Server To View
Pobiega
Pobiegaβ€’2mo ago
I don't think the slides assume you know what everything means.
Merineth πŸ‡ΈπŸ‡ͺ
Yeah you are probably right. It's probably more "overall view" ?
Pobiega
Pobiegaβ€’2mo ago
its saying "the BCL contains a bunch of stuff, including.." ASP.NET, which is used to make websites and rest services etc
Unknown User
Unknown Userβ€’2mo ago
Message Not Public
Sign In & Join Server To View
Merineth πŸ‡ΈπŸ‡ͺ
I might be having a breakdown soon Like this is soooooo much information
Unknown User
Unknown Userβ€’2mo ago
Message Not Public
Sign In & Join Server To View
Merineth πŸ‡ΈπŸ‡ͺ
There is no way i can learn all this
Unknown User
Unknown Userβ€’2mo ago
Message Not Public
Sign In & Join Server To View
Merineth πŸ‡ΈπŸ‡ͺ
No. But i can preview the past exams
Unknown User
Unknown Userβ€’2mo ago
Message Not Public
Sign In & Join Server To View
Pobiega
Pobiegaβ€’2mo ago
no im good thanks that would be nuts
Merineth πŸ‡ΈπŸ‡ͺ
it most likely will
Unknown User
Unknown Userβ€’2mo ago
Message Not Public
Sign In & Join Server To View
Merineth πŸ‡ΈπŸ‡ͺ
the BCL is a collection of types which is used to create different types of applications such as Threading, Web APIs, Remoting APIs ... Would this be correct description for BCL? It wouldn't matter. It's clear that the teachers aren't interested in being teachers to being with At least at my school
Unknown User
Unknown Userβ€’2mo ago
Message Not Public
Sign In & Join Server To View
Merineth πŸ‡ΈπŸ‡ͺ
Base class library (BCL)
Unknown User
Unknown Userβ€’2mo ago
Message Not Public
Sign In & Join Server To View
Merineth πŸ‡ΈπŸ‡ͺ
Ok, so i'm essentially right?
Unknown User
Unknown Userβ€’2mo ago
Message Not Public
Sign In & Join Server To View
Unknown User
Unknown Userβ€’2mo ago
Message Not Public
Sign In & Join Server To View
Merineth πŸ‡ΈπŸ‡ͺ
Yeah but you have to keep in mind that i'm completely new to this and i have literally no idea what you mean when you refer to "big picture" etc. I just need a simple understanding of what each part is and does
Unknown User
Unknown Userβ€’2mo ago
Message Not Public
Sign In & Join Server To View
Merineth πŸ‡ΈπŸ‡ͺ
Would the BCL be "Using System" in C#?
Unknown User
Unknown Userβ€’2mo ago
Message Not Public
Sign In & Join Server To View
Merineth πŸ‡ΈπŸ‡ͺ
I don't know what List<T> is.
Unknown User
Unknown Userβ€’2mo ago
Message Not Public
Sign In & Join Server To View
Merineth πŸ‡ΈπŸ‡ͺ
Generic type?
Unknown User
Unknown Userβ€’2mo ago
Message Not Public
Sign In & Join Server To View
Merineth πŸ‡ΈπŸ‡ͺ
I don't remember
Unknown User
Unknown Userβ€’2mo ago
Message Not Public
Sign In & Join Server To View
Merineth πŸ‡ΈπŸ‡ͺ
We covered generic types yesterday in c# very shortly But yes, i have an idea of what it is
Unknown User
Unknown Userβ€’2mo ago
Message Not Public
Sign In & Join Server To View
sibber
sibberβ€’2mo ago
after you write some program in c# you need something to run it .net is what runs c# c# is compiled to an os/architecture independent intermediate language, and then something called the CLR (which has a version for each OS and architecture) takes this intermediate language and translates it (semi) live to the os and arch its running on now when your writing code, youre using things like Console.X which exist in System, youre using List<T> which exists in System.Collections.Generic, etc. those things that come with the language are called the Base Class Library, BCL.
Merineth πŸ‡ΈπŸ‡ͺ
Interesting
sibber
sibberβ€’2mo ago
the thing that compiles c# code is called roslyn roslyn, the CLR, the BCL, etc together are called .NET
Merineth πŸ‡ΈπŸ‡ͺ
So not to go too much in depth, C# is a language. .NET transforms/translates C# into the appropriate machine code for the appropriate OS that is being used?
sibber
sibberβ€’2mo ago
now there are also frameworks like ASP.NET Core which are written in something that compiles to .NET IL (intermediate language), in the case of asp.net its c#, and so we call those frameworks part of the .net platform a .NET language is a language that compiles to IL and runs on CoreCLR CoreCLR is the runtime for .NET
Merineth πŸ‡ΈπŸ‡ͺ
Wait hold on This is a lot
sibber
sibberβ€’2mo ago
CLR stands for common language runtime thats part of .net there are also the bcl, some frameworks
Merineth πŸ‡ΈπŸ‡ͺ
So .NET is just a combination of stuff which makes it easier for developers on different programming languages to work together?
sibber
sibberβ€’2mo ago
.net is a collection of some stuff that you can make language on top of c# is one of those
Merineth πŸ‡ΈπŸ‡ͺ
So c# is based of .NET?
sibber
sibberβ€’2mo ago
all languages built on .net can work together seamlessly yes now its possible for someone else to write a compiler for c#, and a runtime for .net that understands IL but c# is designed on .net
Merineth πŸ‡ΈπŸ‡ͺ
and .NET has it's own compiler? Or does every language have it's own compiler?
sibber
sibberβ€’2mo ago
yes its called Roslyn
Merineth πŸ‡ΈπŸ‡ͺ
I see. So when we write our code in C#, then we debug it + run it (i assume this is the compiling phase) we essentially compile it with Roslyn?
sibber
sibberβ€’2mo ago
it can, but as far as i know Roslyn is compiles c# and f# idk about the other .net langs
Merineth πŸ‡ΈπŸ‡ͺ
No worries, i'm mostly interested in C# only either way
sibber
sibberβ€’2mo ago
but i assume the teams that work on the f# compiler part and c# compiler are different
Merineth πŸ‡ΈπŸ‡ͺ
After it's compiled in Roslyn. Does .NET take it and make it into machine code? Or are there any intermediate steps?
sibber
sibberβ€’2mo ago
the debugger and other tooling is part of the .net sdk yes well the compiler as well
leowest
leowestβ€’2mo ago
thou it was roslyn for c# and vb and roslyn for f# being a separate thingy
sibber
sibberβ€’2mo ago
yes roslyn is the compiler well its a bit confusing because would you define the .net platform as only the runtime?
Merineth πŸ‡ΈπŸ‡ͺ
Something like this? Where the compiler is Roslyn for C#?
No description
sibber
sibberβ€’2mo ago
yes and the "interpreter" is called CoreCLR well, or the JIT depending on how you define it
Merineth πŸ‡ΈπŸ‡ͺ
Holy crap this is so much information Makes me dizzy just going through everything
sibber
sibberβ€’2mo ago
haha yeah its easier to get once you start using c#
Merineth πŸ‡ΈπŸ‡ͺ
Haven't gotten to that point yet However We did start with Visio today
sibber
sibberβ€’2mo ago
never touched that in my life oh its a diagram app
Merineth πŸ‡ΈπŸ‡ͺ
Yeah To build Classes, Subclasses and their relationships between them Based on a provided text given to us
sibber
sibberβ€’2mo ago
ah thats a weird order of teaching things
Pobiega
Pobiegaβ€’2mo ago
reminds me of my intro to java back in 2003-ish? we had to learn UML before code
Merineth πŸ‡ΈπŸ‡ͺ
Yeah i tend not to take the lectures to seriously because they are reaaaaally uninformative and bad cba having more anxiety lol Yeah wait UML
Pobiega
Pobiegaβ€’2mo ago
actively talking to someone studying YH in Tuc jΓΆnkΓΆping right now, btw πŸ˜„
Merineth πŸ‡ΈπŸ‡ͺ
Unified modeling language that is Visio, right? :catsweat:
Pobiega
Pobiegaβ€’2mo ago
Visio is one of many programs that can do UML modelling
Merineth πŸ‡ΈπŸ‡ͺ
YH?
Pobiega
Pobiegaβ€’2mo ago
yrkeshΓΆgskola
Merineth πŸ‡ΈπŸ‡ͺ
Do you know if they are on the 5 year or 3 year program?
Pobiega
Pobiegaβ€’2mo ago
YH are usually 2 years. Never heard of a 5 year YH
Merineth πŸ‡ΈπŸ‡ͺ
Ah i see I'm on the 5 year one not YH
Pobiega
Pobiegaβ€’2mo ago
well, you're on the university so thats a masters degree
Merineth πŸ‡ΈπŸ‡ͺ
Yeah
Pobiega
Pobiegaβ€’2mo ago
I did a 3 year program in computer science in UmeΓ₯ University, so I know what you are going through UmU was very good thou
Merineth πŸ‡ΈπŸ‡ͺ
Yeah i chose JU because it was the one i was able to get into :catHeyHello: I do have a basic understanding of .NET now so How do i close this help? Or mark it as solved
Pobiega
Pobiegaβ€’2mo ago
/close
Merineth πŸ‡ΈπŸ‡ͺ
thanks (:
arturaz
arturazβ€’2mo ago
@Merineth I'll add my take on this πŸ™‚ So every programming language either directly compiles to machine code or needs some sort of runtime/interpreter to turn that to machine code. Haskell, for example, takes in haskell source code, runs that through ghc (the compiler) and spews out machine code. That machine code contains the haskell runtime, which does things like garbage collection while your program is running. .net is basically: - a CLR (common language runtime) - a virtual machine that takes in IL (intermediate language) code and turns that into machine code when you launch an application. That is why you can compile a C# app once and run it on Windows/Mac/Linux without recompiling. - a standard library (BCL) which can be used by any programming language targetting .net - some default tools, like the dotnet CLI application that lets you create new projects easily, msbuild as the default build tool, nuget as the dependency manager. Various languages can compile to IL. C#/F#/VB.net does right now. Scala used to have a IL backend (that meant you could compile scala programs to run on CLR). C# is the primary language of .net which receives most support and resources.
Lopamudra
Lopamudraβ€’2mo ago
IS THERE IN FUTURE WORKING AS .NET DEVELOPER ? IS IT GOING TO BE IN MARKET LIKE AFTER 15 YEARS ?
sibber
sibberβ€’2mo ago
yes
Jimmacle
Jimmacleβ€’2mo ago
why are you screaming this question in a random help thread
Omnissiah
Omnissiahβ€’2mo ago
also 15 years is a long period of time...
sibber
sibberβ€’2mo ago
time flies
leowest
leowestβ€’2mo ago
well .net framework started in something 2002 so its been in the market for longer than 15 years already the move to just .net just makes it more powerful into the market as it expands its governance and accessibility
Lopamudra
Lopamudraβ€’2mo ago
Okhay thanks
Want results from more Discord servers?
Add your server