On 5/4/13 3:55 AM, james wrote:
It might be development policy, but it seems to me a terrible idea.
How do you fork a requirement? (or discussion thereof?)
How do you fork a design? (or discussion thereof?)
It seems to be the old 'show me the code'. :-(
I think it's totally fine to bring up design issues if people see
legitimate, fixable problems in the language. I for one encourage it!
I'd like to know about potential language issues, so that we can fix
them if they are indeed problems.
An excellent example is commenter SteveMcQwark's post about an earlier
version of lifetime syntax that pointed out that there were indeed
serious mistakes (which have since been fixed):
http://www.reddit.com/r/rust/comments/17ka3b/meeting_weekly_20130129_region_syntax_impl_type/
However, there are a couple of important caveats:
1. Some requirements just *are* and can't be changed without
jeopardizing the applications that Rust is designed for (most notably
Servo). A common example is the requirement for Rust to support manual
memory management. Many people think that manual memory management adds
too much cognitive and syntactic overhead (what are all these smart
pointer sigils all over my code?) and would like to see Rust move to a
mandatory, global concurrent garbage collector like Java, throwing away
unique pointers, lifetimes, borrow checking, and references in the
process. This, however, would be in direct contradiction to the
systems-oriented, low-level nature of Rust (which is the reason Rust is
starting to find a niche in graphical-intensive apps and games) and so
couldn't really be changed without a fork.
2. Sometimes there are issues with perfectly legitimate arguments on
both sides, and someone will be disappointed with *any* decision. An
example is the requirement that statements be separated by semicolons
instead of using whitespace like Python or performing automatic
semicolon insertion like JavaScript or Go. Many C and C++ programmers
like semicolons; many Python programmers and Ruby programmers detest
them. But if we changed this, we'd probably hear just as much criticism
from the other side. So arguing doesn't seem really productive to me; a
fork is about the only thing that can be done here.
Patrick
_______________________________________________
Rust-dev mailing list
Rust-dev@mozilla.org
https://mail.mozilla.org/listinfo/rust-dev