Live data from Hacker News

Ask HN: What Are Downsides of Rust Language?

news.ycombinator.com

11–20 of 22 posts

Re: Ask HN: What Are Downsides of Rust Language?

#11
post #8

The biggest issue which is inherent to the language is the learning curve. I feel there is limit beyond which language cannot be made easy to learn. I still claim it is worth learning Rust, however my point should still stand. From personal experience: Our company had tailor made use-case to use Rust (switching from Python), more than Go. Experiments were performed and Rust outperformed Go in all aspects (time, CPU,…

I made a similar decision quite a while back, though in the past year I reverted that decision and am back to using Rust.

My revert was mainly due to my realization that yes, Rust does take quite a bit to spin new devs up, it can be far easier than people give it credit for.

Specifically I found that I was able to write Rust code that looked, felt and prototyped just as fast as Go code. The complexities of Rust come when you push beyond Go's feature set, namely lifetimes and the myriad of Generics features. Yet, if you don't use those, if you pretend Rust is Go, the language is far far more approachable to new devs.

You may ask "what's the point then? Why not just use Go?" as I did. The answer imo, lies in if you ever expect to want or need features beyond Go. If you're using Go but need something more you're sort of stuck. You'll force your way through fitting Go's square peg into a round hole, or be forced to rewrite in something else. However if you're already using Rust you can simply use more advanced features in the specific areas you need.

Re: Ask HN: What Are Downsides of Rust Language?

#12
post #9

Rust is criticized on in too, but you can't read the criticism because it's downmodded to the background color. ;) For me, Rust fundamentally doesn't offer anything that 1) I want and 2) Python doesn't already have. The language I want is a better version of Python, not a better version of C++.

Criticisms aren't downsides though, imo. I'd imagine downsides are more objective, less subjective.

Eg, Rust often gets criticized for it's Syntax (rather, lots of it, ::, etc.). Yet, this isn't a downside in Rust, it's merely an opinion.

I'd be curious though what you think these downvoted into oblivion criticisms are? The ones here have been well received, and are quite fair. I'd be curious to see a criticism that's not widely agreed upon.

Re: Ask HN: What Are Downsides of Rust Language?

#13
post #4

https://old.reddit.com/r/rust/comments/c0xwjd/all_i_hear_abo... > Not considering toolchain / language maturity & stability, what are disadvantages of rust? You can't really "not consider" these things - they're big factors in any decision you might want to make. If you think the Rust toolchain and language ecosystem are half-baked and not yet ready for prime time, that's quite important!

Well, I am trying to evaluate rust the language, because if the language is good, as a student, time investment can be worth it...

So this is a bit off topic, but on the note of time investment, I'd definitely say learning Rust is valuable for your mental model. Common patterns in languages (take Go for example) allow you to do unsafe things very, very easily. Often simply involving pointers.

When you start writing programs in Rust you can often back yourself into a corner. These corners are often unsafe, but allowed patterns in other languages.

Sure, you can solve this by forcefully Mutexing everything, or you can often learn a "better" design which doesn't involve trying to prevent race conditions. These batter patterns are not exclusive to Rust and can be brought to many languages. It's just that most languages won't help you discover them.

So what I'm saying is that learning Rust can make you a better X developer, even if you don't stick with Rust. Especially if you really learn it, and get a feel for what patterns to avoid, etc. If you just learn the syntax Rust isn't likely to help you, imo.

Re: Ask HN: What Are Downsides of Rust Language?

#14
post #9

Rust is criticized on in too, but you can't read the criticism because it's downmodded to the background color. ;) For me, Rust fundamentally doesn't offer anything that 1) I want and 2) Python doesn't already have. The language I want is a better version of Python, not a better version of C++.

What would you like to see in the better version of Python?

Re: Ask HN: What Are Downsides of Rust Language?

#15
post #8

The biggest issue which is inherent to the language is the learning curve. I feel there is limit beyond which language cannot be made easy to learn. I still claim it is worth learning Rust, however my point should still stand. From personal experience: Our company had tailor made use-case to use Rust (switching from Python), more than Go. Experiments were performed and Rust outperformed Go in all aspects (time, CPU,…

"The biggest issue which is inherent to the language is the learning curve"

I think of Rust as a "full-time" language - it doesn't lend itself to small, part-time use like languages such as Python or Ruby.

It is not an immediatley approachable language and can appear intimidating at first. It feels big, although this is subjective and for some a large language is not a problem.

I don't like the terse and cryptic syntax of Rust but this too is subjective and for many programmers it's something easily overcome. I do wonder though: what would people's perception (and takeup) of Rust have been like if the language had syntax closer to Ruby or Python?

Re: Ask HN: What Are Downsides of Rust Language?

#16
post #9

Rust is criticized on in too, but you can't read the criticism because it's downmodded to the background color. ;) For me, Rust fundamentally doesn't offer anything that 1) I want and 2) Python doesn't already have. The language I want is a better version of Python, not a better version of C++.

What would you like to see in the better version of Python?

More focus on immutable data and "immutability-friendly" syntax.

Re: Ask HN: What Are Downsides of Rust Language?

#17
post #9

Rust is criticized on in too, but you can't read the criticism because it's downmodded to the background color. ;) For me, Rust fundamentally doesn't offer anything that 1) I want and 2) Python doesn't already have. The language I want is a better version of Python, not a better version of C++.

There are a few new languages competing for the title of “better Python,” i.e., a language with Python-inspired syntax, optional typing, and native compilation. Julia is trying to be a “better Python” for mathematical and scientific computing, and Nim is aiming to be a better general purpose Python. Nim predates Julia by a few years, but there’s a lot of excitement around Julia these days.

Re: Ask HN: What Are Downsides of Rust Language?

#18
post #8

The biggest issue which is inherent to the language is the learning curve. I feel there is limit beyond which language cannot be made easy to learn. I still claim it is worth learning Rust, however my point should still stand. From personal experience: Our company had tailor made use-case to use Rust (switching from Python), more than Go. Experiments were performed and Rust outperformed Go in all aspects (time, CPU,…

"The biggest issue which is inherent to the language is the learning curve"

I agree. I have been learning Rust over the past year or so and I'm still getting hung on areas where trying to borrow an already borrowed value while in a loop. That said, the compiler error messages are typically very good.

Re: Ask HN: What Are Downsides of Rust Language?

#19
post #17
post #9

Rust is criticized on in too, but you can't read the criticism because it's downmodded to the background color. ;) For me, Rust fundamentally doesn't offer anything that 1) I want and 2) Python doesn't already have. The language I want is a better version of Python, not a better version of C++.

There are a few new languages competing for the title of “better Python,” i.e., a language with Python-inspired syntax, optional typing, and native compilation. Julia is trying to be a “better Python” for mathematical and scientific computing, and Nim is aiming to be a better general purpose Python. Nim predates Julia by a few years, but there’s a lot of excitement around Julia these days.

I've tried both and I don't think they are better than Python. For one, they don't do integer arithmetic correctly by default:

    julia> 2^64
    -9223372036854775808
To me, that is simply not ok. The point of HLLs is that details like sizes of hardware registers shouldn't matter.

Re: Ask HN: What Are Downsides of Rust Language?

#20
post #19
post #17

Earlier quoted context omitted.

There are a few new languages competing for the title of “better Python,” i.e., a language with Python-inspired syntax, optional typing, and native compilation. Julia is trying to be a “better Python” for mathematical and scientific computing, and Nim is aiming to be a better general purpose Python. Nim predates Julia by a few years, but there’s a lot of excitement around Julia these days.

I've tried both and I don't think they are better than Python. For one, they don't do integer arithmetic correctly by default: julia> 2^64 -9223372036854775808 To me, that is simply not ok. The point of HLLs is that details like sizes of hardware registers shouldn't matter.

Understood; I put "better Python" in scare quotes because everyone has their own vision of what that "better X" would look like in an ideal world. Julia offers a python-like syntax but doesn't really attempt to duplicate the python developer experience.

Based on your other comments, if you're OK with a more Ruby-flavored syntax, you could look at Elixir. Its designers put a lot of effort into pervasive immutability and a solid developer experience.

Post reply on HN