GCC 4.6

Bruno Medeiros brunodomedeiros+spam at com.gmail
Thu Nov 25 03:55:54 PST 2010


On 31/10/2010 16:08, Don wrote:
> Simen kjaeraas wrote:
>> Nick Sabalausky <a at 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$1c0a$1@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


More information about the Digitalmars-d mailing list