![](/static/66c60d9f/assets/icons/icon-96x96.png)
![](https://lemmy.ml/pictrs/image/d3d059e3-fa3d-45af-ac93-ac894beba378.png)
While I agree with a lot of the other comments with the “you learn by doing vibe”, I feel like it’s a bit open ended and it can be a struggle taking the first step.
I started out around 2012 with some “how to do java” tutorials, and through that learned the language agnostic basics of programming (variables, functions, arrays, loops etc). But because I had nothing I wanted to make, I dropped that pretty soon after and didn’t touch anything code related for like 5 years.
I randomly applied for a job that required a whole lot of sql knowledge, got the role (when I probably shouldn’t have in all honesty) and that prior knowledge helped tremendously in getting up to speed with that, I just had to learn the sql specific stuff on the go.
I then wanted to do a Pokemon Romhack, so followed tutorials on YouTube which taught me a bunch of C and git.
So yeah, it wasn’t until I actually needed to use something that I actually learned any languages, and the original language I set out to learn I know absolutely nothing about now, but it did give me the baseline knowledge I needed to pick all the rest up far easier.
I made the switch 2-3 months ago, and I went with Kubuntu. It’s absolutely fine, but if I knew then what I know now I’d likely have gone pop or mint, just to not bother with snaps (although they’re pretty easy to get rid of).
As others have said, get Ventoy on a USB stick, use that to have a play with a few live environments and get a feel for what desktop environment you might want to use. KDE and Cinnamon I think are pretty good Desktop Environments if you’re used to Windows, but have some fun with it and also try a few that are very different to windows, you might find yourself liking them (I really like using i3 on my laptop where the screen is fairly low res)