www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Who favors the current D1 situation?

reply Bill Baxter <dnewsgroup billbaxter.com> writes:
Currently as we all know, D1 gets no new features, and D2 is a crazy 
rocketship that could change direction at any moment.

Now I know a lot of people were asking for D to become more stable pre 
D1 days, but is this really what you wanted?

I had initially assumed that the freeze on D1 was at least as much due 
to time constraints on Walter as it was due to a desire for stability. 
But in a recent message Walter said that wasn't the case.  He said that 
backporting things from D2 to D1 was pretty trivial.

So really then, it to comes down to Walter believing that the D 
community wants D1 to be feature frozen.

Is it really true?  Is there a group of folks who really want D1 to be 
frozen?

I myself would like to see D1 get all new features that won't break 
existing source code.

Things like:
* New string literals
   - q{a=b} D-token string syntax,
   - delimited strings, q"(...)"
   - heredocs, q"EOF...
* IFTI that works even if you specify one parameter,
* Enhanced is expression
   - is ( Type Identifier : TypeSpecialization , TemplateParameterList )
   - is ( Type Identifier == TypeSpecialization , TemplateParameterList )
* foreach(i; 0..10) syntax (ForeachRangeLiteral)
* Overload sets


I'm all with the sentiment that D1 code that compiles today should 
compile tomorrow.  That kind of stability is great.  But if it's not a 
big time commitment for Walter (which he says it's not), I see no good 
reason to keep new backwards-compatible features out of D1.

I've heard other folks saying they want this from D1 too, but what I 
haven't heard is a great swell of active D developers saying that new 
features would be a detriment to their work.

--bb,
(who has now written and/or ported about 200,000 lines of D according to 
a quick check with 'wc')
Mar 06 2008
next sibling parent reply Jason House <jason.james.house gmail.com> writes:
Bill Baxter wrote:

 Currently as we all know, D1 gets no new features, and D2 is a crazy
 rocketship that could change direction at any moment.
 
 Now I know a lot of people were asking for D to become more stable pre
 D1 days, but is this really what you wanted?
 
 I had initially assumed that the freeze on D1 was at least as much due
 to time constraints on Walter as it was due to a desire for stability.
 But in a recent message Walter said that wasn't the case.  He said that
 backporting things from D2 to D1 was pretty trivial.
 
 So really then, it to comes down to Walter believing that the D
 community wants D1 to be feature frozen.
 
 Is it really true?  Is there a group of folks who really want D1 to be
 frozen?
 
 I myself would like to see D1 get all new features that won't break
 existing source code.
 
 Things like:
 * New string literals
    - q{a=b} D-token string syntax,
    - delimited strings, q"(...)"
    - heredocs, q"EOF...
 * IFTI that works even if you specify one parameter,
 * Enhanced is expression
    - is ( Type Identifier : TypeSpecialization , TemplateParameterList )
    - is ( Type Identifier == TypeSpecialization , TemplateParameterList )
 * foreach(i; 0..10) syntax (ForeachRangeLiteral)
 * Overload sets
 
 
 I'm all with the sentiment that D1 code that compiles today should
 compile tomorrow.  That kind of stability is great.  But if it's not a
 big time commitment for Walter (which he says it's not), I see no good
 reason to keep new backwards-compatible features out of D1.
 
 I've heard other folks saying they want this from D1 too, but what I
 haven't heard is a great swell of active D developers saying that new
 features would be a detriment to their work.
 
 --bb,
 (who has now written and/or ported about 200,000 lines of D according to
 a quick check with 'wc')
I'm a D 1.x user who's ready to try D 2.x. My only problem is that I use Tango, so I wait patiently. I'm ok with D 1.x being very stable and only including fixes of obvious bugs. Should there be something between a very stable 1.0xxx and 2.x? Maybe. I guess the question is how much stability is desired? Why not move to 2.x now that const is stable? --jason (who has now written and/or ported about 9,000 lines of D according to a quick check with 'wc')
Mar 06 2008
next sibling parent reply Bill Baxter <dnewsgroup billbaxter.com> writes:
Jason House wrote:
 Bill Baxter wrote:
 I'm a D 1.x user who's ready to try D 2.x.  My only problem is that I use
 Tango, so I wait patiently.  I'm ok with D 1.x being very stable and only
 including fixes of obvious bugs.  Should there be something between a very
 stable 1.0xxx and 2.x?  Maybe.  I guess the question is how much stability
 is desired?  Why not move to 2.x now that const is stable?
A) I've got 200,000 lines to port in order to move to D2.x B) I'm pretty unenthusiastic about const now. C) I want _some_ stability. Breaking changes can be introduced into 2.x at any time. And I think it's best that way. Walter should feel completely free to break anything he sees fit to break in the D2 tree. --bb
Mar 06 2008
parent Denton Cockburn <diboss hotmail.com> writes:
On Fri, 07 Mar 2008 11:51:48 +0900, Bill Baxter wrote:

 Jason House wrote:
 Bill Baxter wrote:
 I'm a D 1.x user who's ready to try D 2.x.  My only problem is that I use
 Tango, so I wait patiently.  I'm ok with D 1.x being very stable and only
 including fixes of obvious bugs.  Should there be something between a very
 stable 1.0xxx and 2.x?  Maybe.  I guess the question is how much stability
 is desired?  Why not move to 2.x now that const is stable?
A) I've got 200,000 lines to port in order to move to D2.x B) I'm pretty unenthusiastic about const now. C) I want _some_ stability. Breaking changes can be introduced into 2.x at any time. And I think it's best that way. Walter should feel completely free to break anything he sees fit to break in the D2 tree. --bb
Is there that much required in moving from D1 to D2? IMO, The biggest thing (and forced) is strings. Most of the other things are optional (I guess that will change later when const pervades the library) - diboss (whose ~7000 lines of D code is feeling mighty inadequate to Bill's 200K)
Mar 06 2008
prev sibling parent reply Jesse Phillips <jessekphillips gmail.com> writes:
On Thu, 06 Mar 2008 21:43:51 -0500, Jason House wrote:

 Bill Baxter wrote:
 
 Currently as we all know, D1 gets no new features, and D2 is a crazy
 rocketship that could change direction at any moment.
 
 Now I know a lot of people were asking for D to become more stable pre
 D1 days, but is this really what you wanted?
 
 I had initially assumed that the freeze on D1 was at least as much due
 to time constraints on Walter as it was due to a desire for stability.
 But in a recent message Walter said that wasn't the case.  He said that
 backporting things from D2 to D1 was pretty trivial.
 
 So really then, it to comes down to Walter believing that the D
 community wants D1 to be feature frozen.
 
 Is it really true?  Is there a group of folks who really want D1 to be
 frozen?
 
 I myself would like to see D1 get all new features that won't break
 existing source code.
 
 Things like:
 * New string literals
    - q{a=b} D-token string syntax,
    - delimited strings, q"(...)"
    - heredocs, q"EOF...
 * IFTI that works even if you specify one parameter, * Enhanced is
 expression
    - is ( Type Identifier : TypeSpecialization , TemplateParameterList
    ) - is ( Type Identifier == TypeSpecialization ,
    TemplateParameterList )
 * foreach(i; 0..10) syntax (ForeachRangeLiteral) * Overload sets
 
 
 I'm all with the sentiment that D1 code that compiles today should
 compile tomorrow.  That kind of stability is great.  But if it's not a
 big time commitment for Walter (which he says it's not), I see no good
 reason to keep new backwards-compatible features out of D1.
 
 I've heard other folks saying they want this from D1 too, but what I
 haven't heard is a great swell of active D developers saying that new
 features would be a detriment to their work.
 
 --bb,
 (who has now written and/or ported about 200,000 lines of D according
 to a quick check with 'wc')
I'm a D 1.x user who's ready to try D 2.x. My only problem is that I use Tango, so I wait patiently. I'm ok with D 1.x being very stable and only including fixes of obvious bugs. Should there be something between a very stable 1.0xxx and 2.x? Maybe. I guess the question is how much stability is desired? Why not move to 2.x now that const is stable? --jason (who has now written and/or ported about 9,000 lines of D according to a quick check with 'wc')
I'm with Jason and Gregor on this one. Would it be nice to have these changes, yes, but I don't think that is the way to look at it. Even if D3 is completely compatibly with all D2 code, I wouldn't want it be in the D2 tree. Think about it, you don't get all the Java 7 stuff in Java 6, just because you don't see it to want it. D2 is going to introduce a lot of breaking in old code, and headaches with const that many don't want. And I believe this is really where you're coming from? You like the lack of const, but want the other stuff? (not saying there is anything wrong with it. I'm kinda frightened to switch, eager, but frightened)
Mar 06 2008
next sibling parent reply Bill Baxter <dnewsgroup billbaxter.com> writes:
Jesse Phillips wrote:

 I'm with Jason and Gregor on this one. Would it be nice to have these 
 changes, yes, but I don't think that is the way to look at it. Even if D3 
 is completely compatibly with all D2 code, I wouldn't want it be in the 
 D2 tree. 
 
 Think about it, you don't get all the Java 7 stuff in Java 6, just 
 because you don't see it to want it. D2 is going to introduce a lot of 
 breaking in old code, and headaches with const that many don't want. And 
 I believe this is really where you're coming from? You like the lack of 
 const, but want the other stuff? (not saying there is anything wrong with 
 it. I'm kinda frightened to switch, eager, but frightened)
Maybe a better analogy is with Python 3K. It's a major release with some new breaking additions, and I seem to recall they're planning on having Python 2.x releases that incorporate backported features from Python 3K. Probably someone here is more up to date on that situation than me. Anyway I think an analogy with Java -- backed by a behemoth company, now on the 7th major release, with millions of users -- is not really apt. D can be and is more agile than that. --bb
Mar 06 2008
parent Leandro Lucarella <llucax gmail.com> writes:
Bill Baxter, el  7 de marzo a las 14:29 me escribiste:
 Jesse Phillips wrote:
 
I'm with Jason and Gregor on this one. Would it be nice to have these changes,
yes, but I 
don't think that is the way to look at it. Even if D3 is completely compatibly
with all 
D2 code, I wouldn't want it be in the D2 tree. Think about it, you don't get
all the Java 
7 stuff in Java 6, just because you don't see it to want it. D2 is going to
introduce a 
lot of breaking in old code, and headaches with const that many don't want. And
I believe 
this is really where you're coming from? You like the lack of const, but want
the other 
stuff? (not saying there is anything wrong with it. I'm kinda frightened to
switch, 
eager, but frightened)
Maybe a better analogy is with Python 3K. It's a major release with some new breaking additions, and I seem to recall they're planning on having Python 2.x releases that incorporate backported features from Python 3K. Probably someone here is more up to date on that situation than me.
Python has a well mature and proved development model. It has major versions, where huge (a la D2.0) changes are possible, minor versions, where new non-breaking (or small breaking changes[*]) are included (what is lacking in D), and patchlevel version, where only bugfixes are included (D1). [*] This breaking changes are done in a progressive way, and it (usually) takes 3 minor Python versions to complete the changes: * First, the change is included *optionally*, the user can test it using import __future__[1] (this could be a compiler flag for D). * In the next minor version, the new feature is included by default, and if appropriate, "old" stuff is marked deprecated (issue a deprecation warning when used). * In the next minor version, the deprecated features are removed. I think this gives to the language a great compromise between evolution and stability. Of course there are several development releases for new minor versions, they are not tagged as "stable" as soon as they get the new features, so people can test it until they are considered stable. I think D could implement this model without problems, and I don't see any problems in the Python world with this, old minor version are not maintained then they get old, so is not that much work. [1] http://www.python.org/dev/peps/pep-0236/ -- Leandro Lucarella (luca) | Blog colectivo: http://www.mazziblog.com.ar/blog/ ---------------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ---------------------------------------------------------------------------- In 1995 a Japanese trawler sank, because a Russian cargo plane dropped a living cow from 30,000 feet
Mar 07 2008
prev sibling parent Walter Bright <newshound1 digitalmars.com> writes:
Jesse Phillips wrote:
 I'm with Jason and Gregor on this one. Would it be nice to have these 
 changes, yes, but I don't think that is the way to look at it. Even if D3 
 is completely compatibly with all D2 code, I wouldn't want it be in the 
 D2 tree. 
I also can see problems with having to support even more versions of D if D 1.0 gets semantic changes.
Mar 06 2008
prev sibling next sibling parent reply Gregor Richards <Richards codu.org> writes:
Bill Baxter wrote:
 Currently as we all know, D1 gets no new features, and D2 is a crazy 
 rocketship that could change direction at any moment.
 
 Now I know a lot of people were asking for D to become more stable pre 
 D1 days, but is this really what you wanted?
 
 I had initially assumed that the freeze on D1 was at least as much due 
 to time constraints on Walter as it was due to a desire for stability. 
 But in a recent message Walter said that wasn't the case.  He said that 
 backporting things from D2 to D1 was pretty trivial.
 
 So really then, it to comes down to Walter believing that the D 
 community wants D1 to be feature frozen.
 
 Is it really true?  Is there a group of folks who really want D1 to be 
 frozen?
 
 I myself would like to see D1 get all new features that won't break 
 existing source code.
 
 Things like:
 * New string literals
   - q{a=b} D-token string syntax,
   - delimited strings, q"(...)"
   - heredocs, q"EOF...
 * IFTI that works even if you specify one parameter,
 * Enhanced is expression
   - is ( Type Identifier : TypeSpecialization , TemplateParameterList )
   - is ( Type Identifier == TypeSpecialization , TemplateParameterList )
 * foreach(i; 0..10) syntax (ForeachRangeLiteral)
 * Overload sets
 
 
 I'm all with the sentiment that D1 code that compiles today should 
 compile tomorrow.  That kind of stability is great.  But if it's not a 
 big time commitment for Walter (which he says it's not), I see no good 
 reason to keep new backwards-compatible features out of D1.
 
 I've heard other folks saying they want this from D1 too, but what I 
 haven't heard is a great swell of active D developers saying that new 
 features would be a detriment to their work.
 
 --bb,
 (who has now written and/or ported about 200,000 lines of D according to 
 a quick check with 'wc')
Having an unstable base (and I don't mean unstable in the software sense) makes reimplementations (including partial reimplementations e.g. GDC), ports, etc very difficult. With a feature freeze on 1.0, there is a solid, specified language that one can target without having to keep up with a changing specification. - Gregor Richards
Mar 06 2008
parent reply Bill Baxter <dnewsgroup billbaxter.com> writes:
Gregor Richards wrote:
 Bill Baxter wrote:
 Currently as we all know, D1 gets no new features, and D2 is a crazy 
 rocketship that could change direction at any moment.

 Now I know a lot of people were asking for D to become more stable pre 
 D1 days, but is this really what you wanted?

 I had initially assumed that the freeze on D1 was at least as much due 
 to time constraints on Walter as it was due to a desire for stability. 
 But in a recent message Walter said that wasn't the case.  He said 
 that backporting things from D2 to D1 was pretty trivial.

 So really then, it to comes down to Walter believing that the D 
 community wants D1 to be feature frozen.

 Is it really true?  Is there a group of folks who really want D1 to be 
 frozen?

 I myself would like to see D1 get all new features that won't break 
 existing source code.

 Things like:
 * New string literals
   - q{a=b} D-token string syntax,
   - delimited strings, q"(...)"
   - heredocs, q"EOF...
 * IFTI that works even if you specify one parameter,
 * Enhanced is expression
   - is ( Type Identifier : TypeSpecialization , TemplateParameterList )
   - is ( Type Identifier == TypeSpecialization , TemplateParameterList )
 * foreach(i; 0..10) syntax (ForeachRangeLiteral)
 * Overload sets


 I'm all with the sentiment that D1 code that compiles today should 
 compile tomorrow.  That kind of stability is great.  But if it's not a 
 big time commitment for Walter (which he says it's not), I see no good 
 reason to keep new backwards-compatible features out of D1.

 I've heard other folks saying they want this from D1 too, but what I 
 haven't heard is a great swell of active D developers saying that new 
 features would be a detriment to their work.

 --bb,
 (who has now written and/or ported about 200,000 lines of D according 
 to a quick check with 'wc')
Having an unstable base (and I don't mean unstable in the software sense) makes reimplementations (including partial reimplementations e.g. GDC), ports, etc very difficult. With a feature freeze on 1.0, there is a solid, specified language that one can target without having to keep up with a changing specification. - Gregor Richards
People reimplementing D come in two categories: 1) from scratch, These people can just stick with whatever fixed 1.x version of the specification they want. Any bug fixes that Walter makes to the 1.x series wouldn't help them anyway. 2) dmdfe based, These people already have to merge with latest dmdfe changes to get the bug fixes, so their lives won't become any more difficult. Still just a merge from upstream. Also, given the fact that there really aren't any viable examples of 1) right now that even implement the 1.0 spec, I'm not sure this is a very important category to base decisions upon. There are many more actual users of D 1.x than there are people implementing D from scratch and there are basically zero users of clean-room implementations of the D 1.x spec. --bb
Mar 06 2008
parent Gregor Richards <Richards codu.org> writes:
Bill Baxter wrote:
 Gregor Richards wrote:
 Bill Baxter wrote:
 Currently as we all know, D1 gets no new features, and D2 is a crazy 
 rocketship that could change direction at any moment.

 Now I know a lot of people were asking for D to become more stable 
 pre D1 days, but is this really what you wanted?

 I had initially assumed that the freeze on D1 was at least as much 
 due to time constraints on Walter as it was due to a desire for 
 stability. But in a recent message Walter said that wasn't the case.  
 He said that backporting things from D2 to D1 was pretty trivial.

 So really then, it to comes down to Walter believing that the D 
 community wants D1 to be feature frozen.

 Is it really true?  Is there a group of folks who really want D1 to 
 be frozen?

 I myself would like to see D1 get all new features that won't break 
 existing source code.

 Things like:
 * New string literals
   - q{a=b} D-token string syntax,
   - delimited strings, q"(...)"
   - heredocs, q"EOF...
 * IFTI that works even if you specify one parameter,
 * Enhanced is expression
   - is ( Type Identifier : TypeSpecialization , TemplateParameterList )
   - is ( Type Identifier == TypeSpecialization , TemplateParameterList )
 * foreach(i; 0..10) syntax (ForeachRangeLiteral)
 * Overload sets


 I'm all with the sentiment that D1 code that compiles today should 
 compile tomorrow.  That kind of stability is great.  But if it's not 
 a big time commitment for Walter (which he says it's not), I see no 
 good reason to keep new backwards-compatible features out of D1.

 I've heard other folks saying they want this from D1 too, but what I 
 haven't heard is a great swell of active D developers saying that new 
 features would be a detriment to their work.

 --bb,
 (who has now written and/or ported about 200,000 lines of D according 
 to a quick check with 'wc')
Having an unstable base (and I don't mean unstable in the software sense) makes reimplementations (including partial reimplementations e.g. GDC), ports, etc very difficult. With a feature freeze on 1.0, there is a solid, specified language that one can target without having to keep up with a changing specification. - Gregor Richards
People reimplementing D come in two categories: 1) from scratch, These people can just stick with whatever fixed 1.x version of the specification they want. Any bug fixes that Walter makes to the 1.x series wouldn't help them anyway.
We're not talking about bug fixes, we're talking about new features. If new features creep into D 1.0, then new code won't work on their compilers, and then we get "for D 1.0 (oh but only DMD, not fooDC)" messages.
 2) dmdfe based,
    These people already have to merge with latest dmdfe changes to get 
 the bug fixes, so their lives won't become any more difficult.  Still 
 just a merge from upstream.
 
 Also, given the fact that there really aren't any viable examples of 1) 
 right now that even implement the 1.0 spec, I'm not sure this is a very 
 important category to base decisions upon.
There aren't any != there never will be any. Making D1 a moving target just discourages such development.
 There are many more actual 
 users of D 1.x than there are people implementing D from scratch 
Um ... duh?
 and 
 there are basically zero users of clean-room implementations of the D 
 1.x spec.
And it's a good thing that situations never ever change over time.
 
 --bb
- Gregor Richards
Mar 07 2008
prev sibling next sibling parent reply Derek Parnell <derek nomail.afraid.org> writes:
On Fri, 07 Mar 2008 11:20:38 +0900, Bill Baxter wrote:

 Currently as we all know, D1 gets no new features, and D2 is a crazy 
 rocketship that could change direction at any moment.
I'm probably going against the trend here, but I do not code for D1 any more. My method of working is that I code for D2, then when that is working, I make it work with D1. Sure, it might mean recoding some slabs of code totally differently, but I'm not going to loose sleep if I'm not 100% D1 compatible, as that version WILL definitely be phased out before D2 will. D2 is fairly stable now in terms of syntax changes even though it has a number of bugs still remaining. But this is not mission-critical stuff I'm relying on right now. I don't think I'd write serious commercial software in D yet, of any flavour. -- Derek (skype: derek.j.parnell) Melbourne, Australia 7/03/2008 3:38:52 PM
Mar 06 2008
parent Bill Baxter <dnewsgroup billbaxter.com> writes:
Derek Parnell wrote:
 On Fri, 07 Mar 2008 11:20:38 +0900, Bill Baxter wrote:
 
 Currently as we all know, D1 gets no new features, and D2 is a crazy 
 rocketship that could change direction at any moment.
I'm probably going against the trend here, but I do not code for D1 any more. My method of working is that I code for D2, then when that is working, I make it work with D1. Sure, it might mean recoding some slabs of code totally differently, but I'm not going to loose sleep if I'm not 100% D1 compatible, as that version WILL definitely be phased out before D2 will.
Probably I should do what you've done and take an honest stab at porting my code to D2 to see how bad it really is. But if I make the transition, I'm just going to turn my back on D1 completely. There's no way I'm going to try to maintain compatibility. What I know about D2 code comes mostly from porting Phobos2 to Phobos1, and frankly the need for bizarre constructs like "assumeUnique" just doesn't sit well with me. Additionally, after ripping a lot of redundant const iterators out of various C++ ports, I really don't feel like putting them back. The code is a lot clearer and much less redundant without them. But I feel the code will now be incomplete without them in D2.
 D2 is fairly stable now in terms of syntax changes even though it has a
 number of bugs still remaining. But this is not mission-critical stuff I'm
 relying on right now. I don't think I'd write serious commercial software
 in D yet, of any flavour.
At least I know the placement of "const" for methods seems to still be somewhat up in the air. Does it go before/after/either? Or maybe const(this) anyone? Updating my code for that one change could be a pretty big headache if I choose the flavor that gets deprecated. More than that, I *want* Walter to feel like he can break things big time in D2. It's a great opportunity to improve the basics of the language. --bb
Mar 06 2008
prev sibling next sibling parent reply Ryan Bloomfield <_sir_maniacREMOVE_ME yahoo.com> writes:
Bill Baxter Wrote:
 I myself would like to see D1 get all new features that won't break 
 existing source code.
I'm a newbie here, so take my opinion with a truckload of salt. Why not make a "backports" version? Make a D1.5 branch that will patch the stable D1 with non-breaking D2 features, which are already pretty stable. That way the frozen D1 can stay as stable as possible and encourage more serious use, and the D1.5(or whatever) can be used by the more adventurous of us. The only downside I see is keeping it in sync with D1 bug fixes. Ryan
Mar 06 2008
parent Bill Baxter <dnewsgroup billbaxter.com> writes:
Ryan Bloomfield wrote:
 Bill Baxter Wrote:
 I myself would like to see D1 get all new features that won't break 
 existing source code.
I'm a newbie here, so take my opinion with a truckload of salt. Why not make a "backports" version? Make a D1.5 branch that will patch the stable D1 with non-breaking D2 features, which are already pretty stable. That way the frozen D1 can stay as stable as possible and encourage more serious use, and the D1.5(or whatever) can be used by the more adventurous of us. The only downside I see is keeping it in sync with D1 bug fixes.
That would satisfy me at least, but it almost doubles the number of versions of D someone might be using with DMD vs GDC, Phobos vs Tango, D1 vs D1.5 vs D2. I think maintaining a whole separate version likely would be a burden for Walter. There'd need to be another bifurcation of the web pages for instance. --bb
Mar 06 2008
prev sibling next sibling parent reply Lionello Lunesu <lio lunesu.remove.com> writes:
 I myself would like to see D1 get all new features that won't break 
 existing source code.
 
 Things like:
 * New string literals
   - q{a=b} D-token string syntax,
   - delimited strings, q"(...)"
   - heredocs, q"EOF...
 * IFTI that works even if you specify one parameter,
 * Enhanced is expression
   - is ( Type Identifier : TypeSpecialization , TemplateParameterList )
   - is ( Type Identifier == TypeSpecialization , TemplateParameterList )
 * foreach(i; 0..10) syntax (ForeachRangeLiteral)
 * Overload sets
You mean a D2 without const? L.
Mar 06 2008
parent Bill Baxter <dnewsgroup billbaxter.com> writes:
Lionello Lunesu wrote:
 I myself would like to see D1 get all new features that won't break 
 existing source code.

 Things like:
 * New string literals
   - q{a=b} D-token string syntax,
   - delimited strings, q"(...)"
   - heredocs, q"EOF...
 * IFTI that works even if you specify one parameter,
 * Enhanced is expression
   - is ( Type Identifier : TypeSpecialization , TemplateParameterList )
   - is ( Type Identifier == TypeSpecialization , TemplateParameterList )
 * foreach(i; 0..10) syntax (ForeachRangeLiteral)
 * Overload sets
You mean a D2 without const?
:-) Without breaking changes. For the most part that appears to be const/invariant/enum right now, yes. I also didn't mention closures because I think maybe they are likely to cause existing D1 programs to behave differently. I also didn't mention __traits because it seems still in incubation. That's what D2 is perfect for. Putting features in incubation till they prove stable. So yeh let me state that I don't think changes to D2 should be backported instantly. They should get tried out in D2 and survive a few releases before showing up in D1. --bb
Mar 06 2008
prev sibling next sibling parent reply "Jarrett Billingsley" <kb3ctd2 yahoo.com> writes:
"Bill Baxter" <dnewsgroup billbaxter.com> wrote in message 
news:fqq8ps$g0r$1 digitalmars.com...
 Currently as we all know, D1 gets no new features, and D2 is a crazy 
 rocketship that could change direction at any moment.

 Now I know a lot of people were asking for D to become more stable pre D1 
 days, but is this really what you wanted?

 I had initially assumed that the freeze on D1 was at least as much due to 
 time constraints on Walter as it was due to a desire for stability. But in 
 a recent message Walter said that wasn't the case.  He said that 
 backporting things from D2 to D1 was pretty trivial.

 So really then, it to comes down to Walter believing that the D community 
 wants D1 to be feature frozen.

 Is it really true?  Is there a group of folks who really want D1 to be 
 frozen?

 I myself would like to see D1 get all new features that won't break 
 existing source code.

 Things like:
 * New string literals
   - q{a=b} D-token string syntax,
   - delimited strings, q"(...)"
   - heredocs, q"EOF...
 * IFTI that works even if you specify one parameter,
 * Enhanced is expression
   - is ( Type Identifier : TypeSpecialization , TemplateParameterList )
   - is ( Type Identifier == TypeSpecialization , TemplateParameterList )
 * foreach(i; 0..10) syntax (ForeachRangeLiteral)
 * Overload sets


 I'm all with the sentiment that D1 code that compiles today should compile 
 tomorrow.  That kind of stability is great.  But if it's not a big time 
 commitment for Walter (which he says it's not), I see no good reason to 
 keep new backwards-compatible features out of D1.

 I've heard other folks saying they want this from D1 too, but what I 
 haven't heard is a great swell of active D developers saying that new 
 features would be a detriment to their work.
I'd like a lot of the new D2 features (__traits, a lot of the new compile-time stuff like template enhancements, foreach(i; 0 .. 10)) but at the same time I don't feel like DMDFE is mature enough to offer me a stable, bug-free implementation of many of these features. Furthermore I'm not entirely sold on const and until that _actually_ gets sorted I'd like to stay away from D2. God only knows how long _that_ will take. A D1 + extras version of the compiler would be nice but that seems like a special provision that would only make it harder for compiler implementors and library users to conform to. I'll be contributing to Dil as much as I can over the rest of the semester and the summer break, undoubtedly also contributing to the D2 side of development, but I can't promise that I'll be switching to D2 any time soon. Before D1 came out, I really didn't have a choice as to which version of D to use, but now that D1 has been partially (mostly) stabilized, I'd rather stick to it than to the ever-changing D2.
Mar 06 2008
parent reply "Kris" <foo bar.com> writes:
"Jarrett Billingsley" <kb3ctd2 yahoo.com> wrote
[snip]
 Furthermore I'm not entirely sold on const and until that _actually_ gets 
 sorted I'd like to stay away from D2.   God only knows how long _that_ 
 will take.  A D1 + extras version of the compiler would be nice but that 
 seems like a special provision that would only make it harder for compiler 
 implementors and library users to conform to.

 I'll be contributing to Dil as much as I can over the rest of the semester 
 and the summer break, undoubtedly also contributing to the D2 side of 
 development, but I can't promise that I'll be switching to D2 any time 
 soon. Before D1 came out, I really didn't have a choice as to which 
 version of D to use, but now that D1 has been partially (mostly) 
 stabilized, I'd rather stick to it than to the ever-changing D2.
As one of the early proponents of const (actually, a subset of const), I have to admit to being disappointed with the current D2 mechanisms. Have avoided commentry in the past, because D2 has been positioned as merely experimental. However, from what I understand, Walter is feeling like the const design is almost baked. My original beef was not being able to protect a return value (such as a char[]) from being abused without having to copy the returned content instead of returning a slice. At the time, the 'in' modifier provided suitable intent and control for read-only parameters, so the /hope/ was for something reasonbly simple (to the user) in order to handle the return-value aspect. While I understand how things can sometimes quickly become complex while trying to support a simple notion, there's nothing trivial at all about using or comprehending the D2 const mechanisms. A claim has been made that one does not have to use or be aware of const or invariant to use D2 ... unfortunately that does not appear to be the case in practice, and the added complexity makes D2 harder to work with than D1. At least for now, D1 is the language of choice for me. New features are nice enough, but they're not nearly sufficient to outweight the current const/invariant difficulties. 2c
Mar 06 2008
next sibling parent Derek Parnell <derek nomail.afraid.org> writes:
On Thu, 6 Mar 2008 22:35:24 -0800, Kris wrote:

 the added complexity makes D2 harder to work with than D1.
It took me a while to port Bud over to D2, but that was due mostly to the changing 'char[]' to 'string' and the many .dup calls that were used to protect returned slices. Once I removed all of those, I then had to add back in a handful of .idup calls but now the code is a lot cleaner and little faster. Just for fun, I spent a couple of hours last night writing a turn-based strategy game, a bit similar to Microsoft's Age of Empires concept, to get some practice in using OO techniques. D2 made things so easy and clean looking. I'm sure D1 would also be nice, but I've nothing (yet) to say against D2's way of seeing the world. -- Derek (skype: derek.j.parnell) Melbourne, Australia 7/03/2008 6:14:25 PM
Mar 06 2008
prev sibling parent reply Walter Bright <newshound1 digitalmars.com> writes:
Kris wrote:
 As one of the early proponents of const (actually, a subset of const), I 
 have to admit to being disappointed with the current D2 mechanisms. Have 
 avoided commentry in the past, because D2 has been positioned as merely 
 experimental. However, from what I understand, Walter is feeling like the 
 const design is almost baked.
That's right, although there have been bugs in the implementation (many were fixed in the 2.012 update).
 My original beef was not being able to protect a return value (such as a 
 char[]) from being abused without having to copy the returned content 
 instead of returning a slice. At the time, the 'in' modifier provided 
 suitable intent and control for read-only parameters, so the /hope/ was for 
 something reasonbly simple (to the user) in order to handle the return-value 
 aspect.
If you ever find yourself needing to dup an invariant array, there's a bug somewhere else in the code.
 While I understand how things can sometimes quickly become complex while 
 trying to support a simple notion, there's nothing trivial at all about 
 using or comprehending the D2 const mechanisms. A claim has been made that 
 one does not have to use or be aware of const or invariant to use D2 ... 
 unfortunately that does not appear to be the case in practice, and the added 
 complexity makes D2 harder to work with than D1.
In some ways it is more complex, but in other ways it is simpler. Not the language, but the way it is used. For instance, you shouldn't have to be worrying about defensively duping invariant arrays.
Mar 06 2008
parent reply "Kris" <foo bar.com> writes:
"Walter Bright" <newshound1 digitalmars.com> wrote
 Kris wrote:
 While I understand how things can sometimes quickly become complex while 
 trying to support a simple notion, there's nothing trivial at all about 
 using or comprehending the D2 const mechanisms. A claim has been made 
 that one does not have to use or be aware of const or invariant to use D2 
 ... unfortunately that does not appear to be the case in practice, and 
 the added complexity makes D2 harder to work with than D1.
In some ways it is more complex, but in other ways it is simpler. Not the language, but the way it is used. For instance, you shouldn't have to be worrying about defensively duping invariant arrays.
It is simpler and generally more effective to design an API which avoids the .dup issue. Thus, IMO, const and invariant typically have little value for well over 90% of engineering with D, assuming 'in' remains as always. Yeah, I'm aware of and appreciate the potential benefits involved, both large and small and in their various guises for current and future goodies within D ... but the usage is currently not sufficiently transparent. Usage of dup (and idup) is not a good poster-child to hold aloft, when they can be avoided in the vast majority of cases. For example, in all of Tango there's only one instance where a const return would be nice to have, due mostly to an avoidance of the situation. The usage of D1 'in' can suffice for all read-only parameters. Tango is a large body of code, as you know, with attention given to efficiency. One might hope the highly narrow scope therein for D2 const/invariant might indicate something of value for you -- perhaps that const/invariant might slip into a "special consideration" usage instead? If it simplified the syntax and/or usage, a lot of people would be jumping into D2 instead of remaining with D1 What I'm saying is effectively this: you don't have to solve all the const cases to still have a stupidly-effective language. The tradeoffs to get there so far are, imo, too costly in areas of comprehension and usability - two huge factors in the attraction of D in the first place. Some folks might disagree, and that's cool. It would be interesting to draw a graph plotting "degree of involvement in large-scale D engineering" versus "perceived complexity/value tradeoff regarding const" 2c
Mar 07 2008
parent reply Walter Bright <newshound1 digitalmars.com> writes:
Kris wrote:
 It is simpler and generally more effective to design an API which avoids the 
 .dup issue.
But you shouldn't *need* to be doing .dup for invariant arrays. If you are duping them, there's a problem somewhere else in the code.
 Usage of dup (and idup) is not a good poster-child to hold aloft, when they 
 can be avoided in the vast majority of cases. For example, in all of Tango 
 there's only one instance where a const return would be nice to have, due 
 mostly to an avoidance of the situation. The usage of  D1 'in' can suffice 
 for all read-only parameters. Tango is a large body of code, as you know, 
 with attention given to efficiency. One might hope the highly narrow scope 
 therein for D2 const/invariant might indicate something of value for you --  
 perhaps that const/invariant might slip into a "special consideration" usage 
 instead? If it simplified the syntax and/or usage, a lot of people would be 
 jumping into D2 instead of remaining with D1
You can write bug-free and perfectly correct programs without const or invariant at all. But once a code base exceeds a certain level of size and complexity (and I don't know what that level is), const/invariant will become increasingly valuable. People who do work in large corporations managing extremely large codebases with legions of programmers working on them have made this abundantly clear to me.
 What I'm saying is effectively this: you don't have to solve all the const 
 cases to still have a stupidly-effective language. The tradeoffs to get 
 there so far are, imo, too costly in areas of comprehension and usability - 
 two huge factors in the attraction of D in the first place. Some folks might 
 disagree, and that's cool.
Part of the problem with const/invariant in D is we burned a lot of goodwill with the two previous designs that fell short of the mark. But I believe the design now is a sound one (despite the bugs in implementing some of the details, many of which were fixed in the latest update).
Mar 07 2008
next sibling parent reply Bill Baxter <dnewsgroup billbaxter.com> writes:
Walter Bright wrote:
 You can write bug-free and perfectly correct programs without const or 
 invariant at all. But once a code base exceeds a certain level of size 
 and complexity (and I don't know what that level is), const/invariant 
 will become increasingly valuable. People who do work in large 
 corporations managing extremely large codebases with legions of 
 programmers working on them have made this abundantly clear to me.
Yes, they believe they need it. Sure. But I doubt many of them have done any sort of analysis of how much it actually helps vs. how much it complicates their code base. I say this as someone who was totally sold on C++ const for the first 10 years I used it. Now I'm kind of used to not having it. And, well, the sky hasn't fallen. But lots of my code has lost superfluous redundancy. But I'm going to start trying to compile my code with D2 this weekend and see how it goes. Hopefully const will mostly stay out of my way. --bb
Mar 07 2008
parent reply Walter Bright <newshound1 digitalmars.com> writes:
Bill Baxter wrote:
 Walter Bright wrote:
 You can write bug-free and perfectly correct programs without const or 
 invariant at all. But once a code base exceeds a certain level of size 
 and complexity (and I don't know what that level is), const/invariant 
 will become increasingly valuable. People who do work in large 
 corporations managing extremely large codebases with legions of 
 programmers working on them have made this abundantly clear to me.
Yes, they believe they need it. Sure. But I doubt many of them have done any sort of analysis of how much it actually helps vs. how much it complicates their code base. I say this as someone who was totally sold on C++ const for the first 10 years I used it.
C++ const is not too useful anyway, as it is not transitive and not invariant. It's more of a convention.
 Now I'm kind of used to not having it.  And, well, the sky hasn't 
 fallen.  But lots of my code has lost superfluous redundancy.
 
 But I'm going to start trying to compile my code with D2 this weekend 
 and see how it goes.  Hopefully const will mostly stay out of my way.
 
 --bb
Mar 07 2008
parent reply Sean Kelly <sean invisibleduck.org> writes:
== Quote from Walter Bright (newshound1 digitalmars.com)'s article
 Bill Baxter wrote:
 Yes, they believe they need it.  Sure.  But I doubt many of them have
 done any sort of analysis of how much it actually helps vs. how much it
 complicates their code base.  I say this as someone who was totally sold
 on C++ const for the first 10 years I used it.
C++ const is not too useful anyway, as it is not transitive and not invariant. It's more of a convention.
I can't speak for anyone else, but my issue with C++ const had nothing to do with its reliability. (which I felt was fine) but more to do with its impact on the semantics of the language, and more importantly, on the maintainability of C++ code. Personally, I found C++ const to be more of an obstacle to maintainability than an aid. This was for two reasons: * The const features were applied inconsistently in the codebase, so changes sometimes required const qualifiers to be reworked or new unrelated const methods to be added to suit the situation. * C++ requires duplicate const and non-const member functions in many cases to switch on return value, etc. And duplicate code is never a good thing. I suspect that transitive const in D will largely answer the first point however, and I remember there being some talk of adaptable return types to handle the second point. I'm not clear on how the latter bit works though, and I think it's still yet to be implemented, correct? Sean
Mar 07 2008
parent Walter Bright <newshound1 digitalmars.com> writes:
Sean Kelly wrote:
 I suspect that transitive const in D will largely answer the first
 point however, and I remember there being some talk of adaptable
 return types to handle the second point.  I'm not clear on how the
 latter bit works though, and I think it's still yet to be
 implemented, correct?
The adaptable return types issue has not been properly addressed yet. It was deferred because it is an orthogonal issue to the main design.
Mar 07 2008
prev sibling parent reply "Kris" <foo bar.com> writes:
"Walter Bright" <newshound1 digitalmars.com> wrote in message 
news:fqr25f$2d82$1 digitalmars.com...
 Kris wrote:
 It is simpler and generally more effective to design an API which avoids 
 the .dup issue.
But you shouldn't *need* to be doing .dup for invariant arrays. If you are duping them, there's a problem somewhere else in the code.
Indeed. This is the very argument used to refute your earlier claims about COW being the true-path <g>. The result of that was to design around the issue altogether. You certainly won't find me invoking the wrath of redundant .dup (and surely the mere existence of .idup should ring alarm-bells).
 Usage of dup (and idup) is not a good poster-child to hold aloft, when 
 they can be avoided in the vast majority of cases. For example, in all of 
 Tango there's only one instance where a const return would be nice to 
 have, due mostly to an avoidance of the situation. The usage of  D1 'in' 
 can suffice for all read-only parameters. Tango is a large body of code, 
 as you know, with attention given to efficiency. One might hope the 
 highly narrow scope therein for D2 const/invariant might indicate 
 something of value for you --  perhaps that const/invariant might slip 
 into a "special consideration" usage instead? If it simplified the syntax 
 and/or usage, a lot of people would be jumping into D2 instead of 
 remaining with D1
You can write bug-free and perfectly correct programs without const or invariant at all. But once a code base exceeds a certain level of size and complexity (and I don't know what that level is), const/invariant will become increasingly valuable. People who do work in large corporations managing extremely large codebases with legions of programmers working on them have made this abundantly clear to me.
Yes, I agree, and put this argument to you several years ago while COW was king for D. My whole point is that D2 has made const/invariant into something that complicates the usage and comprehension of the language as a whole: - Yes, read-only attributes can be /very/ useful in specific scenarios. - Yes, D already supported various (non-const) ways to enable read-only aggregates - Yes, D1 already had read-only parameters - Yes, most people can happily get by without const/invariant - Yes, there are other valuable uses for invariant that have yet to ripen (parallelization, for example) - Yes, the further revised design of const/invariant in D2 still complicate language usage & comprehension past the level where the tradeoffs make sense (IMO). I've tried to say this already, and will keep repeating it <g>
 What I'm saying is effectively this: you don't have to solve all the 
 const cases to still have a stupidly-effective language. The tradeoffs to 
 get there so far are, imo, too costly in areas of comprehension and 
 usability - two huge factors in the attraction of D in the first place. 
 Some folks might disagree, and that's cool.
Part of the problem with const/invariant in D is we burned a lot of goodwill with the two previous designs that fell short of the mark. But I believe the design now is a sound one (despite the bugs in implementing some of the details, many of which were fixed in the latest update).
There's no question here of whether it may or may not be 'sound' ... instead, it's a question of usability. There's not much value in being the world's most wonderful companion when one's body-odor is sufficient to keep everyone at bay - like most things, there's a question of balance. You seem to think D2 has finally got it right. I disagree, as do many other large-scale users of the language (the very people who you'd expect to be in the D2 camp without question). I'm not here to argue about black or white. Instead I'm attempting to help you understand the reasons why so few people have adopted D2 .... to leverage the earlier analogy, D1 ain't a perfect companion but it has very little body-odor Hope this helps; 2c
Mar 07 2008
parent reply "Janice Caron" <caron800 googlemail.com> writes:
On 07/03/2008, Kris <foo bar.com> wrote:
  ... why so few people have adopted D2
I have no idea how many people have adopted D1 I have no idea how many people have adopted D2 But you apparently do, so please do share those numbers. Thanks.
Mar 07 2008
parent reply Bill Baxter <dnewsgroup billbaxter.com> writes:
Janice Caron wrote:
 On 07/03/2008, Kris <foo bar.com> wrote:
  ... why so few people have adopted D2
I have no idea how many people have adopted D1 I have no idea how many people have adopted D2 But you apparently do, so please do share those numbers. Thanks.
There was a poll not so long ago. Maybe you missed it. http://baxissimo.freepolls.com/cgi-bin/pollresults/001 It came out about 3:1 D1 users:D2 users. More D2 users than I was expecting. But of course it was a self-selecting poll, only announced here on the NG, so you have to take it with a heavy grain of salt. --bb
Mar 07 2008
parent reply "Janice Caron" <caron800 googlemail.com> writes:
On 07/03/2008, Bill Baxter <dnewsgroup billbaxter.com> wrote:
 There was a poll not so long ago.  Maybe you missed it.
  http://baxissimo.freepolls.com/cgi-bin/pollresults/001
I did indeed miss that. Thanks for the link.
  It came out about 3:1  D1 users:D2 users.  More D2 users than I was
  expecting.
And (proportionately) more D1 users than I was expecting. Hey ho.
  But of course it was a self-selecting poll, only announced
  here on the NG, so you have to take it with a heavy grain of salt.
Indeed. If that poll is accurate then only 119 people use D. :-)
Mar 07 2008
parent reply Bill Baxter <dnewsgroup billbaxter.com> writes:
Janice Caron wrote:
 On 07/03/2008, Bill Baxter <dnewsgroup billbaxter.com> wrote:
 There was a poll not so long ago.  Maybe you missed it.
  http://baxissimo.freepolls.com/cgi-bin/pollresults/001
I did indeed miss that. Thanks for the link.
  It came out about 3:1  D1 users:D2 users.  More D2 users than I was
  expecting.
And (proportionately) more D1 users than I was expecting. Hey ho.
  But of course it was a self-selecting poll, only announced
  here on the NG, so you have to take it with a heavy grain of salt.
Indeed. If that poll is accurate then only 119 people use D. :-)
Some people responded directly to the NG. I'll repaste the summary here: Here's a summary of the poll results: ------------------------------- From the web poll: Yes: 28 No: 87 From replies here: Yes: ~6 No: ~13 Totals: Yes: 34/134 = 25% No: 100/134 = 75% -------------------------------- Original post: digitalmars.com digitalmars.D:61017 But anyway, how many people do you think do use D overall? My guess would be about 10x that number. That's discounting people who just tried hello world once to see if it worked. But I guess Walter should have a better idea of the actual figure based --bb
Mar 07 2008
parent reply "Janice Caron" <caron800 googlemail.com> writes:
On 07/03/2008, Bill Baxter <dnewsgroup billbaxter.com> wrote:
  how many people do you think do use D overall?
It's not in my nature to form opinions in the absence of data.
Mar 07 2008
next sibling parent Bill Baxter <dnewsgroup billbaxter.com> writes:
Janice Caron wrote:
 On 07/03/2008, Bill Baxter <dnewsgroup billbaxter.com> wrote:
  how many people do you think do use D overall?
It's not in my nature to form opinions in the absence of data.
Fair enough. But there is various data. Number of websites about D, number of posters here on the NG. Number of people on IRC. Number of google hits for "D programming language", number of pins in the D frappr map. Etc. --bb
Mar 07 2008
prev sibling next sibling parent "Saaa" <empty needmail.com> writes:
 On 07/03/2008, Bill Baxter <dnewsgroup billbaxter.com> wrote:
  how many people do you think do use D overall?
It's not in my nature to form opinions in the absence of data.
Absence of data? It would be kind of strange to have no data at all. I at the very least know that I know nobody around me who uses D and plenty who use other languages. Its not like there are hard fact (in general, but that too much phil) about the exact user count of any proramming language. Then there is tiobe and we know about a few books / conferences. And in addition to this I have a guess from bb. My guess from all this data would be that 1000 is too low.
Mar 07 2008
prev sibling parent reply Kris <foo bar.com> writes:
Janice Caron Wrote:

 On 07/03/2008, Bill Baxter <dnewsgroup billbaxter.com> wrote:
  how many people do you think do use D overall?
It's not in my nature to form opinions in the absence of data.
That is the funniest, and perhaps most deliberately misleading post ever made to this NG lmao
Mar 07 2008
parent reply "Jarrett Billingsley" <kb3ctd2 yahoo.com> writes:
"Kris" <foo bar.com> wrote in message news:fqse2j$2s5n$1 digitalmars.com...
 Janice Caron Wrote:

 On 07/03/2008, Bill Baxter <dnewsgroup billbaxter.com> wrote:
  how many people do you think do use D overall?
It's not in my nature to form opinions in the absence of data.
That is the funniest, and perhaps most deliberately misleading post ever made to this NG
Now, now!
Mar 07 2008
parent reply Kris <foo bar.com> writes:
Jarrett Billingsley Wrote:

 "Kris" <foo bar.com> wrote in message news:fqse2j$2s5n$1 digitalmars.com...
 Janice Caron Wrote:

 On 07/03/2008, Bill Baxter <dnewsgroup billbaxter.com> wrote:
  how many people do you think do use D overall?
It's not in my nature to form opinions in the absence of data.
That is the funniest, and perhaps most deliberately misleading post ever made to this NG
Now, now!
Seriously Jarrett ... I'll be happy to dig up prior posts to illustrate :) I believe there's at least one beauty about how Tango is written by amateurs or ignorant fools, or something, all based merely upon the existence of CamelCase in module names. Classic stuff, and quite contrary to claims of "It's not in my nature to form opinions in the absence of data". If you deliberately manufacture or synthesize said data, or otherwise generate it via one's subjective whims alone, then obviously the claim would hold true in the above example or any other. Slick huh? I'm not here to rock the boat, but really ...
Mar 07 2008
next sibling parent "Jarrett Billingsley" <kb3ctd2 yahoo.com> writes:
"Kris" <foo bar.com> wrote in message news:fqt2lb$1897
 Now, now!
Seriously Jarrett ... I'll be happy to dig up prior posts to illustrate :)
I'm not saying that I necessarily disagree ;) But it's just certain things shouldn't necessarily be said in mixed company is all.
Mar 08 2008
prev sibling parent reply "Janice Caron" <caron800 googlemail.com> writes:
On 08/03/2008, Kris <foo bar.com> wrote:
  I believe there's at least one beauty about how Tango is written by amateurs
or ignorant fools, or something, all based merely upon the existence of
CamelCase in module names.
I'm not quite sure where you're going with this, but "Tango is written by amateurs or ignorant fools" has never been said by anyone, so far as I am aware, and certainly not by me. Last time I called strawman on that very point, Jeff Nowakowski had to dig up the exact quote to end the conversation. I was rather hoping that that would be the end of it for all time. Aparently not. So for the record ... /again/ ... this is what I claimed, way back in September 2007: I claimed that my first impression upon reading the Tango documentation was that the decision to deliberately violate the D style guide had been a petty decision. In the same post I apologised in case that came across as contentious. I tend to assume that writers (even writers of documentation) appreciate feedback about what sort of first impressions their work conveys, so I assumed that the feedback would be welcome. In subsequent posts I went on to add that the core body of code in Tango is excellent. (Feedback for any of my own documentation is /encouraged/, by the way. If it sucks, or gives any misleading impression, tell me). So, Kris, you /know/ that I don't think that "Tango is written by amateurs or ignorant fools", and that I have not ever made that claim, so please, please, please let us put this to rest once and for all. Every time you retell this, you exaggerate upon your previous retelling, and it was already inaccurate the last time. This got old a long time ago. Can we drop it?
Mar 08 2008
parent reply "Kris" <foo bar.com> writes:
There needs to be a foil for your BS, Janice, since some newer people may 
accidentally actually buy into it. Thus, every time these BS filters have a 
meltdown, I will happily call you out:

You claim:
---
It's not in my nature to form opinions in the absence of data
---

You said:
------
Module names in mixed case!? Did the Tango folk not read the D style
guide where it says "Module and package names are all lower case, and
only contain the characters [a..z][0..9][_]", or did they just
purposefully decide to avoid it? If the former, that was amateurish;
if the latter, it was petty.
------

In case you don't recognise it, that is one pompous, arrogant and subjective 
opinion, in the absence of any realistic data whatsoever. It took a litany 
of further posts for you to even grasp that a 'style guide' is just that: a 
Guide. Full post is right here: 
http://www.digitalmars.com/d/archives/digitalmars/D/Re_D_Conference_Tango_Phobos_58225.html#N58577
You call for moderation on these forums, Janice. The bullshit needs to be 
moderated too. After all, this is supposed to be a place for learning.




"Janice Caron" <caron800 googlemail.com> wrote
[snip]
 This got old a long time ago. Can we drop it?
It was old the first time around.
Mar 08 2008
parent reply "Janice Caron" <caron800 googlemail.com> writes:
On 08/03/2008, Kris <foo bar.com> wrote:
  You said:
  ------
  Module names in mixed case!? Did the Tango folk not read the D style
  guide where it says "Module and package names are all lower case, and
  only contain the characters [a..z][0..9][_]", or did they just
  purposefully decide to avoid it? If the former, that was amateurish;
  if the latter, it was petty.
  ------
I did, albeit six months ago. More to the point, I did /not/ say, and have never said: "Tango is written by amateurs or ignorant fools". That was a strawman. Now /please/ drop this vendetta.
Mar 08 2008
parent reply "Kris" <foo bar.com> writes:
"Janice Caron" <caron800 googlemail.com> wrote in
 On 08/03/2008, Kris <foo bar.com> wrote:
  You said:
  ------
  Module names in mixed case!? Did the Tango folk not read the D style
  guide where it says "Module and package names are all lower case, and
  only contain the characters [a..z][0..9][_]", or did they just
  purposefully decide to avoid it? If the former, that was amateurish;
  if the latter, it was petty.
  ------
I did, albeit six months ago. More to the point, I did /not/ say, and have never said: "Tango is written by amateurs or ignorant fools". That was a strawman.
BS is BS. Period. Also, you cutely cut out the appropriate part, Janice. Here's my post: --- I believe there's at least one beauty about how Tango is written by amateurs or ignorant fools, or something, all based merely upon the existence of CamelCase in module names. --- See the "or something, " in there? Obviously there was no word-for-word recall, yet the implied gist was conveyed.
 Now /please/ drop this vendetta.
There's no vendetta anywhere in the vicinity ... just a run-of-the mill BS call-out. You drop the BS and the attitude, and you won't get called out on it. Take or leave it as you choose
Mar 08 2008
parent reply "Janice Caron" <caron800 googlemail.com> writes:
On 08/03/2008, Kris <foo bar.com> wrote:
 I did, albeit six months ago. More to the point, I did /not/ say, and
> have never said: "Tango is written by amateurs or ignorant fools". > That was a strawman. BS is BS. Period. Also, you cutely cut out the appropriate part, Janice. Here's my post: --- I believe there's at least one beauty about how Tango is written by amateurs or ignorant fools, or something, all based merely upon the existence of CamelCase in module names. --- See the "or something, " in there? Obviously there was no word-for-word recall, yet the implied gist was conveyed. > Now /please/ drop this vendetta. There's no vendetta anywhere in the vicinity ... just a run-of-the mill BS call-out. You drop the BS and the attitude, and you won't get called out on it. Take or leave it as you choose
You misunderstand the source of my objection. I have /no/ problem with you calling out hypocrisy, if you feel it's your duty to do that. You may even be right - In one sense perhaps I did leap to a conclusion on the basis of insufficient evidence, six months ago. However, what I object to is being maliciously misquoted. I did /not/, repeat, /not/, say that Tango is written by amateurs or ignorant fools, or something, either with or without the "or something". That is simply untrue. The difficulty is, every time you paraphrase me, you change the meaning in a way which fails to convey my original intent, and indeed which conveys a completely different message. That constitutes putting words into my mouth. I realise you feel that the words "or something" constitute a suitable disclaimer, but they don't. Really, they don't. In summary then: /no/ problem with your calling out hypocrisy; /big/ problem with being misquoted. (There's also no need for it: I'm here - you can just /ask/ me my opinion). If you could cut back on the misquoting, we'll get along just fine.
Mar 09 2008
next sibling parent Robert Fraser <fraserofthenight gmail.com> writes:
Janice Caron wrote:
 The difficulty is, every time you paraphrase me, you change the
 meaning in a way which fails to convey my original intent, and indeed
 which conveys a completely different message.
It's a deficiency of the communication medium.
Mar 09 2008
prev sibling parent reply "Kris" <foo bar.com> writes:
"Janice Caron" <caron800 googlemail.com> wrote
 On 08/03/2008, Kris <foo bar.com> wrote:
  There's no vendetta anywhere in the vicinity ... just a run-of-the mill 
 BS
  call-out. You drop the BS and the attitude, and you won't get called out 
 on
  it. Take or leave it as you choose
You misunderstand the source of my objection. I have /no/ problem with you calling out hypocrisy, if you feel it's your duty to do that.
Ah, some more BS there -- while you call for moderated forums, and claim to have no problem with anyone calling out your hypocrisy, you're happy to drop snide remarks regarding "duty" :p
 You may even be right - In one sense perhaps I
 did leap to a conclusion on the basis of insufficient evidence, six
 months ago.
Six-months has no relevance whatsoever. You answered Bill with a hypocrtical and typically pompous claim, and apparently want to drag this out as long as possible. Fair enough. You claim: --- It's not in my nature to form opinions in the absence of data --- You had said: ------ Module names in mixed case!? Did the Tango folk not read the D style guide where it says "Module and package names are all lower case, and only contain the characters [a..z][0..9][_]", or did they just purposefully decide to avoid it? If the former, that was amateurish; if the latter, it was petty. ------ I noted: ------ I believe there's at least one beauty about how Tango is written by amateurs or ignorant fools, or something, all based merely upon the existence of CamelCase in module names. ------
 However, what I object to is being maliciously misquoted. I did /not/,
 repeat, /not/, say that Tango is written by amateurs or ignorant
 fools, or something, either with or without the "or something". That
 is simply untrue.
Maliciously misquoted? Bullshit <g> -- it is questionable that you were even "quoted", and any 'malicious' aspect is manufactured entirely by yourself. Seems to me like you're splitting hairs in a vague attempt to deflect attention. In fact - if there's /anything/ dubious going on here, it would appear to lie within your attempts to paint this callout as "malicious" and as a "vendetta", when in fact it is merely a way to let new people know that your sacred "opinion" is not at all what you claim it to be.
 If you could cut back on the
 misquoting, we'll get along just fine.
Yes, it is perfectly clear that you /really/ want to make this someone else's problem. You got caught out by your own petty arrogance -- have sufficient grace to accept that without the ongoing pedantic nonsense, and we'll get along just fine
Mar 09 2008
next sibling parent reply lurker <lurker lurk.com> writes:
watching for quite a while.
you really kill me. are you resistant to to see that you did something wrong???
please go into yourself and think a little.

sorry not an english native.




Kris Wrote:

 "Janice Caron" <caron800 googlemail.com> wrote
 On 08/03/2008, Kris <foo bar.com> wrote:
  There's no vendetta anywhere in the vicinity ... just a run-of-the mill 
 BS
  call-out. You drop the BS and the attitude, and you won't get called out 
 on
  it. Take or leave it as you choose
You misunderstand the source of my objection. I have /no/ problem with you calling out hypocrisy, if you feel it's your duty to do that.
Ah, some more BS there -- while you call for moderated forums, and claim to have no problem with anyone calling out your hypocrisy, you're happy to drop snide remarks regarding "duty" :p
 You may even be right - In one sense perhaps I
 did leap to a conclusion on the basis of insufficient evidence, six
 months ago.
Six-months has no relevance whatsoever. You answered Bill with a hypocrtical and typically pompous claim, and apparently want to drag this out as long as possible. Fair enough. You claim: --- It's not in my nature to form opinions in the absence of data --- You had said: ------ Module names in mixed case!? Did the Tango folk not read the D style guide where it says "Module and package names are all lower case, and only contain the characters [a..z][0..9][_]", or did they just purposefully decide to avoid it? If the former, that was amateurish; if the latter, it was petty. ------ I noted: ------ I believe there's at least one beauty about how Tango is written by amateurs or ignorant fools, or something, all based merely upon the existence of CamelCase in module names. ------
 However, what I object to is being maliciously misquoted. I did /not/,
 repeat, /not/, say that Tango is written by amateurs or ignorant
 fools, or something, either with or without the "or something". That
 is simply untrue.
Maliciously misquoted? Bullshit <g> -- it is questionable that you were even "quoted", and any 'malicious' aspect is manufactured entirely by yourself. Seems to me like you're splitting hairs in a vague attempt to deflect attention. In fact - if there's /anything/ dubious going on here, it would appear to lie within your attempts to paint this callout as "malicious" and as a "vendetta", when in fact it is merely a way to let new people know that your sacred "opinion" is not at all what you claim it to be.
 If you could cut back on the
 misquoting, we'll get along just fine.
Yes, it is perfectly clear that you /really/ want to make this someone else's problem. You got caught out by your own petty arrogance -- have sufficient grace to accept that without the ongoing pedantic nonsense, and we'll get along just fine
Mar 09 2008
parent reply "Kris" <foo bar.com> writes:
"lurker" <lurker lurk.com> wrote in message 
news:fr1fek$29jf$1 digitalmars.com...
 watching for quite a while.
 you really kill me. are you resistant to to see that you did something 
 wrong???
 please go into yourself and think a little.

 sorry not an english native.
Your English is perfectly fine ... don't worry about it. It would be helpful if perhaps you would be more specific in what you are criticizing? Without that, your post can run the risk of being mistaken for that of a troll, and I'm sure that's not the case here. Also, it can be worth noting that anonymous posts are often disregarded, especially where the subject matter is perhaps a little delicate? That's because there's a couple of lurking jokers who find joy in the act of sock-puppetry, as they troll. Cheers;
Mar 09 2008
parent downs <default_357-line yahoo.de> writes:
Kris wrote:
 "lurker" <lurker lurk.com> wrote in message 
 news:fr1fek$29jf$1 digitalmars.com...
 watching for quite a while.
 you really kill me. are you resistant to to see that you did something 
 wrong???
 please go into yourself and think a little.

 sorry not an english native.
Your English is perfectly fine ... don't worry about it. It would be helpful if perhaps you would be more specific in what you are criticizing? Without that, your post can run the risk of being mistaken for that of a troll, and I'm sure that's not the case here. Also, it can be worth noting that anonymous posts are often disregarded, especially where the subject matter is perhaps a little delicate? That's because there's a couple of lurking jokers who find joy in the act of sock-puppetry, as they troll. Cheers;
I see his point and agree. As I understand it, Janice has no problem with being called on hypocrysy, as long as you do it without spreading misinformation. Just because, as you so repeatedly insisted, her opinion may be BS, does not ... Oh damn. I don't know if kris is male or female. Okay, let's do this again. Just because, as you so repeatedly insisted, his/her opinion may be BS, does not mean you can misquote her. This is, as far as I can see, what kris is taking issue with, and I have to agree with him/her. Remember kids, two wrongs don't make a right! --downs
Mar 10 2008
prev sibling next sibling parent reply Bill Baxter <dnewsgroup billbaxter.com> writes:
Kris wrote:
 "Janice Caron" <caron800 googlemail.com> wrote
 On 08/03/2008, Kris <foo bar.com> wrote:
Hey you two! Get off my thread! Just kidding. Looks like we were just about done discussing the D1 situation anyway, so go ahead and use the thread for whatever you feel like. But staying here might make it harder for you to dig up incriminating quotes about each other later. :-P --bb
Mar 09 2008
parent "Kris" <foo bar.com> writes:
"Bill Baxter" <dnewsgroup billbaxter.com> wrote...
 Kris wrote:
 "Janice Caron" <caron800 googlemail.com> wrote
 On 08/03/2008, Kris <foo bar.com> wrote:
Hey you two! Get off my thread! Just kidding. Looks like we were just about done discussing the D1 situation anyway, so go ahead and use the thread for whatever you feel like. But staying here might make it harder for you to dig up incriminating quotes about each other later. :-P --bb
Yeah, my apologies for the OT. Seems like there's some kind of sock-puppetry starting too. later o/
Mar 09 2008
prev sibling parent reply "Janice Caron" <caron800 googlemail.com> writes:
On 09/03/2008, Kris <foo bar.com> wrote:
 when in fact it is merely a way to let new people know that
 your sacred "opinion" is not at all what you claim it to be.
I surrender, OK? Just write the confession and I'll sign it. If there is /anything/ at all which I can say, which will make you happy enough not to attack me ever again, just tell me what it is, and I'll say it. Likewise, if there is anything specific you want me /not/ to say, please tell me that too, and I'll not say it. If you want me to leave this newsgroup forever, I'll even do that. This is an unconditional surrender. I've had enough. You win.
Mar 10 2008
next sibling parent "Steven Schveighoffer" <schveiguy yahoo.com> writes:
"Janice Caron" wrote
 On 09/03/2008, Kris wrote:
 when in fact it is merely a way to let new people know that
 your sacred "opinion" is not at all what you claim it to be.
I surrender, OK? Just write the confession and I'll sign it. If there is /anything/ at all which I can say, which will make you happy enough not to attack me ever again, just tell me what it is, and I'll say it. Likewise, if there is anything specific you want me /not/ to say, please tell me that too, and I'll not say it. If you want me to leave this newsgroup forever, I'll even do that. This is an unconditional surrender. I've had enough. You win.
Kids, if you don't stop arguing back there, I'm going to pull this NG over and kick your asses. Stop with the drama, let's do something productive... -Steve
Mar 10 2008
prev sibling next sibling parent reply lurker <lurker lurk.com> writes:
Janice Caron Wrote:

 On 09/03/2008, Kris <foo bar.com> wrote:
 when in fact it is merely a way to let new people know that
 your sacred "opinion" is not at all what you claim it to be.
I surrender, OK? Just write the confession and I'll sign it. If there is /anything/ at all which I can say, which will make you happy enough not to attack me ever again, just tell me what it is, and I'll say it. Likewise, if there is anything specific you want me /not/ to say, please tell me that too, and I'll not say it. If you want me to leave this newsgroup forever, I'll even do that. This is an unconditional surrender. I've had enough. You win.
1. andre 2. janice all it takes to mess up a online community is a determined kretin.
Mar 10 2008
next sibling parent lurker <lurker lurk.com> writes:
i don't know who wrote this, but it was not me. i wrote yesterday and recieved
an answer from kris:


"lurker" <lurker lurk.com> wrote in message 
news:fr1fek$29jf$1 digitalmars.com...
 watching for quite a while.
 you really kill me. are you resistant to to see that you did something 
 wrong???
 please go into yourself and think a little.

 sorry not an english native.
Your English is perfectly fine ... don't worry about it. It would be helpful if perhaps you would be more specific in what you are criticizing? Without that, your post can run the risk of being mistaken for that of a troll, and I'm sure that's not the case here. Also, it can be worth noting that anonymous posts are often disregarded, especially where the subject matter is perhaps a little delicate? That's because there's a couple of lurking jokers who find joy in the act of sock-puppetry, as they troll. Cheers; lurker Wrote:
 Janice Caron Wrote:
 
 On 09/03/2008, Kris <foo bar.com> wrote:
 when in fact it is merely a way to let new people know that
 your sacred "opinion" is not at all what you claim it to be.
I surrender, OK? Just write the confession and I'll sign it. If there is /anything/ at all which I can say, which will make you happy enough not to attack me ever again, just tell me what it is, and I'll say it. Likewise, if there is anything specific you want me /not/ to say, please tell me that too, and I'll not say it. If you want me to leave this newsgroup forever, I'll even do that. This is an unconditional surrender. I've had enough. You win.
1. andre 2. janice all it takes to mess up a online community is a determined kretin.
Mar 10 2008
prev sibling parent reply "Kris" <foo bar.com> writes:
"lurker" <lurker lurk.com> wrote ...
 all it takes to mess up a online community is a determined kretin.
The damage done by trolls, puppeteers, fud-mongers and their ilk is at the core of every rotted community. So yes, we agree that one determined, anonymous, malicious moron can indeed mess up an online community. It's no secret who you are, behind the curtain, for those who care to dig a little. Cheers!
Mar 12 2008
parent a <a b.c> writes:
Kris Wrote:
 "lurker" <lurker lurk.com> wrote ...
 all it takes to mess up a online community is a determined kretin.
The damage done by trolls, puppeteers, fud-mongers and their ilk is at the core of every rotted community. So yes, we agree that one determined, anonymous, malicious moron can indeed mess up an online community. It's no secret who you are, behind the curtain, for those who care to dig a little.
yeah i am the guy who was stealing your sandwiches in kindergarten. kretinis just go. we'll be so much happier.
Mar 13 2008
prev sibling parent reply "Kris" <foo bar.com> writes:
"Janice Caron" <caron800 googlemail.com> wrote
 if there is anything specific you want me /not/
 to say, please tell me that too, and I'll not say it.
I'd intended to forego further posts on this topic, but you are asking for a response. Pardon the delay, and I'll try to be appropriately objective: It's a question of double-standards, Janice. Not specifically what you, I, or anyone else says per se. While you sometimes appear to be adept at dishing out innuendo and/or the occasional scathing remark, you invariably cry wolf when some of that comes back to you. For the sake of illustration, I will stick purely to the content related to this exchange. Please do not read any more into it than merely an illustration. In that vein, I'm going to use the same 'opinion' of yours as before and attempt to paint an alternate viewpoint for you. Here it is: ------ Module names in mixed case!? Did the Tango folk not read the D style guide where it says "Module and package names are all lower case, and only contain the characters [a..z][0..9][_]", or did they just purposefully decide to avoid it? If the former, that was amateurish; if the latter, it was petty. ------ You can argue the following observations all you like. However, you've effectively asked me what you might do, or not do, in order to avoid opening yourself up to criticism - here's how things look from one perspective: 1) Your message is making strong assertions about the intent and capabilities of the targeted individuals. Think, for a moment, about how you'd react if the tables were turned? Going by past behaviour, you'd call out "Ad Hominum!" or otherwise convey some righteous indignation. Yet you seem quite comfortable with the delivery yourself. Let us save the semantic-splitting for the lingusitic gymnasts ... in your post, you are directly discussing several people who can correctly identify intent. 2) Those assertions are based entirely upon your personal opinion of what a 'style-guide' represents. See that gaping chasm between the reality of what you claim to be a problem, and how you shape it (replete with exclamation and accompanying rhetoric) ... it is tricky to define this gap in any kind of glowing terms. This current exchange began via a simple BS callout. Along the way, you've characterized that act as "malicious", as a "vendetta", a "strawman", and an "attack". Just what do you call your above "amatuerish" message? It was apparently unprovoked, so therefore is an attack? Is it perhaps a strawman also? Does seems that way. Are you really so terribly precocious as to think any decision made therein, without your consent, warranted quite such disdain and drama from you? If not, then your post was also perhaps malicious? Maybe even with shades of a vendetta? The specific point here is not that you made these unwarranted and uninformed claims, but that you subsequently wave the terms "attack", "vendetta", "malicious" and so on like theAd Hominum club when you have opened yourself up to some criticism. 3) There was an occasion related to the above post where, if I recall correctly, you took offence and demanded an apology. I don't remember seeing you offering an apology to the various people you likely offended (potentially in a malicious manner) via the intended implications of your message? Of course, nobody asked for a subsequent apology (and nobody is 4) I recall that you once claimed to be a writer of fiction? Then you must clearly comprehend the distinction between "quoting" and abstract paraphrasing. That hasn't stopped you from using the spit-on-me-but-dont-you-dare-misquote-me responses echoed in this exchange. That is, you fully understand that is not applicable, but use it for effect 5) I've witnessed you make two calls for forum moderation. Most recently, I believe the call was with regard to Ty Tower? You do realize, I hope, that moderation takes many forms, and that perhaps some of your posts warrant moderation also? Certainly, the death-threats and Nazi-style propoganda eminating from Mr Tower is of a rather different nature, yet moderation is The take-away message is that, whether you like it or not, the level of hypocrisy can sometimes become overbearing from a different perspective. And that's related to just a single post, Janice. Even if you claim some of it to be a stretch, it does leave a lot of question-marks hanging. This is why I called you out on the somewhat grandiose and (IMO) badly misleading claim you made earlier. Nobody else does this kind of thing on the NG ... you are really out there by yourself, and thus make yourself a target for subsequent criticism.
 If you want me
 to leave this newsgroup forever, I'll even do that.
Sadly, this is a martyr card. The one that usually screams "It's all your fault, and I'm entirely innocent!". I have no personal desire for you to do anything, Janice, other than to perhaps drop the double-standards. Perhaps some folk will view this post as a personal attack, or some such. It is not, or rather, it certainly not intended to be. Instead, it is merely complying with your request. Take it for what it is and no more. Lastly - a general mea-culpa from me to everyone, since I've obviously played my part in reducing the signal-to-noise-ratio via this exchange. I offer you my apologies for doing so.
Mar 12 2008
next sibling parent Ty Tower <tytower hotmail.com.au> writes:
Kris Wrote:


 5) I've witnessed you make two calls for forum moderation. Most recently, I 
 believe the call was with regard to Ty Tower? You do realize, I hope, that 
 moderation takes many forms, and that perhaps some of your posts warrant 
 moderation also? Certainly, the death-threats and Nazi-style propoganda 
 eminating from Mr Tower is of a rather different nature, yet moderation is 

Err Death threats? I said" if I had my way I would shoot you". Bit of difference to a death threat if you think about it . Kinda convenient for your tirade though heh? And Nazi style propaganda ! You exagerate grossly when it suits .
Mar 13 2008
prev sibling parent reply "Janice Caron" <caron800 googlemail.com> writes:
On 12/03/2008, Kris <foo bar.com> wrote:
 "Janice Caron" <caron800 googlemail.com> wrote
  > if there is anything specific you want me /not/
  > to say, please tell me that too, and I'll not say it.

  I'd intended to forego further posts on this topic, but you are asking for a
  response. Pardon the delay, and I'll try to be appropriately objective:

  I will stick purely to the content related to this exchange. Please do not
  read any more into it than merely an illustration. In that vein, I'm going
  to use the same 'opinion' of yours as before and attempt to paint an
  alternate viewpoint for you. Here it is:
  ------
  Module names in mixed case!? Did the Tango folk not read the D style
  guide where it says "Module and package names are all lower case, and
  only contain the characters [a..z][0..9][_]", or did they just
  purposefully decide to avoid it? If the former, that was amateurish;
  if the latter, it was petty.
  ------

  you've
  effectively asked me what you might do, or not do, in order to avoid opening
  yourself up to criticism
Yes, I have. That is exactly what I am asking. Thank you for trying to answer.
  1) Your message is making strong assertions about the intent and
  capabilities of the targeted individuals. Think, for a moment, about how
  you'd react if the tables were turned?
OK, well ignoring for the moment the fact that no insult was /intended/, I do fully accept that offense was /taken/. However, it's hard to know how I can "stop" having made a post in the past, when I have already apologised for it many times. After all, in the exact same post, a little bit further down, I said: "My apologies if I come across as contentious." The following day, on September 16th 2007, I apologised again, twice, in two separate posts. I quote: 'I am truly sorry that use of the word "petty" offended you. If it helps ease tensions, then I apologise for using it.', and again: "So I apologise if my first impression offended you". I have also said many rather nice things about Tango. For example, two days later, on September 18th 2007: "I'm also capable of just speaking in words, and saying what I think, which is that Tango is a truly excellent body of work with some fantastic code in it." Also, on the same day: "So yes, the core body of code in Tango is excellent. The engine that does all the work is a fantastic bit of software, and not in the least bit amateurish.", as well as the further clarification: "I think it's more that words were /taken/ personally when they were not intended as such. I know that I have never criticised any individual, and never would." Without a time-machine, I cannot un-make the post, so all can do is keep apologising, and I haven't apologised enough alreadly, allow me to do so again: I apologise. But the point I'm making here is that since that post was made on September 15th 2007, then I "stopped" making it on September 16th. I cannot "stop" making it today or tomorrow any more than I can "stop" making it yesterday. Since I have not made any negative comments about Tango or its developers since September 16th 2007 (nor insulted any individual /ever/), can we not just agree that such posts have already, in fact, "stopped", and that it is therefore not possible for me to stop any further?
  Along the way, you've
  characterized that act as "malicious", as a "vendetta", a "strawman", and an
  "attack".
Yes, the one thing which really bothers me is misrepresentation. All the rest, I can ignore, but misrepresentation is something that I do perceive as an attack, even if you don't intend it as such. It's just, if ever anyone says "Janice says X" or "Janice thinks Y" or "Janice believes Z", where I do not, in fact, say/think/believe X, Y, or Z, or makes any statement which gives the imprerssion that I believe something other than that which I actually believe, then I feel compelled to step in and say "Wait a minute - that part's not actually true". It's not my intention to exacerbate any dispute, but I just cannot stand by and let someone else put words or opinions into my mouth. Honestly, if someone wants to know what I think, they only have to ask me.
 Just what do you call your above "amatuerish" message?
Again, we're revisiting September, and a post (a) which was misunderstood, and (b) for which I have apologised many times. On September 18th, I asked you to "Consider the possibility that you may have misunderstood". If you did consider that, you obviously decided to disregard the possibility. The context of the word "amateurish" was within the proposition: *IF* the developers had not read the D style guide *THEN* that would have been amateurish. Since we have now established that you guys did read the style-guide, then clearly I didn't call you amateurish. Now, granted, I did say "petty". That, I admit. But even there, you're misreading the context. At the time, I was a newbie in this group. I didn't know you (or anyone), and I was only talking about a first impression. I'm really, really sorry that my first impression of Tango offended you, but if I were in your shoes, I'd be thinking "Hmm... why does Tango give people that first impression?", and perhaps giving some thought to presentation, rather than hammering newbies, and then holding the post against them forever. And for the record: I apologise. Again.
  You do realize, I hope, that
  ... perhaps some of your posts warrant
  moderation also?
Yes, of course. I don't have any problem with that whatsoever! I never intend to offend, but if, on occasion, my words might be taken the wrong way then /of course/ they should be moderated. Same with anyone else. So, are we good now? I mean, I want to be able to say things like "It's not in my nature to speculate without evidence" without being criticised. Can I do that now? I ask because I believe that to be true, even if you don't, so I really don't see why I shouldn't be allowed to say that. Sure - there may have been occasions when I haven't lived up to my own standards - that's just being human - but I still have those standards. I /am/ a skeptic, and I feel I should be allowed to say that. So ... is that OK with you now? May I proceed to post in peace? And can we, at long last, put the post that upset you behind us?
Mar 20 2008
next sibling parent jcc7 <technocrat7 gmail.com> writes:
== Quote from Janice Caron (caron800 googlemail.com)'s article
...
 Yes, of course. I don't have any problem with that whatsoever! I
 never intend to offend, but if, on occasion, my words might be taken
 the wrong way then /of course/ they should be moderated. Same with
 anyone else.

 So, are we good now?
I was hoping that this conversation had paused (I figured it had actually stopped) because the issue had been resolved. (If there's still a problem, I don't know if more words will solve it.)
Mar 20 2008
prev sibling parent Ty Tower <tytower hotmail.com.au> writes:
Janice Caron Wrote about Kris 
I assume its Kris Bell , here is what he wrote about himself in his
book,well--- shared book

KRIS BELL is a Scottish pirate and wannabe musician, part-time
photographer, avid traveler, open source advocate, miscreant techie
dweeb, and a principal Tango contributor. He enjoys swimming,
cycling, sailing, and occasional hikes, and recently took up rock
climbing. Previously, he dabbled in a bit of car racing and
skydiving, and once took a flying-trapeze course (which served only
to cement his vocation of choice). He currently lives in California,
though he hails from the Scottish west coast and has a dodgy set of
bagpipes to remind him of home.
     Kris has a varied background in engineering and architecture,
spanning application servers to RAD tool sets, embedded operating
systems to graphics engines, workflow to high-performance clustering
and failover substrata. Some commercial systems he has designed/built
include enterprise and Inter-net application platforms,
factory-automation systems, carrier-grade
middleware,immersive-environment simulation, and crazy interactive
clothing. In a different age, he would probably have been a
steam-locomotive engineer, a swashbuckling Jolly Roger, or a funky
bell-ringer.

Similar origin to me the Highlander bit . That about says it all
doesn't it?

However remember when you write a book on a subject you are then that
expert (previously a big drip) and its hard not to assume that expert
above everyone else air. Like teachers they get used to Lording it
over kids and have a lot of trouble generally talking to adults. Some
teachers take courses to teach themselves not to fall into this trap.

I once wrote a book about Landrovers and a fellow asked me whats my
clain to fame and I said of course "I wrote a book about
Landrovers" . Hmm he said those British cars are all a load of shit!.

Sort of took the wind out of the sails.

Ignore it Janice -say what you feel ! 
Mar 20 2008
prev sibling next sibling parent reply BCS <ao pathlink.com> writes:
Reply to Bill,

 Is it really true?  Is there a group of folks who really want D1 to be
 frozen?
I'd be open to some changes
 I myself would like to see D1 get all new features that won't break
 existing source code.
 
but I wouldn't go that far. I think that D1 should at a minimum be highly conservative about adding features. Only feature that have proven very useful in D2 and have become very stable (and are non breaking) and possibly with the restriction that they can be used from older D1 code with little or no updating (cancer const is out)
Mar 06 2008
parent Darryl Bleau <user example.net> writes:
BCS wrote:
 Reply to Bill,
 
 Is it really true?  Is there a group of folks who really want D1 to be
 frozen?
I'd be open to some changes
 I myself would like to see D1 get all new features that won't break
 existing source code.
but I wouldn't go that far. I think that D1 should at a minimum be highly conservative about adding features. Only feature that have proven very useful in D2 and have become very stable (and are non breaking) and possibly with the restriction that they can be used from older D1 code with little or no updating (cancer const is out)
To pipe in, I am a commercial developer using D1, (project size ~100k) and some non-breaking but enhancing changes to D1 would be very welcome. I believe I still have a kingdom up for grabs for my personal wishlist: opIndexConcat opIndexConcatAssign +friends Returning static arrays from functions. !in (as sugar for (!(a in b)). Ok, this is just a nicety. Still... :) ) Is there even any remote possibility of a D1.1? (Which would not require any changes or break any existing D1 code, but provides some .1 enhancements?).
Mar 07 2008
prev sibling next sibling parent "Saaa" <empty needmail.com> writes:
Same here.

stable = non breaking
not stable = will probably be broken

So whatever people might think about the stability of D2, Walter should 
never be discouraged to break it(s specs).
I thus welcome every single new non breaking  feature in D1.
Mar 06 2008
prev sibling next sibling parent Alexander Panek <alexander.panek brainsware.org> writes:
Bill Baxter wrote:
 Currently as we all know, D1 gets no new features, and D2 is a crazy 
 rocketship that could change direction at any moment.
 
 Now I know a lot of people were asking for D to become more stable pre 
 D1 days, but is this really what you wanted?
I appreciate the fact that D1 is stable. But it seems a bit too "stable" (as in not moving) to me, somehow. AFAIK, there are still a lot of long-standing bugs around, the toolchain is still kind of immature and/or outdated. I understand that Walter as a single person can't possibly reimplement parts of the toolchain while maintaining the compilers, but then again, what about delegation? The D community has shown to be a bunch of pretty (very) knowledgable people. A little delegation here and there would get Walter some time to work on new features and the community some opportunity to properly polish D1 with all its tools. Another thing I'm eager for is a reimplementation of the D1 reference compiler in D1 (DMD D1). This would be a huge step forward for D, besides from Walter actually using D. The toolchain still feels somewhat like a prototype to me.. (Out of interest: how hard would it be to plug a D frontend to the current DMD backend? Would it even be possible?)
Mar 06 2008
prev sibling next sibling parent reply bearophile <bearophileHUGS lycos.com> writes:
Walter Bright:
 People who do work in large 
 corporations managing extremely large codebases with legions of 
 programmers working on them have made this abundantly clear to me.
You have to be really careful about adding features supported by such "evidence". Dynamic languages show that often such people are wrong, or they bark at the wrong tree, or there are alternative ways (totally different ones, that they can't even think about, like test driven development in a dynamically typed language) to solve similar problems. What they say are ways to solve problems in languages like C++ and Java, but experience shows that totally different ways can be invented, in different languages, to avoid some of those problems. (I am for the backporting of some features of 2.x to 1.x, because I don't like the const system of 2.x, and I'm not going to use it (for now), but I understand that it may lead to too much work for D developers). Bye, bearophile
Mar 07 2008
parent reply Walter Bright <newshound1 digitalmars.com> writes:
bearophile wrote:
 Walter Bright:
 People who do work in large corporations managing extremely large
 codebases with legions of programmers working on them have made
 this abundantly clear to me.
You have to be really careful about adding features supported by such "evidence". Dynamic languages show that often such people are wrong, or they bark at the wrong tree, or there are alternative ways (totally different ones, that they can't even think about, like test driven development in a dynamically typed language) to solve similar problems. What they say are ways to solve problems in languages like C++ and Java, but experience shows that totally different ways can be invented, in different languages, to avoid some of those problems.
I agree that one has to be careful about what evidence one pays attention to. I'm not convinced about the evidence of dynamic languages, however, as I don't believe dynamic languages are used for very large programs. The reigning kings of large scale apps are C++ and Java. C++ has const, and there is continuing pressure to add some form of const to Java.
 
 (I am for the backporting of some features of 2.x to 1.x, because I
 don't like the const system of 2.x, and I'm not going to use it (for
 now), but I understand that it may lead to too much work for D
 developers).
 
 Bye, bearophile
Mar 07 2008
parent reply Derek Parnell <derek psych.ward> writes:
On Fri, 07 Mar 2008 11:44:36 -0800, Walter Bright wrote:


 The reigning kings of large scale apps are C++ and Java. 
I work with the banking industry and COBOL holds its head up high in that world. -- Derek Parnell Melbourne, Australia skype: derek.j.parnell
Mar 07 2008
parent reply Bill Baxter <dnewsgroup billbaxter.com> writes:
Derek Parnell wrote:
 On Fri, 07 Mar 2008 11:44:36 -0800, Walter Bright wrote:
 
 
 The reigning kings of large scale apps are C++ and Java. 
I work with the banking industry and COBOL holds its head up high in that world.
And has it const? --bb
Mar 07 2008
parent reply Derek Parnell <derek psych.ward> writes:
On Sat, 08 Mar 2008 06:30:50 +0900, Bill Baxter wrote:

 Derek Parnell wrote:
 I work with the banking industry and COBOL holds its head up high in that
 world.
 
And has it const?
ROFLMAO -- Derek Parnell Melbourne, Australia skype: derek.j.parnell
Mar 07 2008
parent reply Bill Baxter <dnewsgroup billbaxter.com> writes:
Derek Parnell wrote:
 On Sat, 08 Mar 2008 06:30:50 +0900, Bill Baxter wrote:
 
 Derek Parnell wrote:
 I work with the banking industry and COBOL holds its head up high in that
 world.
And has it const?
ROFLMAO
No I take it? Still it's not necessarily a useful datapoint since it was designed long before "const" existed. But it is still updated, right? I remember the company I was working for losing a sale to some big customer who decided to go with some fancy tarted up Object COBOL thing. Ooh yeh yeh this is the one http://www.microfocus.com/products/more/ObjectCOBOLDeveloperSuite/index.asp. MicroFocus. Wow, haven't heard that name in a long time. Anyway, they added object orientation to Cobol, but not const? That tells you something. conflicting things in my googling. Somethign about readonly objects, but no const/readonly for parameters to functions? --bb
Mar 07 2008
next sibling parent Christopher Wright <dhasenan gmail.com> writes:
Bill Baxter wrote:

 conflicting things in my googling.  Somethign about readonly objects, 
 but no const/readonly for parameters to functions?
 
 --bb
const: compile-time constant. readonly: you can assign it exactly once, and (IIRC) only field assignment or in a constructor. You can modify it after, though.
Mar 07 2008
prev sibling next sibling parent Christopher Wright <dhasenan gmail.com> writes:
And I just checked -- neither const nor readonly are valid outside 
class/struct field declarations.
Mar 07 2008
prev sibling parent =?ISO-8859-1?Q?Julio_C=E9sar_Carrascal_Urquijo?= writes:
Bill Baxter wrote:

 conflicting things in my googling.  Somethign about readonly objects, 
 but no const/readonly for parameters to functions?
 
 --bb
The "const" keyword is only for value types. The "readonly" keyword can only be applied to (the reference of) instance variables. No const parameters and no const methods. Const parameters are faked with read-only wrappers like List<T>.AsReadOnly(). for const in Java. -- Julio César Carrascal Urquijo http://jcesar.artelogico.com/
Mar 07 2008
prev sibling next sibling parent "Ameer Armaly" <ameer.armaly furman.edu> writes:
"Bill Baxter" <dnewsgroup billbaxter.com> wrote in message 
news:fqq8ps$g0r$1 digitalmars.com...
 Currently as we all know, D1 gets no new features, and D2 is a crazy 
 rocketship that could change direction at any moment.

 Now I know a lot of people were asking for D to become more stable pre D1 
 days, but is this really what you wanted?

 I had initially assumed that the freeze on D1 was at least as much due to 
 time constraints on Walter as it was due to a desire for stability. But in 
 a recent message Walter said that wasn't the case.  He said that 
 backporting things from D2 to D1 was pretty trivial.

 So really then, it to comes down to Walter believing that the D community 
 wants D1 to be feature frozen.

 Is it really true?  Is there a group of folks who really want D1 to be 
 frozen?
IMO it's not so much a case of wanting D1 to be frozen but wanting D1 to become more polished I.E. instead of trying to backport new language features, we should try and move towards some kind of consensus regarding standard libraries. Once D1 doesn't appear to have EXPERIMENTAL written all over it then backporting non-breaking features might be viable.
 I myself would like to see D1 get all new features that won't break 
 existing source code.

 Things like:
 * New string literals
   - q{a=b} D-token string syntax,
   - delimited strings, q"(...)"
   - heredocs, q"EOF...
 * IFTI that works even if you specify one parameter,
 * Enhanced is expression
   - is ( Type Identifier : TypeSpecialization , TemplateParameterList )
   - is ( Type Identifier == TypeSpecialization , TemplateParameterList )
 * foreach(i; 0..10) syntax (ForeachRangeLiteral)
 * Overload sets


 I'm all with the sentiment that D1 code that compiles today should compile 
 tomorrow.  That kind of stability is great.  But if it's not a big time 
 commitment for Walter (which he says it's not), I see no good reason to 
 keep new backwards-compatible features out of D1.

 I've heard other folks saying they want this from D1 too, but what I 
 haven't heard is a great swell of active D developers saying that new 
 features would be a detriment to their work.

 --bb,
 (who has now written and/or ported about 200,000 lines of D according to a 
 quick check with 'wc') 
Mar 07 2008
prev sibling next sibling parent reply Edward Diener <eddielee_no_spam_here tropicsoft.com> writes:
Bill Baxter wrote:
 Currently as we all know, D1 gets no new features, and D2 is a crazy 
 rocketship that could change direction at any moment.
 
 Now I know a lot of people were asking for D to become more stable pre 
 D1 days, but is this really what you wanted?
 
 I had initially assumed that the freeze on D1 was at least as much due 
 to time constraints on Walter as it was due to a desire for stability. 
 But in a recent message Walter said that wasn't the case.  He said that 
 backporting things from D2 to D1 was pretty trivial.
 
 So really then, it to comes down to Walter believing that the D 
 community wants D1 to be feature frozen.
 
 Is it really true?  Is there a group of folks who really want D1 to be 
 frozen?
 
 I myself would like to see D1 get all new features that won't break 
 existing source code.
 
 Things like:
 * New string literals
   - q{a=b} D-token string syntax,
   - delimited strings, q"(...)"
   - heredocs, q"EOF...
 * IFTI that works even if you specify one parameter,
 * Enhanced is expression
   - is ( Type Identifier : TypeSpecialization , TemplateParameterList )
   - is ( Type Identifier == TypeSpecialization , TemplateParameterList )
 * foreach(i; 0..10) syntax (ForeachRangeLiteral)
 * Overload sets
 
 
 I'm all with the sentiment that D1 code that compiles today should 
 compile tomorrow.  That kind of stability is great.  But if it's not a 
 big time commitment for Walter (which he says it's not), I see no good 
 reason to keep new backwards-compatible features out of D1.
 
 I've heard other folks saying they want this from D1 too, but what I 
 haven't heard is a great swell of active D developers saying that new 
 features would be a detriment to their work.
I disagree that new features in D2 should be backported. I am a newbie to D and what I think D1 needs is for any bugs to be fixed and for the documentation to be improved in that it needs to be more expansive so that end users understand how to use the language. Right now the docs are still very sparse and not easy to understand. Essentially D1 needs to be made as solid as possible for end users. Keeping it in flux is not a good way to attract people to D. One always needs a release of a language that people can use with confidence. When D2 is finally finished, it needs to be treated the same. Fix bugs and update the documentation to be better, so it can be used more easily and understood. Have all new features beyond it go in a new version. Endlessly making changes to a language for each and every release is not, repeat not, a good way to get people to use that language and its libraries in a serious way in order to write modules and applications.
Mar 07 2008
parent reply "Saaa" <empty needmail.com> writes:
If all the changes are non breaking ones and if it doesn't take any 
significant time to port them, why then are people still against it?

Why does everybody keep pointing out that other things need fixing.
That is irrelevant, if porting the extra feature to D1 won't take any time.

I would applaud any feature coming to the stable D1 branch.
Everybody should be warned that D2 might break at any release, but D1 can 
safely be used and when lucky it will even be improved without breaking 
older D1 code (its like giving away presents).

 I disagree that new features in D2 should be backported.

 I am a newbie to D and what I think D1 needs is for any bugs to be fixed 
 and for the documentation to be improved in that it needs to be more 
 expansive so that end users understand how to use the language. Right now 
 the docs are still very sparse and not easy to understand.

 Essentially D1 needs to be made as solid as possible for end users. 
 Keeping it in flux is not a good way to attract people to D. One always 
 needs a release of a language that people can use with confidence.

 When D2 is finally finished, it needs to be treated the same. Fix bugs and 
 update the documentation to be better, so it can be used more easily and 
 understood. Have all new features beyond it go in a new version.

 Endlessly making changes to a language for each and every release is not, 
 repeat not, a good way to get people to use that language and its 
 libraries in a serious way in order to write modules and applications. 
Mar 07 2008
parent reply Aarti_pl <aarti interia.pl> writes:
Saaa pisze:
 If all the changes are non breaking ones and if it doesn't take any 
 significant time to port them, why then are people still against it?
 
 Why does everybody keep pointing out that other things need fixing.
 That is irrelevant, if porting the extra feature to D1 won't take any time.
 
 I would applaud any feature coming to the stable D1 branch.
 Everybody should be warned that D2 might break at any release, but D1 can 
 safely be used and when lucky it will even be improved without breaking 
 older D1 code (its like giving away presents).
I see two important problems with backporting new features from D 2.0 into D 1.0 branch: 1. Porting bigger chunks of code can introduce new bugs into 1.0 branch. Please note that 2.0 is not tested as well as 1.0, so it is more than probable that it will happen. Also it is possible that some of new features can interact with other features (old or new ones) so it will make porting a headache: you will always have to think what should be ported to make the whole thing working in 1.0. 2. Semantics of new features in D 2.0 branch can change until 3.0 branch will be crated. It basically means that, when new features will be continuously ported to D 1.0, then 1.0 branch will no more be stable. You will not be able to create any program in D 1.0 (using new features) and be sure that it won't break in future, because this features can be changed later. In my opinion there is not much sense in porting 2.0 compiler features into 1.0 branch. Also creating branch 1.5 does not make much sense for me. If I would like to use all new features of D, I would just use 2.0 branch. That said, I really appreciate effort of porting Phobos 2.0 into 1.0 (std2 project in dsource). Some of new features of Phobos 2.0 are really useful, and Phobos 1.0 badly lacks them. Best Regards Marcin Kuszczak (aarti_pl)
Mar 07 2008
parent reply "Saaa" <empty needmail.com> writes:
"Aarti_pl" <aarti interia.pl> wrote in message 
news:fqrsbq$186c$1 digitalmars.com...
 Saaa pisze:
 If all the changes are non breaking ones and if it doesn't take any 
 significant time to port them, why then are people still against it?

 Why does everybody keep pointing out that other things need fixing.
 That is irrelevant, if porting the extra feature to D1 won't take any 
 time.

 I would applaud any feature coming to the stable D1 branch.
 Everybody should be warned that D2 might break at any release, but D1 can 
 safely be used and when lucky it will even be improved without breaking 
 older D1 code (its like giving away presents).
I see two important problems with backporting new features from D 2.0 into D 1.0 branch: 1. Porting bigger chunks of code can introduce new bugs into 1.0 branch. Please note that 2.0 is not tested as well as 1.0, so it is more than probable that it will happen. Also it is possible that some of new features can interact with other features (old or new ones) so it will make porting a headache: you will always have to think what should be ported to make the whole thing working in 1.0.
A few new bugs would not bug me that much, as long as the older code won't be effected. About the headache: If it is a headache, Walter leave it as it is. I'm only pro giving D1 new features if it won't effect the current release speed, which was the assumtion in the first post.
 2. Semantics of new features in D 2.0 branch can change until 3.0 branch 
 will be crated. It basically means that, when new features will be 
 continuously ported to D 1.0, then 1.0 branch will no more be stable. You 
 will not be able to create any program in D 1.0 (using new features) and 
 be sure that it won't break in future, because this features can be 
 changed later.
This does not apply. No unstable feature must be allowed to be ported to D1 as it is given that D1 is stable, meaning no new feature may break older code.
 In my opinion there is not much sense in porting 2.0 compiler features 
 into 1.0 branch. Also creating branch 1.5 does not make much sense for me. 
 If I would like to use all new features of D, I would just use 2.0 branch. 
 That said, I really appreciate effort of porting Phobos 2.0 into 1.0 (std2 
 project in dsource). Some of new features of Phobos 2.0 are really useful, 
 and Phobos 1.0 badly lacks them.
Making yet another branch is crazy yes. What you say about phobos applies to D as well and if the two points you made were invalid you would agree that extra features are nice presents to get ;)
 Best Regards
 Marcin Kuszczak
 (aarti_pl) 
Mar 07 2008
parent reply Brian Hay <bhay construct3d.com> writes:
Saaa wrote:
 "Aarti_pl" <aarti interia.pl> wrote in message 
 news:fqrsbq$186c$1 digitalmars.com...
 2. Semantics of new features in D 2.0 branch can change until 3.0 branch 
 will be crated. It basically means that, when new features will be 
 continuously ported to D 1.0, then 1.0 branch will no more be stable. You 
 will not be able to create any program in D 1.0 (using new features) and 
 be sure that it won't break in future, because this features can be 
 changed later.
This does not apply. No unstable feature must be allowed to be ported to D1 as it is given that D1 is stable, meaning no new feature may break older code.
D2 is unstable, therefore by definition ANY new feature added to it is also unstable so shouldn't be ported to stable D1. The only guarantee of a given D2 feature's stability is when the entire D2 branch is locked off and stable and the D3 has begun. Cherry-picking features based on their perceived stability at a given time is dangerous.
Mar 07 2008
parent Bill Baxter <dnewsgroup billbaxter.com> writes:
Brian Hay wrote:
 Saaa wrote:
 "Aarti_pl" <aarti interia.pl> wrote in message 
 news:fqrsbq$186c$1 digitalmars.com...
 2. Semantics of new features in D 2.0 branch can change until 3.0 
 branch will be crated. It basically means that, when new features 
 will be continuously ported to D 1.0, then 1.0 branch will no more be 
 stable. You will not be able to create any program in D 1.0 (using 
 new features) and be sure that it won't break in future, because this 
 features can be changed later.
This does not apply. No unstable feature must be allowed to be ported to D1 as it is given that D1 is stable, meaning no new feature may break older code.
D2 is unstable, therefore by definition ANY new feature added to it is also unstable so shouldn't be ported to stable D1. The only guarantee of a given D2 feature's stability is when the entire D2 branch is locked off and stable and the D3 has begun. Cherry-picking features based on their perceived stability at a given time is dangerous.
By that definition D2 will never be stable because it has D2 features which are unstable. Unstable features become stable features over time. We may disagree on the timing, but, for instance, I doubt there are any serious bugs lurking in D2's implementation of delimited strings (q"(foo)" syntax). --bb
Mar 07 2008
prev sibling next sibling parent Russell Lewis <webmaster villagersonline.com> writes:
Bill Baxter wrote:
 Currently as we all know, D1 gets no new features, and D2 is a crazy 
 rocketship that could change direction at any moment.
I'm not opposed to having D1 get back-ported features (provided, of course, that they are backward compatible). However, I'm concerned about the workload on Walter. If he spends too much time on D1, D2 won't get the attention it deserves.
Mar 07 2008
prev sibling next sibling parent reply Sean Kelly <sean invisibleduck.org> writes:
== Quote from Bill Baxter (dnewsgroup billbaxter.com)'s article
 Is it really true?  Is there a group of folks who really want D1 to be
 frozen?
 I myself would like to see D1 get all new features that won't break
 existing source code.
I think there is some use in having a D1 release in terms of having a predictable feature set for code releases, but at the moment I'm barred from D2 by the const features, while I'd like to use everything else. Another issue at the moment is GDC support however, and that's a more substantial one in my mind. Is there a D2 version of GDC yet? Sean
Mar 07 2008
next sibling parent reply Bill Baxter <dnewsgroup billbaxter.com> writes:
Sean Kelly wrote:
 == Quote from Bill Baxter (dnewsgroup billbaxter.com)'s article
 Is it really true?  Is there a group of folks who really want D1 to be
 frozen?
 I myself would like to see D1 get all new features that won't break
 existing source code.
I think there is some use in having a D1 release in terms of having a predictable feature set for code releases, but at the moment I'm barred from D2 by the const features, while I'd like to use everything else. Another issue at the moment is GDC support however, and that's a more substantial one in my mind. Is there a D2 version of GDC yet? Sean
There is code for D2 checked into the GDC repo. I don't know how well it works. But there has not been a release of a 2.x GDC compiler, no. Post from Dave announcing it was 9/24/2007: digitalmars.com D.gnu:2904 --bb
Mar 07 2008
parent =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= <afb algonet.se> writes:
Bill Baxter wrote:

 Another issue at the moment is GDC support however, and that's a more 
 substantial one in my mind.  Is
 there a D2 version of GDC yet?
 
There is code for D2 checked into the GDC repo. I don't know how well it works. But there has not been a release of a 2.x GDC compiler, no.
To use the D1 version of GDC, one configures it with: ./gcc/d/setup-gcc.sh --d-language-version=1 To instead use the D2 version, one configures it with: ./gcc/d/setup-gcc.sh --d-language-version=2 The D1 language files are in d directories "dmd" and "phobos", while the new D2 language is in the "dmd2" and "phobos2" dirs. Support for D 2.0 was added to GDC in revision 160 (Sep, 2007) But there haven't been any GDC updates in a few months now... I haven't used it myself yet, just tried DMD 2.x a few times. (wxD and most samples should be compiling reasonably with D2) Will probably update my GDC packages with a "gdc2" variant, that will build the D2 language (while "gdc" would be D1) --anders
Mar 07 2008
prev sibling parent reply Walter Bright <newshound1 digitalmars.com> writes:
Sean Kelly wrote:
 but at the moment I'm
 barred from D2 by the const features,
What exactly is barring you?
Mar 07 2008
next sibling parent "Saaa" <empty needmail.com> writes:
 Sean Kelly wrote:
 but at the moment I'm
 barred from D2 by the const features,
What exactly is barring you?
Good question, because people (who I think know more about D than me) saying this is barring me.
Mar 07 2008
prev sibling next sibling parent reply Sean Kelly <sean invisibleduck.org> writes:
== Quote from Walter Bright (newshound1 digitalmars.com)'s article
 Sean Kelly wrote:
 but at the moment I'm
 barred from D2 by the const features,
What exactly is barring you?
The busywork required to adapt Tango to work with D2. That being mostly the need to add "in" qualifiers to the proper function declarations in tango.stdc and below, as well as tango.sys.win32. So I'm not really blocked by anything but my own laziness, I suppose. It's a big job and I don't have the time for it at the moment. Sean
Mar 07 2008
next sibling parent reply Walter Bright <newshound1 digitalmars.com> writes:
Sean Kelly wrote:
 == Quote from Walter Bright (newshound1 digitalmars.com)'s article
 Sean Kelly wrote:
 but at the moment I'm barred from D2 by the const features,
What exactly is barring you?
The busywork required to adapt Tango to work with D2. That being mostly the need to add "in" qualifiers to the proper function declarations in tango.stdc and below, as well as tango.sys.win32. So I'm not really blocked by anything but my own laziness, I suppose. It's a big job and I don't have the time for it at the moment.
Fair enough. I haven't myself gotten const put everywhere it should be in Phobos :)
Mar 07 2008
next sibling parent Derek Parnell <derek psych.ward> writes:
On Fri, 07 Mar 2008 12:39:03 -0800, Walter Bright wrote:

 I haven't myself gotten const put everywhere it should be 
 in Phobos :)
I can confirm that! I have these little workarounds in my code to cope with an inconsistent Phobos. -- Derek Parnell Melbourne, Australia skype: derek.j.parnell
Mar 07 2008
prev sibling parent Kris <foo bar.com> writes:
Walter Bright Wrote:

 Sean Kelly wrote:
 == Quote from Walter Bright (newshound1 digitalmars.com)'s article
 Sean Kelly wrote:
 but at the moment I'm barred from D2 by the const features,
What exactly is barring you?
The busywork required to adapt Tango to work with D2. That being mostly the need to add "in" qualifiers to the proper function declarations in tango.stdc and below, as well as tango.sys.win32. So I'm not really blocked by anything but my own laziness, I suppose. It's a big job and I don't have the time for it at the moment.
Fair enough. I haven't myself gotten const put everywhere it should be in Phobos :)
The semantics of const are quite different between D1 and D2
Mar 07 2008
prev sibling parent Jason House <jason.james.house gmail.com> writes:
Sean Kelly wrote:

 == Quote from Walter Bright (newshound1 digitalmars.com)'s article
 Sean Kelly wrote:
 but at the moment I'm
 barred from D2 by the const features,
What exactly is barring you?
The busywork required to adapt Tango to work with D2. That being mostly the need to add "in" qualifiers to the proper function declarations in tango.stdc and below, as well as tango.sys.win32. So I'm not really blocked by anything but my own laziness, I suppose. It's a big job and I don't have the time for it at the moment. Sean
Is that all? If you give me access I'll guarantee at least 10 hours of my time to add/test that stuff over the next 2-4 days. I'd request at least some instruction/guidance on how to conform to Tango style and testing requirements.
Mar 07 2008
prev sibling parent "Steven Schveighoffer" <schveiguy yahoo.com> writes:
"Walter Bright" wrote
 Sean Kelly wrote:
 but at the moment I'm
 barred from D2 by the const features,
What exactly is barring you?
I helped to do an exploratory 'port' of Tango to D2 (version 2.007 I believe). The rationale is, D2 is getting all these new features, but everyone who uses Tango is not testing them. I don't know the statistics, but I would assume that a fair number of people who have good skills that would be useful to help QA D2 are using Tango (including myself), and therefore not using D2. My fear was that D2 would be blessed, and when the Tango developers went to port it, would find that some design decision made it impossible to do something. So during the port, I found several critical issues that made it difficult to port. I worked around some of them, and some have been fixed, but here are the outstanding issues that prevented a true finished port: http://d.puremagic.com/issues/show_bug.cgi?id=1644 http://d.puremagic.com/issues/show_bug.cgi?id=1645 http://d.puremagic.com/issues/show_bug.cgi?id=1680 http://d.puremagic.com/issues/show_bug.cgi?id=1654 The last is really one of these 'design' issues that prevents a true port. Although Tango could be redesigned to fit within the const design of D2, I'd rather have D2 be modified to allow the design of Tango (and phobos) to work. Oh, and as always, it would be nice if tail-const class references were possible :) Not sure if you're working on that or not. But that's really not a blocker for porting Tango. -Steve
Mar 10 2008
prev sibling parent Clay Smith <clayasaurus gmail.com> writes:
Bill Baxter wrote:
 Currently as we all know, D1 gets no new features, and D2 is a crazy 
 rocketship that could change direction at any moment.
 
 Now I know a lot of people were asking for D to become more stable pre 
 D1 days, but is this really what you wanted?
 
 I had initially assumed that the freeze on D1 was at least as much due 
 to time constraints on Walter as it was due to a desire for stability. 
 But in a recent message Walter said that wasn't the case.  He said that 
 backporting things from D2 to D1 was pretty trivial.
 
 So really then, it to comes down to Walter believing that the D 
 community wants D1 to be feature frozen.
 
 Is it really true?  Is there a group of folks who really want D1 to be 
 frozen?
 
 I myself would like to see D1 get all new features that won't break 
 existing source code.
 
 Things like:
 * New string literals
   - q{a=b} D-token string syntax,
   - delimited strings, q"(...)"
   - heredocs, q"EOF...
 * IFTI that works even if you specify one parameter,
 * Enhanced is expression
   - is ( Type Identifier : TypeSpecialization , TemplateParameterList )
   - is ( Type Identifier == TypeSpecialization , TemplateParameterList )
 * foreach(i; 0..10) syntax (ForeachRangeLiteral)
 * Overload sets
 
 
 I'm all with the sentiment that D1 code that compiles today should 
 compile tomorrow.  That kind of stability is great.  But if it's not a 
 big time commitment for Walter (which he says it's not), I see no good 
 reason to keep new backwards-compatible features out of D1.
 
 I've heard other folks saying they want this from D1 too, but what I 
 haven't heard is a great swell of active D developers saying that new 
 features would be a detriment to their work.
 
 --bb,
 (who has now written and/or ported about 200,000 lines of D according to 
 a quick check with 'wc')
I want D1 to be frozen, yes. ~ Clay
Mar 07 2008