On 17/07/2012 12:40 AM, Bennie Kloosteman wrote:
The problem to me is the less the language but more the libraries ,
habbits now will become embedded in the "language style" .
We've always aimed for pluralism in the design: trying to make it
sufficiently easy to write in functional style, imperative style, and
(less strongly, but getting better) OO style. I feel like rust is not
presently forcing either "language style" on users, but I suppose the
libraries reflect the biases of the team.
I'm not sure discussing this in its "most abstract" form is the most
useful approach though. Perhaps if you could make your concerns a bit
more clear in code ... perhaps pick a single file from the std or core
lib (if it's not too much to ask) and modify it to the style you'd feel
is more legible, we can discuss in a pull request?
Though in a world where all languages are safe and fast the other
factors are important.
Ha! Call me when we get to that world. We're competing with C++, note.
Yes ubiquity is crucial so why cont instead of continue its not like you
use it often ...
It's been changed to 'again'. I'm not going to discuss that bug any
further, it's a total bikeshed and of no consequence.
Yes affine is bad , but also iface is marginal.. id prefer interface
due to erring on the side of verbosity.
Changing to 'trait' in 0.4 (which is the most common name for the sorts
of things they are).
Anyway I say this because I want it to succeed , and the libraries are
starting to form so the "style": they set is crucial and a 70s style is
not good .... If a library is full dblnlst , str_cp ,xml_p adoption
will be harder - its probably easier these days to learn a new language
than a new standard library as they will get big.
Ok, the keyword stuff I'm not really interested in debating ad
infinitum, there just aren't _enough_ of them for this to be worth a
long discussion (and it's 5 chars vs. 6, seriously). The abbreviations
in library code are a different matter. It's true that we have a bunch
of abbreviated library names. Examples:
vec (not Vector)
cmp (not Compare)
bitv (not BitVector)
dbg (not Debug)
dlist (not DoublyLinkedList or CircularList)
iter (not Iterable)
ptr (not Pointer)
rand::rng (not Random::Generator, say)
sys (not System)
rt (not Runtime)
Are these sorts of abbreviated names actually posing a problem to users?
It feels to me like we're in a similar ballpark to the naming
conventions of ... at least _some_ other language standard libraries:
http://www.ruby-doc.org/stdlib-1.9.3/
http://docs.python.org/library/
http://golang.org/pkg/
http://en.cppreference.com/w/cpp
Though obviously not the same style as Java, C# or (curiously) Haskell,
I haven't heard a _lot_ of clear feedback on this point. Patrick has
been advocating for us to change house style to writing type names as
TypeNames, but aside from that ... is vowel-omission or abbreviation
seriously an issue? (eg. python putting regular expressions in 're' or
system services in 'sys'?) Maybe having more-verbose type names, but
keeping module names short, is a good balance?
-Graydon
_______________________________________________
Rust-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/rust-dev