

Rust – Zero Cost - areski
http://www.jonathanreem.io/zero-cost/

======
wahern
Here's the problem with Rust, hopefully temporary: from the moment it came out
it's been touted as having a bounty of great features--speed, safety, ease of
generic programming, etc. The story hasn't changed one bit. However, the
language syntax and implementation have changed dramatically. So, was it hype
in the beginning? Why should I trust it now?

~~~
kibwen
Here's what you must understand: for years, Rust has been a research project
on the _usability_ of memory-safe systems programming methods. Though the
message has remained the same, the means used to achieve that message have
evolved drastically. Furthermore, the actual _truth_ of that message has gone
from hopeful fiction to practical reality.

Specifically, having real, large codebases written in the language (Servo and
the compiler itself) as well as an ever-expanding ecosystem of libraries has
allowed the developers and the community to determine what approaches work
best and should be emphasized. Abstractions and tools that are little-used are
torn out or redesigned, while features that play to the language's strengths
are given greater prominence. Modern Rust is actually a _much_ lower-level
language than pre-0.1 Rust (circa 2011), which, back then, conceptually
resembled Go (via convergent evolution).

To answer your questions directly:

1\. Yes, it was hype (or rather, naive optimism) in the beginning to believe
that a memory-safe language could be compete with or exceed C++ in performance
while also offering modern language features (without the menagerie of gotchas
that accompany those features in C++). Thankfully, as the result of much
iteration, it seems as though our optimism was not unfounded, and that such
things really are possible.

2\. You don't need to trust it now. The community is exploding all on its own,
and I suspect that its growth is still limited by the fact that we're pre-1.0.
Once the stable 1.0 release hits and a dependable library ecosystem coalesces,
_then_ evaluate the language and those using it to determine whether or not
it's a language worth placing your trust in. Let it speak for itself!

