this post was submitted on 14 Aug 2023
36 points (90.9% liked)

Rust

6117 readers
4 users here now

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

Wormhole

[email protected]

Credits

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

founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 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

[–] [email protected] 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).

[–] [email protected] 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.