I have heard good things about nobara. I don’t mind doing a little thinkering to have things work but I also don’t want to spend hours doing recharch on how to fix things.
I have heard good things about nobara. I don’t mind doing a little thinkering to have things work but I also don’t want to spend hours doing recharch on how to fix things.
Arch
It gets a bad rap. Archinstall is extremely straightforward and after that it’s just installing a DE and it looks and works like every other distro.
why would anyone recommend arch to a newbie is anyone’s guess
Because the FUD surrounding Arch as robust as it is wrong.
Arch is fine, but you kind of need to know what’s going on or you’ll get overwhelmed and just nope out.
New users looking to accomplish a task (e.g. playing games, as in the OP) should use a mainstream distro with a graphical installer and whatnot. New users looking to learn Linux and want to use Arch can just use Arch. It’s really not that hard, but it’s also not the easiest to get started with.
I used Arch for 5 years and it was fine, but I got tired of a couple of annoyances and bailed (mostly Nvidia drivers getting out of sync w/ the kernel, manual intervention on upgrades, etc). I now use openSUSE Tumbleweed, which annoys me a lot less and has a very similar feel at the end of the day. I think Arch is fine, but I’m only going to recommend mainstream distros with a GUI-centric UX unless the person gives some indication that something else is preferred.
Probably the same reason you’d recommend c++ instead of Python to a new developer.
Yes, they’ll learn Python faster, but with c++ they’ll learn programming faster simply due to how much Python does on the programmers behalf.
There are valid arguments for both sides
Too many experts who value the deeper teaching potential angle seem to never want to acknowledge the bounce rate it will also have.
No, not everyone asking about how to get into the Linux ecosystem is doing so specifically because the knowledge itself is its own reward. Those who are will tighten their belts, whiten their knuckles, and figure it out just like you hoped they would. Those who aren’t will collapse under the sheer weight of all the bullshit and bail out. Frankly I’d consider the bulk of curious new users to be the latter and I default assume it for everyone who appears unless they indicate otherwise.
Some people think this kind of filtering based on willingness to learn is a good and healthy thing. I call it elitism and gatekeeping.
I strongly disagree.
If you want someone to learn how programming works mechanically, recommend C. It’s a very simple abstraction over the hardware, unlike C++ which comes with a ton of complexity that’s completely unrelated to the task of learning how programming works. There’s way too much magic with things like templates, operator overloading, etc that gets in the way. In fact, I recommend learning C on very simple hardware, like an Arduino, where you don’t have any of the nonsense associated with operating systems, like system-specific nuances in file handling and whatnot.
That said, I’ll always recommend Python first to new programmers. It has relatively little magic while abstracting away most of the annoyances and footguns that you’ll get in lower-level languages like C. Once the user is comfortable using Python to get things done and is interested in learning more, I’d throw them in the deep end and recommend Rust, which forces you to contend with things programmers are expected to understand (but can easily get away with not understanding) in C/C++, such as ownership and lifetimes. Python is the “get stuff done” language, and Rust is “theoretical CS in practice.” If they really like Rust, I’ll steer them toward functional languages like Haskell which go even harder on the CS theory. Or if they want something a bit more “mainstream” than Rust (e.g. they want to make games), going for C++ makes a lot of sense, and they’d probably write better C++ because they’ve learned the strategies and terminology from Rust.
I strongly disagree with this. I’ve learn to program with C (pure C), and I lost so much time with that language’s cruft and idiosyncrasies. Python is a much better tool to teach programming concepts.