this post was submitted on 14 Aug 2023
38 points (91.3% liked)

Rust

6035 readers
16 users here now

Welcome to the Rust community! This is a place to discuss about the Rust programming language.

Wormhole

!performance@programming.dev

Credits

  • The icon is a modified version of the official rust logo (changing the colors to a gradient and black background)

founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] MakeAvoy@programming.dev 7 points 1 year ago (2 children)

High level folks complain it takes too long to code in and is hard to understand the borrow checker. Low level folks complain it takes too long to code in and is hard to understand the borrow checker. Honestly though the borrow checker is a great compromise to idiot proof memory leak prevention, and the C folks can just throw in unsafe when they want start slinging pointers and manual heap management. The macro system alone is so good I don't think it's fair to appraise the language until you've written a dozen macros

[–] Alonely0@mastodon.social 4 points 1 year ago* (last edited 1 year ago)

@MakeAvoy @snaggen Have you ever written a recursive macro with multiple variadic arguments, my friend? It is so cursed, yet so good when it works (if it works).

[–] hairyballs@programming.dev 1 points 1 year ago* (last edited 1 year ago)

I'd argue the macros are quite bad:

  • Declarative macros are hard to read, same level as regex
  • Procedural macros require to write a new crate with a ton of boilerplate, sometimes for stuff conceptually really simple (like hash is: apply the same function to every field, then compose the results)

I agree, though, that it's better there're here than nothing. It's just that there is to be a better solution.