On Wed, Nov 13, 2013 at 10:51 PM, james <ja...@mansionfamily.plus.com>wrote:

>  On 13/11/2013 19:30, Daniel Micay wrote:
>  I had high hopes of Rust having lightweight segmented stacks and precise
> per-task
> GC and portability too.  Sort of Erlang with type safety and AOT
> compilation with a
> sane model.
>

That's something I'd also love to see! The "Erlang with type safety and
compilation" is definitely something I was (am!) expecting from Rust.

(I think Rust could be a good basis for distributed actor-style systems,
due to the owned pointers it is clear how to send messages from one machine
to another, but that's another story...)


> But now much of this seems abandoned or clearly a long way out and it is
> becoming
> more like C++ with some functional bits, and  I can get that with Scala
> and F# now.
>

To be fair, Scala and F# are still VM languages while Rust is compiled. And
I _hope_ "not all is lost", so that Rust would still be friendly to
actor-style programs (as well as to socket-server style programs). It does
seem the focus has shifted away from this :-(

I find it more scary that Rust might be turning towards a "universal
platform for implementing your own pointers/scheduler/abstractions" rather
than an "opinionated platform providing a great set of
pointers/scheduler/abstractions". The need to allow for "any and every"
pattern combined with "extract the last 1% of performance" has IMO poisoned
C++; I was drawn to Rust as "take the good parts, bake them into the
language, and ignore the rest, even at some reasonable performance cost".

It is somewhat ironic that Rust, which at times has a much "lower level"
feel to it, provides essential higher-level features like algebraic types
and pattern matching and generics, while a "more abstract" language like Go
doesn't. As an application developer who doesn't care about the last 15% of
the performance, but cares a lot about productivity, I can't help but wish
for a happy medium between the two :-)

At any rate, language design is _hard_. Rust is actually doing pretty
well... and one can drastically evolve the runtime/scheduler over time -
even provide different versions for different needs. It is much harder to
fix the basic language abstractions, which Rust gets pretty well.
_______________________________________________
Rust-dev mailing list
Rust-dev@mozilla.org
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to