Shout out to D at cppcon, when talkign about ranges.
Andrei Alexandrescu via Digitalmars-d
digitalmars-d at puremagic.com
Sat Oct 10 15:06:30 PDT 2015
On 10/10/15 9:06 PM, Eric Niebler wrote:
> On Saturday, 10 October 2015 at 06:15:10 UTC, Andrei Alexandrescu wrote:
>> On 10/10/15 12:58 AM, Eric Niebler wrote:
>>> To be honest, this whole conversation is kind of funny to me. It
>>> reminds me of the Bugs Bunny cartoon where Marvin the Martian plants
>>> his flag on Earth and says, "I claim this planet in the name of
>>> [Digital] Mars!" We Earthlings respectfully disagree. :-)
>>
>> Only it's the other way around, which makes the matter quite ironic.
>> You wrote:
>>
>>> P.S. I see lots of people here assuming that C++ is playing catch-up
>>> to D because D has ranges and C++ doesn't yet. That is ignoring the
>>> long history of ranges in C++. C++ got ranges in the form of the
>>> Boost.Range library by Thorsten Ottoson sometime in the early 00's.
>>> Andrei didn't implement D's ranges until many years after. The ranges
>>> idea is older than dirt. It's not a D invention.
>>
>> I think it would be a bit of a stretch to describe D ranges as
>> derivative of Boost ranges.
>
> If I implied that I believe that D ranges were based on Boost.Range,
> then I apologize. I don't believe that.
Well the simple fact is then that P.S. has done an awful job at
conveying your point.
> I suspect (but don't know) that
> ranges in D were independently invented without knowledge of the long
> history of them in C++.
Well that's easy to figure. "Iterators Must Go" at
https://archive.org/details/AndreiAlexandrescuKeynoteBoostcon2009
starting around minute 1:01:50 mentions "Ranges are not Boost ranges.
They're very different". Same talk at 1:02:34 describes how Boost and
Adobe defined their own ranges ("Boost and Adobe did make an interesting
step in a good direction, however things must be taken way further than
that." So there was knowledge of said long history of ranges in C++. Far
as I can tell "Iterators Must Go" was immediately and universally
recognized as a turning point in how people approached getting work done
using ranges.
(Existing work I only found out recently: Matthew Wilson did define
ranges as a generalization of D slices; his work was not based on C++
idioms, and made no inroads in the C++ community. His work _is_ strongly
related to today's D ranges, I ought to have found that, and it is my
mistake to not have.)
> Which is fine except for the claims that C++ is
> playing catch-up. It's not.
>
>> Anyhow, it's best for us all to focus on doing good work instead of
>> pettily fighting for irrelevant credit.
>
> I only jumped in when I saw some disparagement of C++ and my work which
> (IMO) was both
> petty and wrong. I would very much like to drop this and get back to
> productive work.
Eric, I don't know about others but I respect and like your work. I
appreciate its originality, too. What I see here is a simple case when
someone said something wrong and got his behind appropriately handed on
a dish constructed of a precious metal.
Andrei
More information about the Digitalmars-d
mailing list