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

Reply via email to