this post was submitted on 26 Feb 2024
43 points (87.7% liked)
Linux Gaming
16064 readers
54 users here now
Gaming on the GNU/Linux operating system.
Recommended news sources:
Related chat:
Related Communities:
Please be nice to other members. Anyone not being nice will be banned. Keep it fun, respectful and just be awesome to each other.
founded 4 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
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.