Sir,

Rust is not go. 

It addresses a different set of use cases, and, IMHO, is focused on a different 
audience.

The sigils and their semantics are used for precision and control. 

Regards, 
Paul Nathan

Sent from my iPhone

On Apr 7, 2013, at 3:01 PM, Heri Sim <[email protected]> wrote:

> Hi guys, I am new here. Just found out about this project today, and
> read up a lot on its history and purpose.
> 
> 
> There are 3 gripes I have about Rust, after comparing some good stuff
> in Go-lang. http://tour.golang.org
> 
> 
> 1st, dereferencing should be automatic everywhere.
> Running a pattern match on borrowed boxes should NOT require an asterisk (*).
> Passing in a stack-local variable to a function or closure (that
> requires arguments to be passed by reference), should not require the
> ampersand (&) in the caller. Why can't the compiler figure this out?
> 
> In go-lang, all these things are just more invisible, which makes the
> learning curve so much easier. I understand people coming from C would
> prefer these memory-management signets explicit, but really they have
> little need to be so verbose in many cases, and should be optional or
> by-default instead, so that things just-work. (Just-like how custom
> borrow lifetimes are optional, and defaults well in most cases.)
> 
> 
> 2nd, there is a need for the concurrency mechanism similar to the
> concurrent "select" in go-lang. This is used to implement multiple
> patterns such as timeouts, and non-blocking channel receive, and many
> others. Errors in tasks would also be better handled/supervised this
> way. By the way, should rust errors be a trait like in go-lang?
> 
> 
> 3rd, while generics are great, there is a need for trait types or
> dynamic objects to be simpler to use in rust. Dynamic calls through
> interfaces in go-lang are simpler, while trading off performance. In
> rust, implementing draw_all on a vector of Drawable elements also have
> similar performance hit, but with a much uglier implementation
> requiring both @ and ~ signets and "as" syntax, which is confusing and
> too verbose. Also there seem to be a requirement for managed boxes in
> the shared heap for dynamic calls, which Erlang does not require. As
> such, recursion for some problem sets (like polymorphic binary trees)
> is not as clean in rust, compared to other languages. How can we
> improve this?
> 
> 
> Otherwise, Rust lang is really awesome.
> The documentation and syntax is easy to follow for the basics, but
> begin to feel "complex-for-complexity sake" in the advanced/modern
> language features. As such, the documentation feels schizophrenic as
> the language constructs begin to lose its delightful lean-opinionated
> design towards the end.
> 
> Really beginning to like Rust a lot.
> 
> Heri
> _______________________________________________
> Rust-dev mailing list
> [email protected]
> https://mail.mozilla.org/listinfo/rust-dev
> 

_______________________________________________
Rust-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to