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.

  • sugar_in_your_tea@sh.itjust.works
    link
    fedilink
    arrow-up
    0
    ·
    7 months ago

    with c++ they’ll learn programming faster

    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.