On 31/10/2010 16:08, Don wrote:
Simen kjaeraas wrote:
Nick Sabalausky <a...@a.a> wrote:
I can certainly understand the impossibility of actually keeping up with
bearophile, but I don't think that even he expects that every idea he
brings
up be rushed into D.
Yeah, I always see bearophile's lists as 'maybe some of this could fit in
D at some point'. Well worth having on the list, but not to be
regarded as
The Bearer of Absolute Commandments. That said, I fully understand that
Walter could get more tired of it than do I - I don't feel the pressure.
I think a lot of the problem is that quite a few of bearophile's post
contain very valuable ideas, which are immediately relevant. But their
impact gets diluted because there's such a constant stream of ideas.
Would be great if someone could do a regular "best of bearophile" post <g>.
And it would be even better if that someone would be bearophile
himself... ^_^'
I must say though, that I disagree that most of bearophile's post
contain valuable ideas. Please don't construe the following as a
personal attack, it is not meant to be so, but I often find it's the
contrary (especially lately). beorophile's main posts usually fall in
one of these two categories:
* Discuss X from elsewhere: a post not about a concrete suggestion to
change D, but rather discuss/expose a feature or aspect of some other
language/tool/paradigm. Posts are often accompanied by a link to an
external article/documentation/presentation/etc.. The post is usually
interesting, but they happen often and usually take too much time to
read and understand all of them(often because of the external links).
* Sugesting a change to D: a post that discusses some actual change to D
that beorophile came up with.
I often find that with these latter ones, I don't agree such changes
should be in D, either now or in the future (so it's not just a matter
of stabilizing D2). Rather, it's because the suggested change is of very
limited usefulness (has little impact in code, or occurs rarely), and/or
has a very acceptable alternative/workaround in current D.
A recent example is the "Interfacing C functions with safer ptr/length":
A somewhat limited use case (interfacing with certain C functions), and
the alternative in current D code that Andrei pointed out is perfectly
fine. It is just as safe, just as fast (with compiler optimizations
enabled), and only slightly more verbose.
Other examples are plenty:
"To avoid a C code bug"
http://d.puremagic.com/issues/show_bug.cgi?id=3847
(issue of limited impact, and its very much a bikeshed issue, no
consensus that it was actually an improvement, most people actually
seemed to prefer the current way)
"Ghost fields for Contract Programming:"
http://d.puremagic.com/issues/show_bug.cgi?id=5027
(limited usefulness, current alternative nearly as good)
A comment regarding sugesting an alternative change to deal with the
problem of covariance in arrays:
http://d.puremagic.com/issues/show_bug.cgi?id=2095#c16
(Change would increase memory footprint in arrays and pointers,
something that is almost certainly unacceptable for D. Plus, change
would detect errors only in runtime, whereas compile-time checking is
perfectly possible)
"Safer unions with @tagged"
http://d.puremagic.com/issues/show_bug.cgi?id=5097
(again, change is for a very rare use case, and current alternatives are
nearly as good, if not just as good)
"Array-bound indexes"
news://news.digitalmars.com:119/ial0qb$1c0...@digitalmars.com
(an even rarer use case, of questionable validity, and it's not clear
the sugested change would actually help with the issue)
...and I could go one with more examples. On the hand, it is hard for me
to find a recent discussion started by beorophile (or where beorophile
was heavily involved) that has affected the development of D itself in
any way, either now or in the future. I'm talking of threads such as these:
"crystal clear()"
Discussing regarding issues around clear(), object destruction etc..
"Proposal: Relax rules for 'pure'"
Don's changes (even though they went as far as 2008).
"We need to kill C syntax for declaring function types"
Again started by Don, Walter said he made a good case for it.
"Ruling out arbitrary cost copy construction?"
Started by Andrei, discussion guiding the future direction for Phobos
container. A lot of people were involved in the discussion, but not
bearophile.
"Uniform Function Call syntax for properties"
by Steven Schveighoffer, Andrei agreed there was a problem here and some
change was desired, although it seemed no one had a sure idea on what
the change should be.
"duck!"
Started by Andrei. Discussion regarding the future name of Kenji's
adaptTo template.
"std.algorithm.remove and principle of least astonishment"
A discussion about the semantics of char[] and wchar[], might lead to a
future change in D, even if it just allowing:
ubyte[] str = "asdf";
Feel free to correct me, I don't claim to have made a complete or fully
accurate assessment of all the posts and proposal changes that were
discussed in the last 3-4 months or so.
--
Bruno Medeiros - Software Engineer