• 0 Posts
  • 52 Comments
Joined 1 year ago
cake
Cake day: August 4th, 2023

help-circle
    • Zig uses allocators, which will inform you if you are leaking memory.
    • Zig comes with defer/errdefer to simplify the resource cleanup (and for ergonomics).
    • Zig comes with Optionals to manage nulls.
    • Zig comes with slices (ptr + size) to manage all the bound-checking.
    • Zig automatically check for overflow/underflow arithmetic.
    • Zig will check for pointer alignments when casting between pointer types.

    => Zig is designed to make you do it right easily, and very hard to do it wrong.

    In other words, Zig will let you be, but warn you when you are doing something wrong, where Rust is like Karen who is always screaming at you for every word you are typing.

    To summarize, you really need to /want/ to fuck up to fail your memory management… If after all that you still can’t manage your memory, it might be better for you to look for another carer.

    Something is sure thou, Zig is very safe - just as it’s safe to cut my veggies with a knife. I might cut a finger and bleed a little bit, but I will not use plastic knife “because it’s safer”.

    Moreover; You are talking like if Rust is safe, all the time, which is not true in reality:

    52.5% of the popular crates have unsafe code. Therefore, in an average real-world Rust project, you can expect a significant number of the dependent crates to have unsafe code – Source

    Basically, you’re comparing a hypothetical world where Rust is always safe to a superficial glance at Zig’s capabilities to claim a “winner” here.

    And for the String library… Are you fucking serious? Do you want to compare the Zig’s Std library versus the famously tiny Rust Std library? Really?



  • As a void Linux user, I approve this message.

    Debian is a solid and a very popular distro. It’s also the base distro of many other; there is a great selection of packages, an excellent package manager and it’s well documented.

    If you don’t Frankendebian your box, Debian is one of the most, if not the most, stable distro out there.

    It’s a great place to learn, and since you already have experience with it, you’re not starting from nothing.

    I would also suggest you to stick with “stable” at the beginning. You will be tempted to switch for “testing”, but believe me, stick to “stable” until you know what you are doing.

    Have fun!


  • Don’t take it personally.

    It’s how the guy who wrote the blog sounds like, it’s not toward you.

    I tend to have a grain of scepticism when someone is declaring high and loud that something widely used us /just the worst/.

    Also, it just happens his alternative is just: “use this instead, its made in Rust”







  • C wasn’t my first language, but I learnt the most whilst learning C…

    People are talking about footguns and what not security related issues. I agree it’s easy to write bad C code, but if you want to learn what’s going on, learn C.

    Today I know a dozen of programming languages and C has always been in a special place in my heart. I am using Zig for my personal projects at the moment. It’s similar to C, without the pitfalls, and my C knowledge still helped me to learn that language.

    Learning C is a service you are doing to yourself for the rest of your life.




  • Evolution happens by iteration. Every iteration hopes to be a little bit better by bringing something a little bit differently.

    F1 cars are a good example of that. Yet, nobody is going to say F1 from the 90’s could compete with today’s version.

    And, anyway, time well spent for someone is always a waste of time for someone else.

    BTW, I want to thank all the Void Linux contributors for that excellent distribution. It has been a while since I changed my main distro.

    I was using Debian for 15 years; but sadly it didn’t evolved much and something new appeared…






  • My personal experience is most people who are using git with a GUI are the same people who are asking my help to git-fu their git-problems…

    Most GUIs only offer a subset of the git functionalities and hide what’s really going on by obscuring gitshell with “their workflow”.

    In all cases, use what you like; some people like the shell. Cheatsheets are normally only for learning purposes and usually don’t stick for long, it’s not an end game thing…