Whoa. Toe is really silly. I really don't think its a good name.
begin/ end OR head/tail OR first / last next / prev or advance/ retreat like someone suggested.
Regarding Phobos + Tango, the minimum I expect is things like containers, algorithm and common math stuff to be in one core module. And these containers should be used in both standard and any other libraries. Things like I/O can have different interfaces to use based on the requirement.
People have similar problems with OpenGL. No one single location for all documentation (until recently). Multiple competing ways to do things for different hardware vendors. Multiple core OpenGL methods to achieve the same thing. And we have lots of people unable to find which one to use for the best performance. Direct3D on the other hand has been becoming more streamlined and centralized.
How about asking your peers who have successful languages how good an idea this is? I'm interested to know if only us mortals are not getting it or do people like Steve Yegge, Steve McConnell, Andy Hunt, Dave Thomas also think its not a problem to start of a language like this.
Just to be clear, I have the utmost respect for each of your skills and expertise. But I think you guys really underestimate and do not like to focus on things like presentation and easy communication which are very essential for spreading software. Your technical goals for D are just great but then so should the way you deliver it. (I also appreciate that you are giving this away for free, so I'm not really demanding anything!)
For peers at my level (4 years experience) I see a lot of uneasiness in trying out something like D mostly due to reasons like this.
Andrei Alexandrescu Wrote:
> Michel Fortin wrote:
> > On 2009-01-18 10:21:55 -0500, Andrei Alexandrescu <SeeWebsiteForEmail@erdani.org> said:
> > > >> It's been there for a while now (since 25 Nov 2008).
> >>> >> http://www.digitalmars.com/d/2.0/statement.html#ForeachStatement> > > > .next move the left edge of the range right one
> > .retreat move the right edge of the range left one
> > > > Each time I see this I get annoyed by the dissimilarity of the terms. "advance" and "retreat" would be much better words. Even if "advance" is three more characters, it carries much better the meaning of what is happening; "next" isn't even a verb.
> > I understand. Next was rather consecrated so we used that one. "Toe" comes from the "head to toe" phrase; "tail" would have been nice but its meaning in all other languages is "everything but the head".
> > At the highest level, any nomenclature cannot please everybody.
> > > Andrei

IUnknown wrote:
> Regarding Phobos + Tango, the minimum I expect is things like
> containers, algorithm and common math stuff to be in one core module.
This is already bound to be an issue because there is disagreement on how e.g. containers should look like (Java-style vs. STL-style). Which should be chosen? This naturally influences how algorithms are defined.
Andrei

Agree. Which is why I said the problems you are facing seem to be non-technical. I'm suggesting that the D library developers should pick one and axe the other. *I* think what more important is to have one single set of containers in a single style rather than have two separate ones. There is going to be complaining for sure from the current developers, but in my opinion, the target of having a single standard library (with core and advanced modules to suit system/ app programming) is more important than having to make a difficult choice.
In other languages/ developer communities, the developers would present the two alternatives with all the pros and cons on a web page (not email) and the powers that be should vote on it, make the decision and move on with it.
You already have this "divide" in C++ on how lots of people won't contribute to a project unless it employs boost and on the other end you have people who have not even heard of it or thing its too heavy for the project. The problem is different here, but it might end up fragmenting the small community.
D attempts to solve a lot of problems and I think it does it pretty well. There might be a chance some mistakes creep in -- the "wrong" style might be picked. It won't be a bigger problem than having two separate libraries IMHO.
This is why I request you to consult other independent people and see what their take on it is. From a library developer's perspective you would invariably pit the decision against the difficulty in doing it. Hence my suggestion to find out what users would really need and then try to implement it.
Andrei Alexandrescu Wrote:
> IUnknown wrote:
> > Regarding Phobos + Tango, the minimum I expect is things like containers, algorithm and common math stuff to be in one core module.
> > This is already bound to be an issue because there is disagreement on how e.g. containers should look like (Java-style vs. STL-style). Which should be chosen? This naturally influences how algorithms are defined.
> > > Andrei

IUnknown wrote:
> This is why I request you to consult other independent people and see
> what their take on it is. From a library developer's perspective you
> would invariably pit the decision against the difficulty in doing it.
> Hence my suggestion to find out what users would really need and then
> try to implement it.
This I completely disagree with. 360 degrees :o). Good stuff comes from good vision, not from doing what people think they want (see PHP, American cars, and taking dating advice from female friends). I won't continue this because it will go the way philosophical debates usually go => a long exchange of long messages leading to nowhere in particular.
Andrei

Hello Andrei,
> IUnknown wrote:
> >> This is why I request you to consult other independent people and see
>> what their take on it is. From a library developer's perspective you
>> would invariably pit the decision against the difficulty in doing it.
>> Hence my suggestion to find out what users would really need and then
>> try to implement it.
>> > This I completely disagree with. 360 degrees :o). Good stuff comes
> from good vision, not from doing what people think they want (see PHP,
> American cars, and taking dating advice from female friends). I won't
> continue this because it will go the way philosophical debates usually
> go => a long exchange of long messages leading to nowhere in
> particular.
> > Andrei
>
Oversimplification. Good stuff does not always come from good vision if it is poorly managed.
IUnknown had a fair point that you had the option of taking or leaving. The suggestion was to look for advice for a problem to which you admitted having no solution.
Obviously, you needn't take the advice. But reinterpreting his statement to a form that is absurd is not fair. You could have just as easily interpreted him as saying, "look over some historical examples and see if there are similar solutions to this problem from another's perspective".
The philosophical debate is completely optional. On the other hand, a practical one is always available. :-D
-JJR

John Reimer wrote:
> Hello Andrei,
> >> IUnknown wrote:
>>>>> This is why I request you to consult other independent people and see
>>> what their take on it is. From a library developer's perspective you
>>> would invariably pit the decision against the difficulty in doing it.
>>> Hence my suggestion to find out what users would really need and then
>>> try to implement it.
>>>>> This I completely disagree with. 360 degrees :o). Good stuff comes
>> from good vision, not from doing what people think they want (see PHP,
>> American cars, and taking dating advice from female friends). I won't
>> continue this because it will go the way philosophical debates usually
>> go => a long exchange of long messages leading to nowhere in
>> particular.
>>>> Andrei
>>> > > Oversimplification. Good stuff does not always come from good vision if it is poorly managed.
Agreed. I'll also note I didn't claim "always".
> IUnknown had a fair point that you had the option of taking or leaving. The suggestion was to look for advice for a problem to which you admitted having no solution.
> > > Obviously, you needn't take the advice. But reinterpreting his statement to a form that is absurd is not fair. You could have just as easily interpreted him as saying, "look over some historical examples and see if there are similar solutions to this problem from another's perspective".
Oh, I didn't mean to demean what he said in any way. But taking his advice at this point in time is incompatible with my view, for the lack of a better word. Most of the issue is that for the most part said "view" is not palpable: it's the ranges I haven't implemented yet, the I/O I haven't designed yet, the containers I haven't implemented yet, and the threading library we haven't designed yet. At the same time, Tango as defined today itself does not take advantage of D2. So I'd find it odd to ask people at this point whether they'd choose between a library that essentially doesn't exist yet, and one that might improve by going through one more iteration. It's just too early for D2.
Andrei

Hello Andrei,
> John Reimer wrote:
> >> Hello Andrei,
>> >>> IUnknown wrote:
>>> >>>> This is why I request you to consult other independent people and
>>>> see what their take on it is. From a library developer's
>>>> perspective you would invariably pit the decision against the
>>>> difficulty in doing it. Hence my suggestion to find out what users
>>>> would really need and then try to implement it.
>>>> >>> This I completely disagree with. 360 degrees :o). Good stuff comes
>>> from good vision, not from doing what people think they want (see
>>> PHP, American cars, and taking dating advice from female friends). I
>>> won't continue this because it will go the way philosophical debates
>>> usually go => a long exchange of long messages leading to nowhere in
>>> particular.
>>> >>> Andrei
>>> >> Oversimplification. Good stuff does not always come from good vision
>> if it is poorly managed.
>> > Agreed. I'll also note I didn't claim "always".
>
:-)
>> IUnknown had a fair point that you had the option of taking or
>> leaving. The suggestion was to look for advice for a problem to
>> which you admitted having no solution.
>> >> Obviously, you needn't take the advice. But reinterpreting his
>> statement to a form that is absurd is not fair. You could have just
>> as easily interpreted him as saying, "look over some historical
>> examples and see if there are similar solutions to this problem from
>> another's perspective".
>> > Oh, I didn't mean to demean what he said in any way. But taking his
> advice at this point in time is incompatible with my view, for the
> lack of a better word. Most of the issue is that for the most part
> said "view" is not palpable: it's the ranges I haven't implemented
> yet, the I/O I haven't designed yet, the containers I haven't
> implemented yet, and the threading library we haven't designed yet. At
> the same time, Tango as defined today itself does not take advantage
> of D2. So I'd find it odd to ask people at this point whether they'd
> choose between a library that essentially doesn't exist yet, and one
> that might improve by going through one more iteration. It's just too
> early for D2.
> > Andrei
>
Ok, I see.
-JJR

Andrei Alexandrescu wrote:
> This I completely disagree with. 360 degrees :o). Good stuff comes from good vision, not from doing what people think they want (see PHP, American cars, and taking dating advice from female friends).
You're still wrong about American cars! http://www.seifertbros.com/hemicuda.html