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
