For Complex Applications, Rust Is as Productive as Kotlin

Author: quyleanh

Score: 54

Comments: 8

Date: 2020-10-30 07:10:57

Web Link

________________________________________________________________________________

pdimitar wrote at 2020-10-30 20:40:42:

While I really like Rust, the compiler / linker performance has ways to go still. As somebody else here said, daily productivity is hugely important -- it's not all about the virtues of the language and/or the runtime.

Ever since I started using a language server on my Emacs (plus `rust-analyzer`) my flow has improved because I can almost immediately see compiler errors or warnings but `cargo run` and `cargo build` are still slower than they should be. Seems like no matter how strong your machine is, those final steps can never go below 6-7s. (I have a fairly modern Xeon workstation)

Those 7s of delay sound funny for many and I've been made fun of for mentioning it but I'll stand behind my statement: when you're in the productive speedy flow state, you need instant feedback. If you don't have it, you lose your motivation to iterate rapidly.

Even though I believe Rust to be the future of low-level and mega-fast computing, it still has nothing on the Go and OCaml compilers/linkers, sadly. Even Elixir -- a dynamic but compiled language -- feels near-instant when you use LSP.

pjmlp wrote at 2020-10-30 22:34:50:

Hence why I use a core duo with 8 GB, SSD to test Rust compiler improvements, using a toy project I ported from C++ into Rust.

C++ version, with binary dependencies, a couple of minutes, not longer than 5.

Rust version, as if has to compile the whole world, 16 minutes currently.

My measurement is against .NET Native, D, Delphi on similar hardware.

On positive note, Cranelift just got merged, that will certainly improve compile times.

Johanx64 wrote at 2020-10-30 18:33:32:

None of these articles ever come to mention compile times, which are crucial for productivity on both large and complicated projects, and those are absolutely attrocious for Rust.

Which is why I would avoid rust for anything where productivity is crucial.

fulafel wrote at 2020-10-30 16:45:45:

Interesting report. One thing possibly limiting applicability of the lesson is that applications are very regular and closed systems and free from having to adapt to arbitrary irregularities of the real world.

zcw100 wrote at 2020-10-30 21:23:02:

For everyone complaining about compile times I’d like to know how it compares to Scala.

icedchai wrote at 2020-10-30 22:24:12:

I worked on a Scala project about 10 years ago. Compile times were atrocious.

The_rationalist wrote at 2020-10-30 14:53:27:

The title is misleading at best, utterly wrong at worst.

This single biased (he's working on rust LSP and is part of ferrous system (their business model depend on rust adoption)) opinion has an insanely huge disclaimer: the productivity claim only stand for complex applications that does not depend on libraries...

Large, complex app and building everything yourself is such a niche use I didn't knew it existed.

TheGoddessInari wrote at 2020-10-31 00:46:38:

Rust-analyzer uses libraries, so I'm not sure what your point is.