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

Rust

6004 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 1 year ago
MODERATORS
38
submitted 1 year ago* (last edited 1 year ago) by snaggen to c/rust
you are viewing a single comment's thread
view the rest of the comments
[–] swordsmanluke 5 points 1 year 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.

[–] [email protected] 2 points 1 year ago* (last edited 1 year 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.

[–] Deely 1 points 1 year ago* (last edited 1 year 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?

[–] swordsmanluke 2 points 1 year 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.

[–] [email protected] 1 points 1 year ago

You might like Tauri