MANY THANKS for the link

https://dusted.codes/dotnet-basics

with

.NET Basics

Just read it all. EXCELLENT information. Kept a copy. Indexed it in the appropriate place in my .NET documentation. That information will be a big help in my software writing for my startup.

Microsoft, this document is HELPING you a LOT with me. Did I mention, my view is that the biggest problem in my software writing, startup, Microsoft, the US economy, the future of computing, and progress in civilization now is in just one word, DOCUMENTATION that is missing for Microsoft's software. This is not funny or a joke but very serious.

Okay, .NET Foundation, through version 4.x, was for writing software only on Windows, and CORE was for writing software on nearly any operating system. Now at .NET version 5, Foundation and CORE have become the same thing.

Okay. I suspect that with CORE/.NET version 5, my old code written using .NET 2.x and 4.x and ASP.NET and ADO.NET will still run as before, mostly or entirely except maybe a lot faster. Okay.

I would make some suggestions about

.NET Basics

(1) It's possible to use .NET to write a program that compiles to a file with extension EXE and not just DLL. I did that many times. E.g., part of the software I wrote was a key-value store that runs as a server, console application, is an EXE, and provides its service via TCP/IP.

(2) Say that jargon is a word used with a meaning not in a standard dictionary and used with a narrow meaning in a narrow field. Well, the document would be better defining more of its jargon. Same for acronyms.

(3) Apparently software can run "on" a platform or "under" the CLI or CLR. Using both on and under makes no sense -- stick with one or the other. Since software stack is so common, maybe stick with on and drop under.

(4) The description of interpreted software is nothing like what I have long understood. The document seems to claim that interpreted software is much the same as just in time complied software; here there is a new sequence of machine instructions generated (the instructions are not new but the sequence is). In total contrast, my understanding is that interpreted software is having a program, the interpreter, run the user's software simply by directly doing what that software says. It is like a human reading the software and doing what it says -- no new sequence of machine instructions generated. A good example of interpreted software is the scripting language Rexx. I'm fairly sure, and due to computer security certainly hope, that JavaScript software is executed interpretively.

(5) It seems that the document is claiming that for writing programs with .NET it necessary to use Visual Studio. Gads, I HOPE NOT! I just checked and see that I wrote 11 million bytes of .NET software, and I never used Visual Studio. I fully intend never to use Visual Studio. Instead, all my software source code is just simple plain text I type in with my favorite plain text text editor KEDIT -- ALL of it.

NO WAY do I want any usage of Visual Studio. I tried it once: There was a LOT to learn just to consider writing the standard "Hello World". And for the initial project to write Hello World, I got some huge file system tree with maybe 50 million bytes of I don't know what the heck. And when something went wrong, I'd have to work through 50+ million bytes of undocumented I don't know what. I see writing the software for my startup on Visual Studio a threat like my being lashed to a railroad track with freight train at 80 MPH 100 yards away coming right for me. NO WAY.

I just checked: The way I got my .NET code compiled was just run as a command line the .NET VB compiler EXE program

Microsoft.NET\Framework\v4.0.30319\vbc.exe

Worked fine. Got to "Hello World" right away. Worked fine for 300+ .VB programs. Used TCP/IP, ADO.NET, etc. -- just fine. The compiling on a very cheap AMD processor with a 1.8 GHz clock was really fast. I was a super happy camper, thrilled, and NO Visual Studio in sight.

Debugging? Didn't have any problems a little print tracing didn't easily solve.

Documentation for using .NET objects? Put the tree name on my disk of the relevant Web page I'd downloaded from MSDN in my source code, and with one key stroke my editor would run a macro that did a little parsing and displayed the MSDN Web page. Worked great. No problems.

Now, however, that macro won't work: Somehow Firefox now floods me with popups about "safe mode", "Do you want to ..." and refuses just to display the Web page. So, will have to revise my editor macro to use the old version of Google's Web browser Chrome to display the pages. Firefox messed up, big time, and is no longer qualified to be my "default browser".

A lot of people with famous software have convinced themselves that it is really good NOT to do the work the user is requesting but, instead, to stop the work of the user, refuse to do the work, and put up various windows, popups, video clips, etc., lots and lots of stuff other than the actual work involved. Of course I avoid such software as much as I can. Adobe did that with Acrobat, and now there is NOTHING by Adobe on my computer. Firefox did some of that, and now Firefox is no long my default browser. This popup and "Do you want to ..." stuff is a really good way to get OFF my computers.

THANKS again for the reference. Remarks (1)-(5) aside, the good stuff in

.NET Basics

is TERRIFIC information!