Remix.run Logo
theusus 6 hours ago

> manual memory management

Rust has automatic memory management.

> Complexity tax

Could you be more specific?

honeycrispy 5 hours ago | parent | next [-]

The trait/type system can get pretty complex. Advanced Rust doesn't inherit like typical OOP, you build on generics with trait constraints, and that is a much more complex and unusual thing to model in the mind. Granted you get used to it.

burnt-resistor 4 hours ago | parent [-]

OOP inheritance is an anti-pattern and hype train of the 90's/00's, especially multiple inheritance. Especially the codebases where they create extremely verbose factories and abstract classes for every damn thing ... Java, C++, and the Hack (PHP-kind) shop are frequently guilty of this.

Duck typing and selective traits/protocols are the way to go™. Go, Rust, Erlang+Elixir... they're sane.

What I don't like about Rust is the inability to override blanket trait implementations, and the inability to provide multiple, very narrow, semi-blanket implementations.

Finally: People who can't/don't want to learn multiple programming language platform paradigms probably should turn in their professional software engineer cards. ;)

quotemstr 5 hours ago | parent | prev [-]

> Rust has automatic memory management

Sure, if you define "automatic memory management" in a bespoke way.

> Could you be more specific?

The lifetime system, one of the most complex and challenging parts of the Rust programming model, exists only so that Rust can combine manual memory management with memory safety. Relax the requirement to manage memory manually and you can safely delete lifetimes and end up with a much simpler language.

Have you ever written a Java or Python program?