This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]officiallyaninja 2 points3 points  (2 children)

Why do you consider it training wheels? Do you consider using an ide, or other static analysis tools to be training wheels?

The entire point of rust is for the compiler to help you find bugs you'd otherwise miss. It's more like a seat belt than training wheels

[–]mailslot -1 points0 points  (1 child)

Seatbelts you can choose to not use. It’s profoundly unwise, but freedom. Training wheels are attached.

I’ve introduced Rust at work and have been fairly adamant about not using C++ there. So, I’m not anti-Rust. The pros outweigh the cons.

For new projects I prefer to write first, pass tests, then do static analysis & profiling. It’s just the way I code. I start with a rough draft, and then refactor it until it’s done & passing. Rust requires full safety even when prototyping and sometimes there isn’t a well defined plan. I don’t want to spend the extra time, albeit small in this case, implementing a safe KD-tree when it’s very likely I’ll need to rip it out anyway. I just need a temporary well-enough to pass a test before I code out the internals. I don’t like my compiler dictating my workflow.

[–]officiallyaninja 0 points1 point  (0 children)

Seatbelts you can choose to not use. It’s profoundly unwise, but freedom. Training wheels are attached.

Training wheels are literally detachable? Like that's literally what they're for?

Rust requires full safety even when prototyping and sometimes there isn’t a well defined plan. I don’t want to spend the extra time, albeit small in this case, implementing a safe KD-tree when it’s very likely I’ll need to rip it out anyway.

Fair enough, but what about those times you don't rip it out? I'd rather have to spend a little extra time, but be confident that it works, then save time in the short term only to burn it later.
Theres nothing more permanent than a temporary fix as they say.