you are viewing a single comment's thread
view the rest of the comments
[–] 4 points 2 years ago (2 children)

Good:

  • fast
  • high-level language constructs like iterators
  • memory bugs harder to write vs C/C++
  • compiler errors are ridiculously helpful
  • borrow checker makes some hard things easier (memory management; Inter-thread communication)

Not so good:

  • you will not like the borrow checker, even as it saves you from yourself
  • executables are larger due to static linking
  • language is BIIIG
  • compilation is slow (but getting better)

Overall, I like Rust a lot. I think its reputation as a great language is well-deserved. It's not an "easy" language to use, but it prevents so many footguns... It takes me longer to get to a working prototype in Rust. But the first time it compiles successfully... it's probably right.

If I'm working on a project that needs to be fast, I'll reach for Rust over C these days.

  • source
  • parent
  • hideshow 4 child comments
  • [–] 2 points 2 years ago*

    you will not like the borrow checker, even as it saves you from yourself

    I absolutely love the borrow checker. When I do stupid things, instead of me debugging segfaults in prod a week later, it goes "here dumdum, that won't work"

    Rust gives me better safety than popular high level languages because it is properly typed AND C++ like performance.

    In the past I'd always be forced to choose between:

    • fast development, slow runtime, big fat VM to lug around, no segfaults

    • slow development, fast runtime, no VM, segfaults

    With Rust I finally get both! Fast development, fast runtime, no VM, no segfaults. It's a dream come true.

    I get that there are some half-gods with 30 years of experience that can write safe and reliable C++, but I am not as smart as them nor have I 30 years to learn. And thrn again, even the best C++ developers still occasionally write memory management bugs. It's been more than a decade since I've actually been happy with a new programming language, and I love it.

  • source
  • parent
  • [–] 1 point 2 years ago* (2 children)

    Thanks, you comment definitely makes me want to try Rust.

    Could you tell me, can I use Rust as general purpose application language? Something like: create small executable app (win,unix,mac) that read some files, and do something with it, create GUI app that connects to DB and do something with it, etc?

  • source
  • parent
  • hideshow 4 child comments
  • [–] 2 points 2 years ago

    Yesbut...

    Rust's GUI frameworks are all (afaik) still pretty early and a little clunky to use.

    ...and compiling for Windows is a little clunky.

    From a purely yes/no perspective, you can absolutely use Rust for building desktop GUI apps... But I'd recommend using a different language unless your app has really tight performance requirements.

    If you want to make a cross platform app with good GUI support, I'd a actually recommend checking out Godot. It's technically a game engine, but the built in scripting language (gdscript) and GUI components are really great. If gdscript is too slow for your purposes you can swap in a lot of other languages (including Rust) though C# is the best supported of these.

  • source
  • parent