Sounds like a job for a USB trial run on a rainy weekend when you’re not doing anything else.
Nvidia supply OEM drivers for the Debian family (Debian, Ubuntu, Mint), if not others, assuming the open-source drivers don’t cut it for you. Microcode updates are released for both Intel and AMD.
You’ll probably run into issues with some games. Things are getting better on Linux, slowly and steadily, but many games are written specifically for Windows with no Linux port available. Steam’s store, for example, shows which games are SteamOS compatible, which usually means they’ll run on Linux too.
For other games it’s worth checking the Internet - e.g. www.protondb.com to see if anyone else has a particular game running under Linux. You’re probably aware that there are programs that attempt to provide some layer of Windows behaviour that form part of the solution. Some of the solutions may or may not involve command line use.
95% of all “Introduction to <whatever programming language>” books tend to dedicate the first couple of chapters to the fundamentals but with a specific bias towards the language in question. Seek out a few of those at a library or online equivalent and you’ll start to see patterns cropping up.
Anything that doesn’t have that bias is likely to use pseudocode which looks like a programming language anyway.
Object orientation works around the concept that things in the program “know” things about themselves and how to do things for themselves rather than have some other part of the program do things to them. Commonly you’ll see things like
doSomethingWith(someObject)
being the non-OO way andsomeObject.doSomething
being the OO way. That is, in the lattersomeObject
contains the knowledge of how todoSomething
, and the dot notation urges it to do whatever it is.For a silly but more concrete example,
x ← 2 + 2
is non-OO, butx ← 2.add(2)
is at least partially OO because the first 2 is expected to know how to add another 2 to itself and give out the correct answer. Presumably in whatever language that is, someone has created a method for numbers to know what to do when told toadd
. The other 2 doesn’t really get a say in things. We might also have, say,elephant.putOn(hat)
, but it might not be possible tohat.putOn(elephant)
because no-one thought to teach the hat how to wear things, let alone elephants.