So one thing I want to clarify, just in-case. Linux is the name of the kernel, which is the lowest portion of an operating system. There’s a huge selection of things to pick on top of that.
Furthermore, due to being open source, you can have a dedicated computer built for Linux, or just install it on an existing system, either dual boot or completely.
There are even middle ground options where you install software that emulates systems (Virtual Machines) that run inside of your current system, so you can do what you want.
Finally, there are other more interesting options, such as connecting to a remote server, or service internally (WSL) or externally (the cloud) to do your development there.
This is probably the most complex part of “using Linux”, in that because its so generic, so flexible, and open sourced, there are essentially infinite ways to do what you want. It comes down more to specifics on which way is “best”.
I think the most obvious, and the most common, approach is to just get an existing machine, get a Linux OS distribution from somewhere, load it on a USB and follow the self installer. Bam you got yourself a machine running Linux on it.
This is probably what you want to do, there are all the other interesting options I mentioned above, but I’d leave those for you to look into, to see if they are closer to what you’d like to do.
Otherwise, your left with the details of the “install on another machine”. With key considerations such as:
- Which machine?
- Which distro?
- Risk considerations if you screw something up
Which machine
Linux can be installed on most existing machines you could fine. From an old tower you have in your closet, to a new machine you just built, to even a super computer NASA is running in their data centers. You could go out, buy and build your own system. However, if your goal is to program on it, I wouldn’t dive too deep into the system considerations too much. As with anything you can spend all your efforts tweaking and optimizing the hardware to work with the software and not get to the actual software part you originally wanted.
As such, I’d probably think about using an older machine (not your current one) that you can use as a test-bed. Otherwise you can always dual boot your current machine, but then you run the risk of “locking yourself out” by screwing up the boot between the two systems.
Or if you can’t go either of those routes, using a VM software is also on the table.
Which distro?
So once you have your hardware, the question of “Which Linux Distro to get” is where the real fun begins. You linked GNU Linux, which is a site that acts as an “entry point” to the whole idea of Linux, and provides external resources, such as this distro page:
Generally, for beginners the most common choice currently is some form of Ubuntu, which is a distro that is the most commonly used, and thus easiest to get help on.
There are multiple sub-flavors of Ubuntu, from more lightweight options to the normal base Ubuntu, which can provide a very “flashy” and polished experience, to a more middle of the road as Linux Mint (built ontop of Ubuntu).
It might take some time “shopping around”, but I suggest do to some research here, and maybe try things out. I’d compare it to car shopping, except every car is free to take home, try out and even return for another car/distro!
Risk considerations if you screw something up
As I just mentioned, picking a distro allows you a lot of flexibility, but might take the most time. However, odds are something will go wrong at some point. It could be as simple as not installing the drivers for your OS, to not being able to login to any operating system due to a bootloader issue.
So do keep in mind, that the software you end up do using could easily mess up your current setup. Which is why dual booting is more risky, and installing on its own machine more “risk-proof”. Ultimately you don’t “break” anything, unless you delete your existing operating systems, so do back-up whats important on whatever machine you play around with.
Good luck, have fun!