Is it just me, or does Rust feel much more bare-bones than other languages? I just started learning it recently and this is the one thing that stood out to me, much more so than the memory management business. A lot of things that would normally be part of the language has to be achieved through meta-programming in Rust.

Is this a deliberate design choice? What do we gain from this setup?


Edits:

  1. Somehow, this question is being interpreted as a complaint. It’s not a complaint. As a user, I don’t care how the language is designed as long as it has a good user experience, but the curious part of my mind always wants to know why things are the way they are. Maybe another way to phrase my question: Is this decision to rely more on meta-programming responsible for some of the good UX we get in Rust? And if so, how?
  2. I’m using meta-programming to mean code that generates code in the original language. So if I’m programming in Rust, that would be code that generate more Rust code. This excludes compilation where Rust gets converted into assembly or any other intermediate representation.
  • @6nk06@sh.itjust.works
    link
    fedilink
    3
    edit-2
    2 days ago

    even the meta-programming is done in plain Python

    @decorator comes to mind, and only the keyword is part of the language.

    Common Lisp has meta programming built-in but no one uses Common Lisp for a good reason.

    • @solrize@lemmy.ml
      link
      fedilink
      2
      edit-2
      2 days ago

      Common Lisp has meta programming built-in but no one uses Common Lisp for a good reason.

      I use Common Lisp, but maybe you’re right and my reason for using it is bad.