‹ BackHN Continuity

Thread

What Zig felt like, coming from Rust

282 points · 351 comments · ksec

  1. hn_submit · · focus · HN ↗
    There will never be a true successor to C since C is "high level assembly." The lack of pointer checking, unsafe casts and non-existent bounds checking aren't an oversight but by design! Assembly doesn't have them so neither does C! There's no reason to whine about it.

    The real problem is that people are using C for the wrong reasons. C is for the development of operating systems and low-level code, not applications.

    Zig is more modern but anything that does even one iota more of hand-holding or has anything that looks like a guardrail fails the test.

    If you want to write applications use Pascal, Java, C#, Swift or Go.

    1. monocasa · · focus · HN ↗
      Except Rust is actively being used in kernel space and low level embedded systems as well.
      1. hn_submit · · focus · HN ↗
        It's useful, but systems programming languages shouldn't be used to create applications in the first place.

        We're trying to solve a problem that shouldn't be solved. We're continuing and even confirming the usage of systems programming languages for application development.

        1. everforward · · focus · HN ↗
          I don’t think this delineation is that clear, unless by “application” you mean the app tier of a 3 tier app.

          Postgres and Nginx make sense in system programming languages; they’re extremely performance sensitive and that granular level of control offers them features. Interpreters are sort of the same, they interact with the OS a ton, it makes sense to work in the same language as the OS.

          I do generally agree for the app tier of a web app. I wouldn’t build a CMS in Rust, but I also wouldn’t build a reverse proxy in Python.

          1. hn_submit · · focus · HN ↗
            Writing an operating system kernel in C is valid usage since there's a great deal of thought going into it and it almost never changes.

            EVERYTHING ELSE is invalid usage no matter how performance critical people claim their application is. These are just excuses for people to use a grossly unsafe language to get that last 2% of performance whilst costing the world trillions in lost productivity and security breaches.

            1. RossBencina · · focus · HN ↗
              An operating system kernel is the last place you want an unsafe language, if you can help it.
Open on Hacker News to reply ↗

Unofficial Hacker News client; not affiliated with Y Combinator.