www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Give me a break

reply Jarrett Billingsley <jarrett.billingsley gmail.com> writes:
With four or five people having voiced concerns over the future of D
in the past week or so, what's the busiest discussion?

int.nan, of course.

Come on.  Get with the program.  Enough already with the bikeshed
bullshit.  There are far more important issues at hand.
Jun 28 2009
next sibling parent dsimcha <dsimcha yahoo.com> writes:
== Quote from Jarrett Billingsley (jarrett.billingsley gmail.com)'s article
 With four or five people having voiced concerns over the future of D
 in the past week or so, what's the busiest discussion?
 int.nan, of course.
 Come on.  Get with the program.  Enough already with the bikeshed
 bullshit.  There are far more important issues at hand.
Yeah, but a lot of the other discussions have been about toolchain issues, marketing, installers, etc., not the language per se. To me, the main priorities right now should be to get the language spec finalized and to get a usable (not necessarily perfect) reference implementation working. The importance of finishing up the spec is obvious. The reference implementation is important for the following reasons: 1. Let's face it, it's extremely difficult to identify corner cases in the spec that need to be clarified until you've actually tried to use the language. Despite what language lawyers and type A personalities like to think, the reference implementation of any language serves as a de facto spec and co-evolves with the spec at least initially. 2. Without a decent reference implemenation, D would only exist on paper and look like a vaporware castle in the air language. 3. If a feature isn't implemented in a reasonably bug-free manner (or at all), it's hard for the community to understand it, use it and give feedback on how it can be improved. I feel that miscellaneous toolchain issues (other than implementing changes to the spec and fixing bugs that severely affect the usability of language features) are an order of magnitude less important because this stuff can always be done after the fact without breaking code. In other words, once the spec is finalized and a decent reference implementation is out the door, people can confidently use D2 knowing that the situation will only get better. Until then, it's two steps forward, one step back when code breaks in non-trivial ways due to a spec change or a compiler bug makes a seemingly useful feature that you planned on using absolutely useless.
Jun 28 2009
prev sibling next sibling parent reply superdan <super dan.org> writes:
Jarrett Billingsley Wrote:

 With four or five people having voiced concerns over the future of D
 in the past week or so, what's the busiest discussion?
 
 int.nan, of course.
 
 Come on.  Get with the program.  Enough already with the bikeshed
 bullshit.  There are far more important issues at hand.
yeah he pulled a bearophile. u'd think u'd get used 2 it. shit. i'm bracin' fer 'nother post tellin' how putr is better than writeln.
Jun 28 2009
parent Jarrett Billingsley <jarrett.billingsley gmail.com> writes:
On Mon, Jun 29, 2009 at 12:37 AM, superdan<super dan.org> wrote:
 Jarrett Billingsley Wrote:

 With four or five people having voiced concerns over the future of D
 in the past week or so, what's the busiest discussion?

 int.nan, of course.

 Come on. =A0Get with the program. =A0Enough already with the bikeshed
 bullshit. =A0There are far more important issues at hand.
yeah he pulled a bearophile. u'd think u'd get used 2 it. shit. i'm braci=
n' fer 'nother post tellin' how putr is better than writeln.

But Dan, putr *is* better than writeln!  It's 3 characters shorter,
and that somehow causes your code to be less buggy.  Or something.  :P
Jun 28 2009
prev sibling next sibling parent reply "Nick Sabalausky" <a a.a> writes:
"Jarrett Billingsley" <jarrett.billingsley gmail.com> wrote in message 
news:mailman.316.1246228005.13405.digitalmars-d puremagic.com...
 With four or five people having voiced concerns over the future of D
 in the past week or so, what's the busiest discussion?

 int.nan, of course.

 Come on.  Get with the program.  Enough already with the bikeshed
 bullshit.  There are far more important issues at hand.
Oh, please, if int.nan is a bikeshed discussion, then what would we call complaining *about* that discussion? Some of us find it an interesting discussion. So we talk about it. Big f&**^ deal.
Jun 28 2009
parent reply "Nick Sabalausky" <a a.a> writes:
"Nick Sabalausky" <a a.a> wrote in message 
news:h29gil$6u3$1 digitalmars.com...
 "Jarrett Billingsley" <jarrett.billingsley gmail.com> wrote in message 
 news:mailman.316.1246228005.13405.digitalmars-d puremagic.com...
 With four or five people having voiced concerns over the future of D
 in the past week or so, what's the busiest discussion?

 int.nan, of course.

 Come on.  Get with the program.  Enough already with the bikeshed
 bullshit.  There are far more important issues at hand.
Oh, please, if int.nan is a bikeshed discussion, then what would we call complaining *about* that discussion? Some of us find it an interesting discussion. So we talk about it. Big f&**^ deal.
And if we really need more "future of D" discussion, here's one: How's D going to look to newcomers if the forums have topic-of-discussion-police that go around complaining "We shouldn't be talking about this!" "This isn't a worthy debate!" "But, this'll never actually happen, so why mention it?!" I've been down this road before (man, how I've been down it...). Next thing that happens is more people come in on each side of this endless rabbit hole that is meta-discussion, real debate slows down (both hypothetical and practical), tempers flare, people leave, and the whole group degenerates into a paralyzed staticy dysfunctional madness. It's a sad, sad thing. Yea, sure, that sounds like a classic "slippery slope" fallacy, but damn if I haven't seen it happen time and time again. Let's not go there.
Jun 28 2009
parent superdan <super dan.org> writes:
Nick Sabalausky Wrote:

 "Nick Sabalausky" <a a.a> wrote in message 
 news:h29gil$6u3$1 digitalmars.com...
 "Jarrett Billingsley" <jarrett.billingsley gmail.com> wrote in message 
 news:mailman.316.1246228005.13405.digitalmars-d puremagic.com...
 With four or five people having voiced concerns over the future of D
 in the past week or so, what's the busiest discussion?

 int.nan, of course.

 Come on.  Get with the program.  Enough already with the bikeshed
 bullshit.  There are far more important issues at hand.
Oh, please, if int.nan is a bikeshed discussion, then what would we call complaining *about* that discussion? Some of us find it an interesting discussion. So we talk about it. Big f&**^ deal.
And if we really need more "future of D" discussion, here's one: How's D going to look to newcomers if the forums have topic-of-discussion-police that go around complaining "We shouldn't be talking about this!" "This isn't a worthy debate!" "But, this'll never actually happen, so why mention it?!" I've been down this road before (man, how I've been down it...). Next thing that happens is more people come in on each side of this endless rabbit hole that is meta-discussion, real debate slows down (both hypothetical and practical), tempers flare, people leave, and the whole group degenerates into a paralyzed staticy dysfunctional madness. It's a sad, sad thing. Yea, sure, that sounds like a classic "slippery slope" fallacy, but damn if I haven't seen it happen time and time again. Let's not go there.
u got me wrong d00d. problem's not topic police. problem's topic bullshit. making int min int nan iz bullshit. d is systems language. int nan requires tests inserted all over. otherwise it's useless. some ops would return int nan. question is: wut does a newcummer think seein' shitty ideaz all over dis group.
Jun 29 2009
prev sibling next sibling parent reply Yigal Chripun <yigal100 gmail.com> writes:
Jarrett Billingsley wrote:
 With four or five people having voiced concerns over the future of D
 in the past week or so, what's the busiest discussion?
 
 int.nan, of course.
 
 Come on.  Get with the program.  Enough already with the bikeshed
 bullshit.  There are far more important issues at hand.
if you do not want to discuss a particular topic than by all means do not participate in it. do not tell other people what to think and what to write. this is not china and you are not the great firewall. grow up. if you want a moderated NG than ask Walter to create one. This is *not* such a NG and people *will* discuss whatever they want, whether you like it or not.
Jun 28 2009
next sibling parent reply MIURA Masahiro <echochamber gmail.com> writes:
Yigal Chripun wrote:
 do not tell other people what to think and what to write. this is not 
 china and you are not the great firewall.
 grow up.
Apparently you don't share Jarrett's consciousness of the problem that more important issues are left undiscussed. Freedom may be paramount, but I'm not sure if D's situation would improve just by letting people write what they want to. I don't have a clearcut answer. Perhaps there should be some kind of soft leadership or orientation? (Reminds me of Guido van Rossum jokingly calling himself a kind of dictator. And his Python is a successful language.)
Jun 29 2009
next sibling parent reply Jarrett Billingsley <jarrett.billingsley gmail.com> writes:
2009/6/29 MIURA Masahiro <echochamber gmail.com>:
 Yigal Chripun wrote:
 do not tell other people what to think and what to write. this is not
 china and you are not the great firewall.
 grow up.
Apparently you don't share Jarrett's consciousness of the problem that more important issues are left undiscussed.
Exactly. It's not necessarily that I have a problem with people discussing int.nan. It's when people are discussing int.nan to death when _there is a very real possibility that D has no future_. And when people bring up valid, uncomfortable truths and the resulting discussion instead degrades into random, minor issues that have nothing to do with the original post.
Jun 29 2009
next sibling parent reply Tom S <h3r3tic remove.mat.uni.torun.pl> writes:
Jarrett Billingsley wrote:
 2009/6/29 MIURA Masahiro <echochamber gmail.com>:
 Yigal Chripun wrote:
 do not tell other people what to think and what to write. this is not
 china and you are not the great firewall.
 grow up.
Apparently you don't share Jarrett's consciousness of the problem that more important issues are left undiscussed.
Exactly. It's not necessarily that I have a problem with people discussing int.nan. It's when people are discussing int.nan to death when _there is a very real possibility that D has no future_. And when people bring up valid, uncomfortable truths and the resulting discussion instead degrades into random, minor issues that have nothing to do with the original post.
People tend to ignore problems that haven't touched them personally. Maybe they will fix themselves? My view is that Jarrett wasn't trying to firewall anyone, but rather point their attention at more important issues that relatively fresh D users choose not to see. The same issues are making some long-time D users think about giving up. I'm not only talking about Jarrett. Stay for a few whiles to D-related IRC channels and you'll see more instances of this case. Please don't confuse these voices with the usual trolling/complaining D newcomer with their "omg but D doesn't offer anything more than C++ and it's not evolving at Warp 7!!!11eleven", like "superdude"'s recent post. The folks I'm talking about have invested considerable amount of time in D and simply wouldn't like to be on a sinking ship. They probably love D and see no real alternative to switch to, which makes them even more frustrated :P And well, "Pick one of the items you find the most interesting, and work on it!" doesn't apply e.g. to improving Walter <-> Tango communication. -- Tomasz Stachowiak http://h3.team0xf.com/ h3/h3r3tic on #D freenode
Jun 29 2009
parent Jarrett Billingsley <jarrett.billingsley gmail.com> writes:
On Mon, Jun 29, 2009 at 1:37 PM, Tom S<h3r3tic remove.mat.uni.torun.pl> wrote:
 Please don't confuse these voices with the usual trolling/complaining D
 newcomer with their "omg but D doesn't offer anything more than C++ and it's
 not evolving at Warp 7!!!11eleven", like "superdude"'s recent post. The
 folks I'm talking about have invested considerable amount of time in D and
 simply wouldn't like to be on a sinking ship. They probably love D and see
 no real alternative to switch to, which makes them even more frustrated :P
Yes! FFS! I *don't* want D to die. I've used D for five years and wouldn't want to use anything else. It's beyond frustrating to have used it for so long and to have seen so relatively little improvement in the implementation quality or the community/library situation. And before anyone accuses me of not contributing? Um, how about maintaining a large scripting language and its mounds of documentation for the last three years? How about having reported dozens of bugs not only in the compiler but also in several third-party libraries? How about helping all sorts of newcomers on IRC and d.learn? I challenge *anyone* to say that I don't fucking contribute to this community. I've invested more time into D and my D projects than anything else I've ever done.
Jun 29 2009
prev sibling parent reply Yigal Chripun <yigal100 gmail.com> writes:
Jarrett Billingsley wrote:
 2009/6/29 MIURA Masahiro <echochamber gmail.com>:
 Yigal Chripun wrote:
 do not tell other people what to think and what to write. this is not
 china and you are not the great firewall.
 grow up.
Apparently you don't share Jarrett's consciousness of the problem that more important issues are left undiscussed.
Exactly. It's not necessarily that I have a problem with people discussing int.nan. It's when people are discussing int.nan to death when _there is a very real possibility that D has no future_. And when people bring up valid, uncomfortable truths and the resulting discussion instead degrades into random, minor issues that have nothing to do with the original post.
I disagree with the above. first, people have a prerogative to discuss whatever they want to death. don't participate if you don't like it. second, saying that D has no future is illogical - the spec is open source and there is a fully open source compiler for it (LDC), so whatever happens it's always possible to just for it as D++ or communityD or whatever. thirdly, D has a dictator, Walter Bright, which decides its fate and we have almost zero influence on this. your scripting language, while awesome, has little bearing on the future of the D language itself. IMHO, the Tango vs. Phobos licensing issue is the biggest bikeshed color problem in the D realm and the only people that can solve it are the tango devs and walter and co. of which Neither are willing to budge. since I have no power to help solve this problem, I see no need to waste my time/energy on it. I see therefore only two options to proceed: a. wait until it is solved by the relevant parties. b. join a fork effort.
Jun 29 2009
next sibling parent reply Tom S <h3r3tic remove.mat.uni.torun.pl> writes:
Yigal Chripun wrote:
 Jarrett Billingsley wrote:
 2009/6/29 MIURA Masahiro <echochamber gmail.com>:
 Yigal Chripun wrote:
 do not tell other people what to think and what to write. this is not
 china and you are not the great firewall.
 grow up.
Apparently you don't share Jarrett's consciousness of the problem that more important issues are left undiscussed.
Exactly. It's not necessarily that I have a problem with people discussing int.nan. It's when people are discussing int.nan to death when _there is a very real possibility that D has no future_. And when people bring up valid, uncomfortable truths and the resulting discussion instead degrades into random, minor issues that have nothing to do with the original post.
I disagree with the above. first, people have a prerogative to discuss whatever they want to death. don't participate if you don't like it.
 second, saying that D has no future is illogical - the spec is open 
 source and there is a fully open source compiler for it (LDC), so 
 whatever happens it's always possible to just for it as D++ or 
 communityD or whatever.
Modula-3 has a future!
 thirdly, D has a dictator, Walter Bright, which decides its fate and we 
 have almost zero influence on this.
I thought "The needs and contributions of the D programming community form the direction it goes.".
 your scripting language, while awesome, has little bearing on the future 
 of the D language itself.
So have many other projects. Let's stop writing them and all focus on making a compiler, IDE and a debugger for a language used by no one... wait, what? But what you're saying is true - it has little bearing on D - unfortunately so, as it's one of the biggest and oldest projects using it. One would think that a successful product would be shaped upon feedback from its most important customers.
 IMHO, the Tango vs. Phobos licensing issue is the biggest bikeshed color 
 problem in the D realm and the only people that can solve it are the 
 tango devs and walter and co. of which Neither are willing to budge.
Uhhh... try listening to Tango folks sometimes. They really have tried.
 since I have no power to help solve this problem, I see no need to waste 
 my time/energy on it. I see therefore only two options to proceed:
 a. wait until it is solved by the relevant parties.
 b. join a fork effort.
a) Won't happen on its own. The relevant parties must be informed by *someone* b) I think we're all trying to avoid this one. -- Tomasz Stachowiak http://h3.team0xf.com/ h3/h3r3tic on #D freenode
Jun 29 2009
next sibling parent reply Lutger <lutger.blijdestijn gmail.com> writes:
Tom S wrote:

 Yigal Chripun wrote:
(snip)
 IMHO, the Tango vs. Phobos licensing issue is the biggest bikeshed color
 problem in the D realm and the only people that can solve it are the
 tango devs and walter and co. of which Neither are willing to budge.
Uhhh... try listening to Tango folks sometimes. They really have tried.
If you can forgive my ignorance, what is the current Tango/Phobos problem you see and refer to here? Is it related to D1 or also concerns a possible future Tango D2?
Jun 29 2009
parent reply Tom S <h3r3tic remove.mat.uni.torun.pl> writes:
Lutger wrote:
 Tom S wrote:
 
 Yigal Chripun wrote:
(snip)
 IMHO, the Tango vs. Phobos licensing issue is the biggest bikeshed color
 problem in the D realm and the only people that can solve it are the
 tango devs and walter and co. of which Neither are willing to budge.
Uhhh... try listening to Tango folks sometimes. They really have tried.
If you can forgive my ignorance, what is the current Tango/Phobos problem you see and refer to here? Is it related to D1 or also concerns a possible future Tango D2?
I'm mostly a Tango user, not its developer, so I might be misinformed, but there doesn't seem to be any licensing issue except a conceptional one. The bottom of the following thread has some info: http://www.digitalmars.com/d/archives/digitalmars/D/Any_chance_to_call_Tango_as_Extended_Standard_Library_82239.html As for other issues - there's very little communication between the 'D Team' and the 'Tango Team'. Much could be learned and borrowed from it, but you don't see that in Phobos 2. Looks like we're going to end up with two 'utility libraries' that are not compatible with one another and instead of complementing each other, they offer ways to do the same things in a slightly different manner. IIRC, Tango devs claim that its runtime is better than druntime, which also only supports DMD at the moment. And apparently, there's been very little contact with Sean lately, so it's a case of 'us' vs 'them' again. But that's just how I've subjectively received the topic so please take it with a grain of salt. -- Tomasz Stachowiak http://h3.team0xf.com/ h3/h3r3tic on #D freenode
Jun 29 2009
next sibling parent reply "Nick Sabalausky" <a a.a> writes:
"Tom S" <h3r3tic remove.mat.uni.torun.pl> wrote in message 
news:h2bfaa$1hlm$1 digitalmars.com...
 Lutger wrote:
 Tom S wrote:

 Yigal Chripun wrote:
(snip)
 IMHO, the Tango vs. Phobos licensing issue is the biggest bikeshed 
 color
 problem in the D realm and the only people that can solve it are the
 tango devs and walter and co. of which Neither are willing to budge.
Uhhh... try listening to Tango folks sometimes. They really have tried.
If you can forgive my ignorance, what is the current Tango/Phobos problem you see and refer to here? Is it related to D1 or also concerns a possible future Tango D2?
I'm mostly a Tango user, not its developer, so I might be misinformed, but there doesn't seem to be any licensing issue except a conceptional one. The bottom of the following thread has some info: http://www.digitalmars.com/d/archives/digitalmars/D/Any_chance_to_call_Tango_as_Extended_Standard_Library_82239.html As for other issues - there's very little communication between the 'D Team' and the 'Tango Team'. Much could be learned and borrowed from it, but you don't see that in Phobos 2. Looks like we're going to end up with two 'utility libraries' that are not compatible with one another and instead of complementing each other, they offer ways to do the same things in a slightly different manner.
Andrei had some reason (license-related, IIRC) for deliberately not looking at Tango at all. Maybe that's the license issue being referred to? (I'm about as in-the-dark about it as you.)
 IIRC, Tango devs claim that its runtime is better than druntime, which 
 also only supports DMD at the moment. And apparently, there's been very 
 little contact with Sean lately, so it's a case of 'us' vs 'them' again.
Can anyone in-the-know comment on this? (Also, I thought tango runtime == druntime? At least for D2.)
Jun 29 2009
parent reply Jarrett Billingsley <jarrett.billingsley gmail.com> writes:
On Mon, Jun 29, 2009 at 7:23 PM, Nick Sabalausky<a a.a> wrote:

 Andrei had some reason (license-related, IIRC) for deliberately not looking
 at Tango at all. Maybe that's the license issue being referred to? (I'm
 about as in-the-dark about it as you.)
I know _Walter_ had a license-related reason for deliberately not looking at Tango. I don't know about Andrei, but I can't shake the feeling that the falling-out between Andrei and Kris (the one that made Andrei leave the NGs for over a year) has something to do with it.
 IIRC, Tango devs claim that its runtime is better than druntime, which
 also only supports DMD at the moment. And apparently, there's been very
 little contact with Sean lately, so it's a case of 'us' vs 'them' again.
Can anyone in-the-know comment on this? (Also, I thought tango runtime == druntime? At least for D2.)
I was under that impression too..?
Jun 29 2009
next sibling parent reply Sean Kelly <sean invisibleduck.org> writes:
== Quote from Jarrett Billingsley (jarrett.billingsley gmail.com)'s article
 On Mon, Jun 29, 2009 at 7:23 PM, Nick Sabalausky<a a.a> wrote:
 IIRC, Tango devs claim that its runtime is better than druntime, which
 also only supports DMD at the moment. And apparently, there's been very
 little contact with Sean lately, so it's a case of 'us' vs 'them' again.
Can anyone in-the-know comment on this? (Also, I thought tango runtime == druntime? At least for D2.)
I was under that impression too..?
I've added some features to Druntime, but I believe everything is backwards- compatible with Tango's runtime. But as I said elsewhere, I haven't been keeping tabs on Tango's development, so anything is possible.
Jun 29 2009
parent reply "Nick Sabalausky" <a a.a> writes:
"Sean Kelly" <sean invisibleduck.org> wrote in message 
news:h2c1pb$2q9l$1 digitalmars.com...
 == Quote from Jarrett Billingsley (jarrett.billingsley gmail.com)'s 
 article
 On Mon, Jun 29, 2009 at 7:23 PM, Nick Sabalausky<a a.a> wrote:
 IIRC, Tango devs claim that its runtime is better than druntime, which
 also only supports DMD at the moment. And apparently, there's been 
 very
 little contact with Sean lately, so it's a case of 'us' vs 'them' 
 again.
Can anyone in-the-know comment on this? (Also, I thought tango runtime == druntime? At least for D2.)
I was under that impression too..?
I've added some features to Druntime, but I believe everything is backwards- compatible with Tango's runtime. But as I said elsewhere, I haven't been keeping tabs on Tango's development, so anything is possible.
What was Druntime spawned directly from? phobos2's runtime? tango's runtime? A merge of the two?
Jun 29 2009
parent Sean Kelly <sean invisibleduck.org> writes:
== Quote from Nick Sabalausky (a a.a)'s article
 "Sean Kelly" <sean invisibleduck.org> wrote in message
 news:h2c1pb$2q9l$1 digitalmars.com...
 == Quote from Jarrett Billingsley (jarrett.billingsley gmail.com)'s
 article
 On Mon, Jun 29, 2009 at 7:23 PM, Nick Sabalausky<a a.a> wrote:
 IIRC, Tango devs claim that its runtime is better than druntime, which
 also only supports DMD at the moment. And apparently, there's been
 very
 little contact with Sean lately, so it's a case of 'us' vs 'them'
 again.
Can anyone in-the-know comment on this? (Also, I thought tango runtime == druntime? At least for D2.)
I was under that impression too..?
I've added some features to Druntime, but I believe everything is backwards- compatible with Tango's runtime. But as I said elsewhere, I haven't been keeping tabs on Tango's development, so anything is possible.
What was Druntime spawned directly from? phobos2's runtime? tango's runtime? A merge of the two?
Tango's runtime. I haven't been actively maintaining the D1 branch of Druntime, but no one was using it anyway, so...
Jun 29 2009
prev sibling parent reply Walter Bright <newshound1 digitalmars.com> writes:
Jarrett Billingsley wrote:
 I know _Walter_ had a license-related reason for deliberately not
 looking at Tango.
Tango is under the BSD license, which requires attribution in binaries for linking with it. This is what the license says, regardless of how it is interpreted. I don't feel that can be ignored. The problem with me looking at it and then contributing to Phobos is that I can be accused of violating the BSD license. They are so similar it is almost impossible for there not be some sort of taint like that. I've been developing software for 30 years now, and I've found that the best defense against such accusations is to never look at them. (And yes, I've been grilled by lawyers.) It's the same reason I never look at gcc source code. I have asked the Tango team for a specific reciprocal cross-licensing agreement from Tango to Phobos (I have provided one so that Tango can incorporate whatever they want from Phobos). The only ones willing to do so were Sean and Don who have incorporated their Tango contributions into Phobos and relicensed them. Sean looked around for a new license for druntime, and settled on using the Boost license which doesn't have the BSD problems and is designed for maximum utility for any purpose one may want to use it for. Sean's druntime project is intended to be the core library that both Phobos and Tango can be built upon. It is based on Tango's core that Sean had written. Phobos was changed to work with it. I've fixed the bugs identified to me as blocking Tango from working with D2. If there's more I can do to make this work, I would like to know what that is.
Jul 01 2009
next sibling parent reply Jason House <jason.james.house gmail.com> writes:
Walter Bright Wrote:

 If there's more I can do to make this work, I would like to know what 
 that is.
I know D does not burden itself with backwards compatibility, but the lack of compatibility has to affect many D projects. There are many D1-only projects that can't be used within D2. When D3 is started, will we have even more incompatible choices? I have no solution to this issue, but it deserves some thought. In the past, I proposed the idea of forward compatibility which would allow a D1 compiler to ignore D2-specific keywords and other minor semantic differences such as invariant()... The idea wasn't 100% compatibility, but rather to allow writing a reasonable subset of D2 that could compile in D1. Maybe a 3rd party tool to do the translation is enough?
Jul 01 2009
next sibling parent Sjoerd van Leent <svanleent gmail.com> writes:
Jason House Wrote:

 Walter Bright Wrote:
 
 If there's more I can do to make this work, I would like to know what 
 that is.
I know D does not burden itself with backwards compatibility, but the lack of compatibility has to affect many D projects. There are many D1-only projects that can't be used within D2. When D3 is started, will we have even more incompatible choices? I have no solution to this issue, but it deserves some thought. In the past, I proposed the idea of forward compatibility which would allow a D1 compiler to ignore D2-specific keywords and other minor semantic differences such as invariant()... The idea wasn't 100% compatibility, but rather to allow writing a reasonable subset of D2 that could compile in D1. Maybe a 3rd party tool to do the translation is enough?
I would consider this hardly practical. D1 can't know how D2 is going to be like. D2 can't know how D3 is going to be like. And so on. I would really not like to see a D3 emerging right after D2. To get the language mainstream, we need to focus on one version of it, and stick to that. Together with what it lacks. That way, LDC, GDC and D.NET can get a chance to align, and libraries can get themselves to align. Only when D(2) is fully up and running, with a larger userbase, it is practical to start concidering slight changes to the language in the form of RFCs.
Jul 01 2009
prev sibling parent reply Walter Bright <newshound1 digitalmars.com> writes:
Jason House wrote:
 Walter Bright Wrote:
 
 If there's more I can do to make this work, I would like to know
 what that is.
I know D does not burden itself with backwards compatibility,
That's not quite correct. I have strongly resisted any changes to D2 that would *silently* break programs. The breaking changes elicit clear messages from the compiler.
 but the
 lack of compatibility has to affect many D projects. There are many
 D1-only projects that can't be used within D2. When D3 is  started,
 will we have even more incompatible choices? I have no solution to
 this issue, but it deserves some thought.
 
 In the past, I proposed the idea of forward compatibility which would
 allow a D1 compiler to ignore D2-specific keywords and other minor
 semantic differences such as invariant()... The idea wasn't 100%
 compatibility, but rather to allow writing a reasonable subset of D2
 that could compile in D1. Maybe a 3rd party tool to do the
 translation is enough?
The problem is that creates a third language.
Jul 01 2009
parent Jason House <jason.james.house gmail.com> writes:
Walter Bright Wrote:

 Jason House wrote:
 Walter Bright Wrote:
 
 If there's more I can do to make this work, I would like to know
 what that is.
I know D does not burden itself with backwards compatibility,
That's not quite correct. I have strongly resisted any changes to D2 that would *silently* break programs. The breaking changes elicit clear messages from the compiler.
 but the
 lack of compatibility has to affect many D projects. There are many
 D1-only projects that can't be used within D2. When D3 is  started,
 will we have even more incompatible choices? I have no solution to
 this issue, but it deserves some thought.
 
 In the past, I proposed the idea of forward compatibility which would
 allow a D1 compiler to ignore D2-specific keywords and other minor
 semantic differences such as invariant()... The idea wasn't 100%
 compatibility, but rather to allow writing a reasonable subset of D2
 that could compile in D1. Maybe a 3rd party tool to do the
 translation is enough?
The problem is that creates a third language.
Please don't let the "forward compatibility" proposal overshadow the other part of my post. Compatibility between D1, D2 (and D3) can be a serious problem for library writers. I have no good solution for it. In some ways, this is at the heart of some divisions in the D community. There are 3 mainstream dialects of D, and they don't interoperate.
Jul 01 2009
prev sibling next sibling parent reply Jarrett Billingsley <jarrett.billingsley gmail.com> writes:
On Wed, Jul 1, 2009 at 4:48 AM, Walter Bright<newshound1 digitalmars.com> wrote:
 Jarrett Billingsley wrote:
 I know _Walter_ had a license-related reason for deliberately not
 looking at Tango.
Tango is under the BSD license, which requires attribution in binaries for linking with it. This is what the license says, regardless of how it is interpreted. I don't feel that can be ignored. The problem with me looking at it and then contributing to Phobos is that I can be accused of violating the BSD license. They are so similar it is almost impossible for there not be some sort of taint like that. I've been developing software for 30 years now, and I've found that the best defense against such accusations is to never look at them. (And yes, I've been grilled by lawyers.) It's the same reason I never look at gcc source code. I have asked the Tango team for a specific reciprocal cross-licensing agreement from Tango to Phobos (I have provided one so that Tango can incorporate whatever they want from Phobos). The only ones willing to do so were Sean and Don who have incorporated their Tango contributions into Phobos and relicensed them. Sean looked around for a new license for druntime, and settled on using the Boost license which doesn't have the BSD problems and is designed for maximum utility for any purpose one may want to use it for. Sean's druntime project is intended to be the core library that both Phobos and Tango can be built upon. It is based on Tango's core that Sean had written. Phobos was changed to work with it. I've fixed the bugs identified to me as blocking Tango from working with D2. If there's more I can do to make this work, I would like to know what that is.
I didn't mean to make it sound like I was accusing you. I think you may have taken my quote out of context.
 Andrei had some reason (license-related, IIRC) for deliberately not looking
 at Tango at all. Maybe that's the license issue being referred to? (I'm
 about as in-the-dark about it as you.)
I know _Walter_ had a license-related reason for deliberately not looking at Tango.
I knew that _you_ had said previously that you wouldn't look at Tango due to licensing, but I had never heard anything about Andrei.
Jul 01 2009
parent Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
Jarrett Billingsley wrote:
 Andrei had some reason (license-related, IIRC) for deliberately not looking
 at Tango at all. Maybe that's the license issue being referred to? (I'm
 about as in-the-dark about it as you.)
I know _Walter_ had a license-related reason for deliberately not looking at Tango.
I knew that _you_ had said previously that you wouldn't look at Tango due to licensing, but I had never heard anything about Andrei.
Same for me. Andrei
Jul 01 2009
prev sibling parent Sean Kelly <sean invisibleduck.org> writes:
== Quote from Walter Bright (newshound1 digitalmars.com)'s article
 Sean looked around for a new license for druntime, and settled on using
 the Boost license which doesn't have the BSD problems and is designed
 for maximum utility for any purpose one may want to use it for.
I'd like to point out that everyone agreed to distribute Phobos2 under the Boost license as well. I said I'd take care of the source code comments and such, and then I dropped the ball. Hopefully this will serve as a reminder for me to take care of it :-p
Jul 01 2009
prev sibling next sibling parent reply Sean Kelly <sean invisibleduck.org> writes:
== Quote from Tom S (h3r3tic remove.mat.uni.torun.pl)'s article
 IIRC, Tango devs claim that its runtime is better than druntime, which
 also only supports DMD at the moment.
How is it better? I vaguely recall at least one change in Tango's runtime that actually violates the Posix spec, and so decided to implement things differently in Druntime. But I don't watch the Tango timeline, so it's possible that some awesome new features have been implemented that I'm not aware of. As for Druntime only supporting DMD... see below.
 And apparently, there's been very
 little contact with Sean lately, so it's a case of 'us' vs 'them' again.
No one has tried to contact me. I talked with Fawzi a bit shortly after Druntime was created, but that's it. I'm too busy to even do the things I have planned for Druntime anyway, so I'm not about to chase people down to try add yet more tasks to my list.
Jun 29 2009
parent reply Tom S <h3r3tic remove.mat.uni.torun.pl> writes:
Sean Kelly wrote:
 == Quote from Tom S (h3r3tic remove.mat.uni.torun.pl)'s article
 IIRC, Tango devs claim that its runtime is better than druntime, which
 also only supports DMD at the moment.
How is it better? I vaguely recall at least one change in Tango's runtime that actually violates the Posix spec, and so decided to implement things differently in Druntime. But I don't watch the Tango timeline, so it's possible that some awesome new features have been implemented that I'm not aware of.
Sorry, I don't have a clear answer here. On IRC Fawzi mentioned exactly that "tango is still better than druntime". /me summons Fawzi
 As for Druntime only supporting DMD... see below.
 
 And apparently, there's been very
 little contact with Sean lately, so it's a case of 'us' vs 'them' again.
No one has tried to contact me. I talked with Fawzi a bit shortly after Druntime was created, but that's it. I'm too busy to even do the things I have planned for Druntime anyway, so I'm not about to chase people down to try add yet more tasks to my list.
Here I've based my words on a chat with Lars, but it might be that you being so busy was misinterpreted as not willing to communicate and "acting a bit weird". It might be hard to get it out of him now, as he seems to have given up on NG discussions :( Now it looks like I'm warmongering... Merely trying to get some parts of the community to talk with each other, because there are lots of misunderstandings and perhaps communications barriers in the air. -- Tomasz Stachowiak http://h3.team0xf.com/ h3/h3r3tic on #D freenode
Jun 30 2009
parent reply Sean Kelly <sean invisibleduck.org> writes:
== Quote from Tom S (h3r3tic remove.mat.uni.torun.pl)'s article
 Sean Kelly wrote:
 == Quote from Tom S (h3r3tic remove.mat.uni.torun.pl)'s article

 And apparently, there's been very
 little contact with Sean lately, so it's a case of 'us' vs 'them' again.
No one has tried to contact me. I talked with Fawzi a bit shortly after Druntime was created, but that's it. I'm too busy to even do the things I have planned for Druntime anyway, so I'm not about to chase people down to try add yet more tasks to my list.
Here I've based my words on a chat with Lars, but it might be that you being so busy was misinterpreted as not willing to communicate and "acting a bit weird". It might be hard to get it out of him now, as he seems to have given up on NG discussions :(
For a while, there was an attempt among the Tango folks to make me an ambassador of sorts to Walter and Andrei. I never really understood the need for this, and I suggested that whoever wanted to contact whoever else simply do so. Near as I can tell, this made me appear divisive to some. More to the point, when I was working on Tango I acted upon my own best judgment and was trusted to do so by those involved. This changed as soon as talk of collaboration began, and the Tango folks suggested repeatedly that there must be some sort of group consensus before I made any functional runtime change. There's more, but it's all in the same vein. To be quite frank, I would walk away from D entirely before I'd let myself be put in such a position, and were it not for the fact that I was the only person with the ability to resolve some of the issues involved in the collaboration discussions, I'd have walked away right then because of the pressure the Tango team was putting on me. If this has earned me a bad reputation in some circles, so be it. I continue to consider Tango support when making changes to Druntime, and if the Tango team doesn't intend to use Druntime that's really their problem at this point. I normally wouldn't air such dirty laundry in public, but this thread shows that there's still a lot of confusion about where things stand concerning Druntime and Tango, and so I think it may help to at least outline my perspective on the issue. My sincerest hope is that people will let this go, and focus their energies on something more productive.
Jun 30 2009
next sibling parent reply superdan <super dan.org> writes:
Sean Kelly Wrote:

 == Quote from Tom S (h3r3tic remove.mat.uni.torun.pl)'s article
 Sean Kelly wrote:
 == Quote from Tom S (h3r3tic remove.mat.uni.torun.pl)'s article

 And apparently, there's been very
 little contact with Sean lately, so it's a case of 'us' vs 'them' again.
No one has tried to contact me. I talked with Fawzi a bit shortly after Druntime was created, but that's it. I'm too busy to even do the things I have planned for Druntime anyway, so I'm not about to chase people down to try add yet more tasks to my list.
Here I've based my words on a chat with Lars, but it might be that you being so busy was misinterpreted as not willing to communicate and "acting a bit weird". It might be hard to get it out of him now, as he seems to have given up on NG discussions :(
For a while, there was an attempt among the Tango folks to make me an ambassador of sorts to Walter and Andrei. I never really understood the need for this, and I suggested that whoever wanted to contact whoever else simply do so. Near as I can tell, this made me appear divisive to some. More to the point, when I was working on Tango I acted upon my own best judgment and was trusted to do so by those involved. This changed as soon as talk of collaboration began, and the Tango folks suggested repeatedly that there must be some sort of group consensus before I made any functional runtime change. There's more, but it's all in the same vein. To be quite frank, I would walk away from D entirely before I'd let myself be put in such a position, and were it not for the fact that I was the only person with the ability to resolve some of the issues involved in the collaboration discussions, I'd have walked away right then because of the pressure the Tango team was putting on me. If this has earned me a bad reputation in some circles, so be it. I continue to consider Tango support when making changes to Druntime, and if the Tango team doesn't intend to use Druntime that's really their problem at this point. I normally wouldn't air such dirty laundry in public, but this thread shows that there's still a lot of confusion about where things stand concerning Druntime and Tango, and so I think it may help to at least outline my perspective on the issue. My sincerest hope is that people will let this go, and focus their energies on something more productive.
d00d i ain't gettin' it. did u have a fallin' with tango folks? with phobos folks? both? im stoopid. r u still workin' on druntime? if not to whom did u give it. pls clarify.
Jun 30 2009
parent Sean Kelly <sean invisibleduck.org> writes:
== Quote from superdan (super dan.org)'s article
 d00d i ain't gettin' it. did u have a fallin' with tango folks? with phobos
folks? both? im stoopid. r u still workin' on druntime? if not to whom did u give it. pls clarify. I'm still maintaining druntime and working with the Phobos folks. Tickets in bugzilla for druntime go to me, etc. Nothing has changed.
Jun 30 2009
prev sibling next sibling parent anony-4A4A52 <anon anon.net> writes:
Sean,

With this one honest post, you may have just revitalized D's future by a year or
two (perhaps long enough for it to be forcefully pulled into popularity beyond
the
clutches of central control).

Expect Phobos2 to gain more popularity as Tango (*sniff*) drifts into the
background of d1 history.

Signed,

Your-local-fortune-cookie. ;)
Jun 30 2009
prev sibling parent reply Tom S <h3r3tic remove.mat.uni.torun.pl> writes:
Sean Kelly wrote:
 == Quote from Tom S (h3r3tic remove.mat.uni.torun.pl)'s article
 Sean Kelly wrote:
 == Quote from Tom S (h3r3tic remove.mat.uni.torun.pl)'s article

 And apparently, there's been very
 little contact with Sean lately, so it's a case of 'us' vs 'them' again.
No one has tried to contact me. I talked with Fawzi a bit shortly after Druntime was created, but that's it. I'm too busy to even do the things I have planned for Druntime anyway, so I'm not about to chase people down to try add yet more tasks to my list.
Here I've based my words on a chat with Lars, but it might be that you being so busy was misinterpreted as not willing to communicate and "acting a bit weird". It might be hard to get it out of him now, as he seems to have given up on NG discussions :(
For a while, there was an attempt among the Tango folks to make me an ambassador of sorts to Walter and Andrei. I never really understood the need for this, and I suggested that whoever wanted to contact whoever else simply do so. Near as I can tell, this made me appear divisive to some. More to the point, when I was working on Tango I acted upon my own best judgment and was trusted to do so by those involved. This changed as soon as talk of collaboration began, and the Tango folks suggested repeatedly that there must be some sort of group consensus before I made any functional runtime change. There's more, but it's all in the same vein. To be quite frank, I would walk away from D entirely before I'd let myself be put in such a position, and were it not for the fact that I was the only person with the ability to resolve some of the issues involved in the collaboration discussions, I'd have walked away right then because of the pressure the Tango team was putting on me. If this has earned me a bad reputation in some circles, so be it. I continue to consider Tango support when making changes to Druntime, and if the Tango team doesn't intend to use Druntime that's really their problem at this point. I normally wouldn't air such dirty laundry in public, but this thread shows that there's still a lot of confusion about where things stand concerning Druntime and Tango, and so I think it may help to at least outline my perspective on the issue. My sincerest hope is that people will let this go, and focus their energies on something more productive.
Thank you, Sean! Seeing the larger picture now, I'm with you on it. I'd probably rather slit my wrists than be a proxy server / ambassador of this kind. We're in it for the code, not flame wars, after all. I also hope we can forget the quibbles and focus on helping D instead :) I'm glad you're still with us! -- Tomasz Stachowiak http://h3.team0xf.com/ h3/h3r3tic on #D freenode
Jul 01 2009
parent Walter Bright <newshound1 digitalmars.com> writes:
Tom S wrote:
 Thank you, Sean! Seeing the larger picture now, I'm with you on it. I'd 
 probably rather slit my wrists than be a proxy server / ambassador of 
 this kind. We're in it for the code, not flame wars, after all. I also 
 hope we can forget the quibbles and focus on helping D instead :)
 I'm glad you're still with us!
So am I. Sean's been doing a great job with druntime.
Jul 01 2009
prev sibling parent reply Don <nospam nospam.com> writes:
Tom S wrote:
 Lutger wrote:
 Tom S wrote:

 Yigal Chripun wrote:
(snip)
 IMHO, the Tango vs. Phobos licensing issue is the biggest bikeshed 
 color
 problem in the D realm and the only people that can solve it are the
 tango devs and walter and co. of which Neither are willing to budge.
Uhhh... try listening to Tango folks sometimes. They really have tried.
If you can forgive my ignorance, what is the current Tango/Phobos problem you see and refer to here? Is it related to D1 or also concerns a possible future Tango D2?
I'm mostly a Tango user, not its developer, so I might be misinformed, but there doesn't seem to be any licensing issue except a conceptional one.
Not true. The issue is that Tango uses the BSD license, which is inappropriate for a standard library. Phobos2 now uses the Boost license throughout. Because of the licensing issue, Andrei and Walter won't look at any Tango code. This could be fixed quite simply by adding the Boost license to the list of Tango licenses (it should replace BSD in my opinion). The next biggest issue is module naming.
 As for other issues - there's very little communication between the 'D 
 Team' and the 'Tango Team'. Much could be learned and borrowed from it, 
 but you don't see that in Phobos 2. Looks like we're going to end up 
 with two 'utility libraries' that are not compatible with one another 
 and instead of complementing each other, they offer ways to do the same 
 things in a slightly different manner.
Most of the competing functionality is with parts of Phobos which are going to be ditched, eg the I/O system. In Phobos2, everything will be range-based -- and that introduces a conceptual difference. (much like the STL in C++ vs the C libraries). The big issue will be, how far can Tango2 go in integrating Phobos2 concepts while retaining as much of Tango1 as possible?
 
 IIRC, Tango devs claim that its runtime is better than druntime, which 
 also only supports DMD at the moment. And apparently, there's been very 
 little contact with Sean lately, so it's a case of 'us' vs 'them' again.
The Phobos2 runtime _is_ the Tango runtime. That problem has been fixed.
Jun 30 2009
parent reply Tom S <h3r3tic remove.mat.uni.torun.pl> writes:
Don wrote:
 Tom S wrote:
 Lutger wrote:
 Tom S wrote:

 Yigal Chripun wrote:
(snip)
 IMHO, the Tango vs. Phobos licensing issue is the biggest bikeshed 
 color
 problem in the D realm and the only people that can solve it are the
 tango devs and walter and co. of which Neither are willing to budge.
Uhhh... try listening to Tango folks sometimes. They really have tried.
If you can forgive my ignorance, what is the current Tango/Phobos problem you see and refer to here? Is it related to D1 or also concerns a possible future Tango D2?
I'm mostly a Tango user, not its developer, so I might be misinformed, but there doesn't seem to be any licensing issue except a conceptional one.
Not true. The issue is that Tango uses the BSD license, which is inappropriate for a standard library. Phobos2 now uses the Boost license throughout. Because of the licensing issue, Andrei and Walter won't look at any Tango code. This could be fixed quite simply by adding the Boost license to the list of Tango licenses (it should replace BSD in my opinion).
BSD is just one of two options for Tango. What's wrong with AFL v3.0? http://dsource.org/projects/tango/wiki/License
 The next biggest issue is module naming.
Ouch :D I'll back away from that one quickly.
 As for other issues - there's very little communication between the 'D 
 Team' and the 'Tango Team'. Much could be learned and borrowed from 
 it, but you don't see that in Phobos 2. Looks like we're going to end 
 up with two 'utility libraries' that are not compatible with one 
 another and instead of complementing each other, they offer ways to do 
 the same things in a slightly different manner.
Most of the competing functionality is with parts of Phobos which are going to be ditched, eg the I/O system. In Phobos2, everything will be range-based -- and that introduces a conceptual difference. (much like the STL in C++ vs the C libraries).
How much is 'most' here? Modules like base64, bigint, boxer/variant, conv, date utils, filesystem ops, regex, traits, utf/unicode contain a lot of duplicate work.
 The big issue will be, how far can Tango2 go in integrating Phobos2 
 concepts while retaining as much of Tango1 as possible?
 
 IIRC, Tango devs claim that its runtime is better than druntime, which 
 also only supports DMD at the moment. And apparently, there's been 
 very little contact with Sean lately, so it's a case of 'us' vs 'them' 
 again.
The Phobos2 runtime _is_ the Tango runtime. That problem has been fixed.
Unless a merger has been done quite recently, it _was_. -- Tomasz Stachowiak http://h3.team0xf.com/ h3/h3r3tic on #D freenode
Jun 30 2009
parent reply Don <nospam nospam.com> writes:
Tom S wrote:
 Don wrote:
 Tom S wrote:
 Lutger wrote:
 Tom S wrote:

 Yigal Chripun wrote:
(snip)
 IMHO, the Tango vs. Phobos licensing issue is the biggest bikeshed 
 color
 problem in the D realm and the only people that can solve it are the
 tango devs and walter and co. of which Neither are willing to budge.
Uhhh... try listening to Tango folks sometimes. They really have tried.
If you can forgive my ignorance, what is the current Tango/Phobos problem you see and refer to here? Is it related to D1 or also concerns a possible future Tango D2?
I'm mostly a Tango user, not its developer, so I might be misinformed, but there doesn't seem to be any licensing issue except a conceptional one.
Not true. The issue is that Tango uses the BSD license, which is inappropriate for a standard library. Phobos2 now uses the Boost license throughout. Because of the licensing issue, Andrei and Walter won't look at any Tango code. This could be fixed quite simply by adding the Boost license to the list of Tango licenses (it should replace BSD in my opinion).
BSD is just one of two options for Tango. What's wrong with AFL v3.0? http://dsource.org/projects/tango/wiki/License
AFL v3.0 Section 9. If You distribute or communicate copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. --- Richard Stallman's comment on this was: Recent versions of the Open Software License have a term which requires distributors to try to obtain explicit assent to the license. This means that distributing OSL software on ordinary FTP sites, sending patches to ordinary mailing lists, or storing the software in an ordinary version control system, is arguably a violation of the license and would subject you to possible termination of the license. Thus, the Open Software License makes it very difficult to develop software using the ordinary tools of free software development. For this reason, and because it is incompatible with the GPL, we recommend that no version of the OSL be used for any software. ----
 
 The next biggest issue is module naming.
Ouch :D I'll back away from that one quickly.
 As for other issues - there's very little communication between the 
 'D Team' and the 'Tango Team'. Much could be learned and borrowed 
 from it, but you don't see that in Phobos 2. Looks like we're going 
 to end up with two 'utility libraries' that are not compatible with 
 one another and instead of complementing each other, they offer ways 
 to do the same things in a slightly different manner.
Most of the competing functionality is with parts of Phobos which are going to be ditched, eg the I/O system. In Phobos2, everything will be range-based -- and that introduces a conceptual difference. (much like the STL in C++ vs the C libraries).
How much is 'most' here? Modules like base64, bigint, boxer/variant, conv, date utils, filesystem ops, regex, traits, utf/unicode contain a lot of duplicate work.
Yes, AFAIK half of those will be ditched from Phobos. Some were copy-and-paste from each other in the first place.
 
 
 The big issue will be, how far can Tango2 go in integrating Phobos2 
 concepts while retaining as much of Tango1 as possible?

 IIRC, Tango devs claim that its runtime is better than druntime, 
 which also only supports DMD at the moment. And apparently, there's 
 been very little contact with Sean lately, so it's a case of 'us' vs 
 'them' again.
The Phobos2 runtime _is_ the Tango runtime. That problem has been fixed.
Unless a merger has been done quite recently, it _was_.
Jun 30 2009
parent reply Tom S <h3r3tic remove.mat.uni.torun.pl> writes:
Don wrote:
 Tom S wrote:
 Don wrote:
 Tom S wrote:
 Lutger wrote:
 Tom S wrote:

 Yigal Chripun wrote:
(snip)
 IMHO, the Tango vs. Phobos licensing issue is the biggest 
 bikeshed color
 problem in the D realm and the only people that can solve it are the
 tango devs and walter and co. of which Neither are willing to budge.
Uhhh... try listening to Tango folks sometimes. They really have tried.
If you can forgive my ignorance, what is the current Tango/Phobos problem you see and refer to here? Is it related to D1 or also concerns a possible future Tango D2?
I'm mostly a Tango user, not its developer, so I might be misinformed, but there doesn't seem to be any licensing issue except a conceptional one.
Not true. The issue is that Tango uses the BSD license, which is inappropriate for a standard library. Phobos2 now uses the Boost license throughout. Because of the licensing issue, Andrei and Walter won't look at any Tango code. This could be fixed quite simply by adding the Boost license to the list of Tango licenses (it should replace BSD in my opinion).
BSD is just one of two options for Tango. What's wrong with AFL v3.0? http://dsource.org/projects/tango/wiki/License
AFL v3.0 Section 9. If You distribute or communicate copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. --- Richard Stallman's comment on this was: [ snip ] ----
Thanks for explaining this! I was not aware of this clause. The wiki/License page for Tango puts AFL 3.0 in a much better light... I'll see what folks have to say on IRC :)
 The next biggest issue is module naming.
Ouch :D I'll back away from that one quickly.
 As for other issues - there's very little communication between the 
 'D Team' and the 'Tango Team'. Much could be learned and borrowed 
 from it, but you don't see that in Phobos 2. Looks like we're going 
 to end up with two 'utility libraries' that are not compatible with 
 one another and instead of complementing each other, they offer ways 
 to do the same things in a slightly different manner.
Most of the competing functionality is with parts of Phobos which are going to be ditched, eg the I/O system. In Phobos2, everything will be range-based -- and that introduces a conceptual difference. (much like the STL in C++ vs the C libraries).
How much is 'most' here? Modules like base64, bigint, boxer/variant, conv, date utils, filesystem ops, regex, traits, utf/unicode contain a lot of duplicate work.
Yes, AFAIK half of those will be ditched from Phobos. Some were copy-and-paste from each other in the first place.
Cool! But if they are ditched, does it mean that they will have alternative implementations written in the nearest future or does it mean that Tango will actually complement Phobos? -- Tomasz Stachowiak http://h3.team0xf.com/ h3/h3r3tic on #D freenode
Jun 30 2009
parent reply Don <nospam nospam.com> writes:
Tom S wrote:
 Don wrote:
 Tom S wrote:
 Don wrote:
 Tom S wrote:
 Lutger wrote:
 Tom S wrote:

 Yigal Chripun wrote:
(snip)
 IMHO, the Tango vs. Phobos licensing issue is the biggest 
 bikeshed color
 problem in the D realm and the only people that can solve it are 
 the
 tango devs and walter and co. of which Neither are willing to 
 budge.
Uhhh... try listening to Tango folks sometimes. They really have tried.
If you can forgive my ignorance, what is the current Tango/Phobos problem you see and refer to here? Is it related to D1 or also concerns a possible future Tango D2?
I'm mostly a Tango user, not its developer, so I might be misinformed, but there doesn't seem to be any licensing issue except a conceptional one.
Not true. The issue is that Tango uses the BSD license, which is inappropriate for a standard library. Phobos2 now uses the Boost license throughout. Because of the licensing issue, Andrei and Walter won't look at any Tango code. This could be fixed quite simply by adding the Boost license to the list of Tango licenses (it should replace BSD in my opinion).
BSD is just one of two options for Tango. What's wrong with AFL v3.0? http://dsource.org/projects/tango/wiki/License
AFL v3.0 Section 9. If You distribute or communicate copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. --- Richard Stallman's comment on this was: [ snip ] ----
Thanks for explaining this! I was not aware of this clause. The wiki/License page for Tango puts AFL 3.0 in a much better light... I'll see what folks have to say on IRC :)
Those long licenses really scare me, I'm never sure what they actually mean.
 The next biggest issue is module naming.
Ouch :D I'll back away from that one quickly.
 As for other issues - there's very little communication between the 
 'D Team' and the 'Tango Team'. Much could be learned and borrowed 
 from it, but you don't see that in Phobos 2. Looks like we're going 
 to end up with two 'utility libraries' that are not compatible with 
 one another and instead of complementing each other, they offer 
 ways to do the same things in a slightly different manner.
Most of the competing functionality is with parts of Phobos which are going to be ditched, eg the I/O system. In Phobos2, everything will be range-based -- and that introduces a conceptual difference. (much like the STL in C++ vs the C libraries).
How much is 'most' here? Modules like base64, bigint, boxer/variant, conv, date utils, filesystem ops, regex, traits, utf/unicode contain a lot of duplicate work.
Yes, AFAIK half of those will be ditched from Phobos. Some were copy-and-paste from each other in the first place.
Cool! But if they are ditched, does it mean that they will have alternative implementations written in the nearest future or does it mean that Tango will actually complement Phobos?
Clearly they'll have range-based implementations where appropriate. The extent to which Phobos and Tango overlap will probably depend on the extent to which Tango2 embraces the range paradigm.
Jul 01 2009
parent "Nick Sabalausky" <a a.a> writes:
"Don" <nospam nospam.com> wrote in message 
news:h2f2pq$64q$1 digitalmars.com...
 Tom S wrote:
 Don wrote:
 AFL v3.0 Section 9.
 If You distribute or communicate copies of the Original Work or a 
 Derivative Work, You must make a reasonable effort under the 
 circumstances to obtain the express assent of recipients to the terms of 
 this License.

 ---
 Richard Stallman's comment on this was:
 [ snip ]
 ----
Thanks for explaining this! I was not aware of this clause. The wiki/License page for Tango puts AFL 3.0 in a much better light... I'll see what folks have to say on IRC :)
Those long licenses really scare me, I'm never sure what they actually mean.
That's something I've always considered a big problem. And one of the main reasons I'm a huge fan of the zlib/libpng license.
Jul 01 2009
prev sibling next sibling parent reply Yigal Chripun <yigal100 gmail.com> writes:
Tom S wrote:
 Yigal Chripun wrote:
 
 thirdly, D has a dictator, Walter Bright, which decides its fate and 
 we have almost zero influence on this.
I thought "The needs and contributions of the D programming community form the direction it goes.".
who told you that?
 
 your scripting language, while awesome, has little bearing on the 
 future of the D language itself.
So have many other projects. Let's stop writing them and all focus on making a compiler, IDE and a debugger for a language used by no one... wait, what? But what you're saying is true - it has little bearing on D - unfortunately so, as it's one of the biggest and oldest projects using it. One would think that a successful product would be shaped upon feedback from its most important customers.
 IMHO, the Tango vs. Phobos licensing issue is the biggest bikeshed 
 color problem in the D realm and the only people that can solve it are 
 the tango devs and walter and co. of which Neither are willing to budge.
Uhhh... try listening to Tango folks sometimes. They really have tried.
 since I have no power to help solve this problem, I see no need to 
 waste my time/energy on it. I see therefore only two options to proceed:
 a. wait until it is solved by the relevant parties.
 b. join a fork effort.
a) Won't happen on its own. The relevant parties must be informed by *someone* b) I think we're all trying to avoid this one.
I see no reason to avoid option b. it is a valid option. this fear of forking is silly IMO, since forking brought a lot of good to the world. one example that comes to mind is compiz vs. Beryl. here's my take on this: when people have a headache they usually just take an aspirin to stop the pain instead of taking care of the root cause of that headache. I see the same thing here. people keep complaining about all the various symptoms: two incompatible standard libraries, toolchain issues, legacy linker, license issues, D2 is a moving target, stability, etc.. what is missing in all of those is a specification for the development process of D. until this is properly defined and designed, there will little progress with any of the core issues IMO. Java, even C++ from D.
Jun 29 2009
parent reply Tom S <h3r3tic remove.mat.uni.torun.pl> writes:
Yigal Chripun wrote:
 Tom S wrote:
 Yigal Chripun wrote:

 thirdly, D has a dictator, Walter Bright, which decides its fate and 
 we have almost zero influence on this.
I thought "The needs and contributions of the D programming community form the direction it goes.".
who told you that?
http://digitalmars.com/d/ -- Tomasz Stachowiak http://h3.team0xf.com/ h3/h3r3tic on #D freenode
Jun 29 2009
parent Yigal Chripun <yigal100 gmail.com> writes:
Tom S wrote:
 Yigal Chripun wrote:
 Tom S wrote:
 Yigal Chripun wrote:

 thirdly, D has a dictator, Walter Bright, which decides its fate and 
 we have almost zero influence on this.
I thought "The needs and contributions of the D programming community form the direction it goes.".
who told you that?
http://digitalmars.com/d/
don't believe everything you read online.. http://www.digitalmars.com/d/2.0/dbc.html (contracts and inheritance)
Jun 29 2009
prev sibling parent Derek Parnell <derek psych.ward> writes:
On Mon, 29 Jun 2009 23:05:29 +0200, Tom S wrote:

 thirdly, D has a dictator, Walter Bright, which decides its fate and we 
 have almost zero influence on this.
I thought "The needs and contributions of the D programming community form the direction it goes.".
LOL ... yeah, right. -- Derek Parnell Melbourne, Australia skype: derek.j.parnell
Jun 29 2009
prev sibling parent reply Walter Bright <newshound1 digitalmars.com> writes:
Yigal Chripun wrote:
 IMHO, the Tango vs. Phobos licensing issue is the biggest bikeshed color 
 problem in the D realm and the only people that can solve it are the 
 tango devs and walter and co. of which Neither are willing to budge.
A lot of fundamental breaking changes were made to Phobos2 to be compatible with Tango. It's now up to Tango to take advantage of that.
Jul 01 2009
parent reply yigal chripun <yigal100 gmail.com> writes:
Walter Bright Wrote:

 Yigal Chripun wrote:
 IMHO, the Tango vs. Phobos licensing issue is the biggest bikeshed color 
 problem in the D realm and the only people that can solve it are the 
 tango devs and walter and co. of which Neither are willing to budge.
A lot of fundamental breaking changes were made to Phobos2 to be compatible with Tango. It's now up to Tango to take advantage of that.
the above reasoning is why the problem exists. "We did our part, go blame the other party". can you please for once try to see the core issue here and not just the resulting problems? there is no defined system for the development of D. even MS has a well defined plan for their .net platform. where's the plan for D? where the process to define that plan? Either you need to have a plan or you need to have a community driven process (Java JSRs, Python PEPs).
Jul 01 2009
next sibling parent "Adam D. Ruppe" <destructionator gmail.com> writes:
On Wed, Jul 01, 2009 at 07:41:17AM -0400, yigal chripun wrote:
 there is no defined system for the development of D.
What does this have to do with the development of an independent project? -- Adam D. Ruppe http://arsdnet.net
Jul 01 2009
prev sibling next sibling parent reply Kagamin <spam here.lot> writes:
yigal chripun Wrote:

 there is no defined system for the development of D. even MS has a well
defined plan for their .net platform. where's the plan for D? where the process
to define that plan? 
 Either you need to have a plan or you need to have a community driven process
(Java JSRs, Python PEPs). 
How the development plan relates to tango? There's a plan to port tango to D2, though it proved to be troublesome. And I think, tango is supposed to be community driven.
Jul 01 2009
next sibling parent reply Jason House <jason.james.house gmail.com> writes:
Kagamin Wrote:

 yigal chripun Wrote:
 
 there is no defined system for the development of D. even MS has a well
defined plan for their .net platform. where's the plan for D? where the process
to define that plan? 
 Either you need to have a plan or you need to have a community driven process
(Java JSRs, Python PEPs). 
How the development plan relates to tango? There's a plan to port tango to D2, though it proved to be troublesome. And I think, tango is supposed to be community driven.
My understanding is that the D2 port was an effort by one inspired community member. It lived in its own branch and quickly got out of date. Both D2 and this mailing list are completely ignored by the Tango developers. Once D2 stops changing, they may reconsider. As far as I know, however, there is no way to maintain a dual D1/D2 code base, and that makes me worry that the Tango devs will have to choose between D1 and D2.
Jul 01 2009
next sibling parent reply Kagamin <spam here.lot> writes:
Jason House Wrote:

 My understanding is that the D2 port was an effort by one inspired community
member. It lived in its own branch and quickly got out of date. Both D2 and
this mailing list are completely ignored by the Tango developers. Once D2 stops
changing, they may reconsider. As far as I know, however, there is no way to
maintain a dual D1/D2 code base, and that makes me worry that the Tango devs
will have to choose between D1 and D2.
 
If I recall it right there are bugs blocking tango port.
Jul 01 2009
parent reply Walter Bright <newshound1 digitalmars.com> writes:
Kagamin wrote:
 If I recall it right there are bugs blocking tango port.
I've fixed all the bugs identified by the Tango team as blocking Tango2. If there are more, please give me the bugzilla numbers.
Jul 01 2009
parent Kagamin <spam here.lot> writes:
Walter Bright Wrote:

 Kagamin wrote:
 If I recall it right there are bugs blocking tango port.
I've fixed all the bugs identified by the Tango team as blocking Tango2. If there are more, please give me the bugzilla numbers.
I may have an outdated info, I don't track the subject.
Jul 02 2009
prev sibling parent "Nick Sabalausky" <a a.a> writes:
"Jason House" <jason.james.house gmail.com> wrote in message 
news:h2flfv$1bkj$1 digitalmars.com...
 Kagamin Wrote:

 yigal chripun Wrote:

 there is no defined system for the development of D. even MS has a well 
 defined plan for their .net platform. where's the plan for D? where the 
 process to define that plan?
 Either you need to have a plan or you need to have a community driven 
 process (Java JSRs, Python PEPs).
How the development plan relates to tango? There's a plan to port tango to D2, though it proved to be troublesome. And I think, tango is supposed to be community driven.
My understanding is that the D2 port was an effort by one inspired community member. It lived in its own branch and quickly got out of date. Both D2 and this mailing list are completely ignored by the Tango developers. Once D2 stops changing, they may reconsider. As far as I know, however, there is no way to maintain a dual D1/D2 code base, and that makes me worry that the Tango devs will have to choose between D1 and D2.
You make it sound like the Tango devs are just being stubborn. But AIUI, it *is* Tango's plan to port to D2 as soon as D2 stabalizes (a lesson learned from the prior efforts that you mentioned), which Walter/Andrei have been promising will be in a few months around the time of the book's release. And I've seen some of them around here, like Lars and Sean. I suppose I haven't seen Kris unless he goes by a different name here. But then there's Jasha's who's just plain been busy, so that's understandable with him. (I forget offhand who else is a regular tango guy, I'm terrible with names anyway...) From what I can tell, I don't see much evidence to suggest that the Tango guys are avoiding the ng.
Jul 01 2009
prev sibling parent reply yigal chripun <yigal100 gmail.com> writes:
Kagamin Wrote:

 yigal chripun Wrote:
 
 there is no defined system for the development of D. even MS has a well
defined plan for their .net platform. where's the plan for D? where the process
to define that plan? 
 Either you need to have a plan or you need to have a community driven process
(Java JSRs, Python PEPs). 
How the development plan relates to tango? There's a plan to port tango to D2, though it proved to be troublesome. And I think, tango is supposed to be community driven.
the lack of proper planning relates to everything: blocking bugs that affect tango for D2, licensing issues - everyone has his own prefered license and there is no central body to manage that (there is a GOOD reason why all GNU code is copyrighted by the FSF), no plan as to what features will be implemented, how and when (latest example - Bartosz' concurrency design for D which was rejected by Andrei), lack of planning for the standard library user APIs - Andrei rewrote half of phobos - with no regard for integration efforts with tango, and so forth. It really doesn't matter how good a programmer Andrei is if there is no consideration for the end user in his code. It doesn't matter how fast a car you can build if it doesn't fit on the standard state roads. D feels like patient zero of NIH syndrom where everything is a one man show. no fucking amount of colaboration is even taken into account. The only person here that undersands this is Don and nobody listens to him, so fucking what if he needs to copy-paste all his code to support the tango-phobos dichotomy, right?
Jul 01 2009
next sibling parent reply "Adam D. Ruppe" <destructionator gmail.com> writes:
On Wed, Jul 01, 2009 at 01:21:58PM -0400, yigal chripun wrote:
 the lack of proper planning relates to everything:
I think D has proper planning. It has a unified guiding vision with Walter Bright and Andrei Alexandrescu. And they discuss it in blogs and on this newsgroup, which usually gets worthless replies. Their vision is why Phobos 2 is coming together and why D isn't being bloated with every useless feature mentioned in this group.
 blocking bugs that affect tango for D2
Which ones?
 licensing issues - everyone has his own prefered license and there is no
central body to manage that
Yes, there is: Walter Bright. There is a GOOD reason why he asks for those public domain statements for all contributions.
 lack of planning for the standard library user APIs - Andrei rewrote half of
phobos - with no regard for integration efforts with tango, and so forth. 
He rewrote it to all fit in to a unified plan. He made requests for comments on this group several times. If you guys want more involvement, stop spamming the newsgroup with false or unsupported statements and irrelevant bullshit. Give the big names a good reason to discuss technical subjects with you - an expectation that they'll have to sift through dozens of noise posts isn't that reason. -- Adam D. Ruppe http://arsdnet.net
Jul 01 2009
parent "Lars T. Kyllingstad" <public kyllingen.NOSPAMnet> writes:
Adam D. Ruppe wrote:
 On Wed, Jul 01, 2009 at 01:21:58PM -0400, yigal chripun wrote:
 the lack of proper planning relates to everything:
I think D has proper planning. It has a unified guiding vision with Walter Bright and Andrei Alexandrescu. And they discuss it in blogs and on this newsgroup, which usually gets worthless replies. Their vision is why Phobos 2 is coming together and why D isn't being bloated with every useless feature mentioned in this group.
Hear, hear! -Lars
Jul 01 2009
prev sibling next sibling parent superdan <super dan.org> writes:
yigal chripun Wrote:

 Kagamin Wrote:
 
 yigal chripun Wrote:
 
 there is no defined system for the development of D. even MS has a well
defined plan for their .net platform. where's the plan for D? where the process
to define that plan? 
 Either you need to have a plan or you need to have a community driven process
(Java JSRs, Python PEPs). 
How the development plan relates to tango? There's a plan to port tango to D2, though it proved to be troublesome. And I think, tango is supposed to be community driven.
the lack of proper planning relates to everything: blocking bugs that affect tango for D2, licensing issues - everyone has his own prefered license and there is no central body to manage that (there is a GOOD reason why all GNU code is copyrighted by the FSF), no plan as to what features will be implemented, how and when (latest example - Bartosz' concurrency design for D which was rejected by Andrei), lack of planning for the standard library user APIs - Andrei rewrote half of phobos - with no regard for integration efforts with tango, and so forth. It really doesn't matter how good a programmer Andrei is if there is no consideration for the end user in his code. It doesn't matter how fast a car you can build if it doesn't fit on the standard state roads. D feels like patient zero of NIH syndrom where everything is a one man show. no fucking amount of colaboration is even taken into account. The only person here that undersands this is Don and nobody listens to him, so fucking what if he needs to copy-paste all his code to support the tango-phobos dichotomy, right?
d00d. cussin's pathetic. don't suit ya. wut's yer real problem?
Jul 01 2009
prev sibling parent reply Walter Bright <newshound1 digitalmars.com> writes:
yigal chripun wrote:
 blocking bugs that affect tango for D2,
Please let me know the Bugzilla numbers for these.
Jul 01 2009
parent reply davidl <davidl nospam.org> writes:
在 Thu, 02 Jul 2009 04:36:16 +0800,Walter Bright  
<newshound1 digitalmars.com> 写道:

 yigal chripun wrote:
 blocking bugs that affect tango for D2,
Please let me know the Bugzilla numbers for these.
http://d.puremagic.com/issues/show_bug.cgi?id=3071 //i'm not sure if this affects tango, i can't quite remember how i updated tango d2 branch in my own box. http://d.puremagic.com/issues/show_bug.cgi?id=3075 http://d.puremagic.com/issues/show_bug.cgi?id=3125 -- 使用 Opera 革命性的电子邮件客户程序: http://www.opera.com/mail/
Jul 02 2009
parent Walter Bright <newshound1 digitalmars.com> writes:
davidl wrote:
 在 Thu, 02 Jul 2009 04:36:16 +0800,Walter Bright 
 <newshound1 digitalmars.com> 写道:
 
 yigal chripun wrote:
 blocking bugs that affect tango for D2,
Please let me know the Bugzilla numbers for these.
http://d.puremagic.com/issues/show_bug.cgi?id=3071 //i'm not sure if this affects tango, i can't quite remember how i updated tango d2 branch in my own box. http://d.puremagic.com/issues/show_bug.cgi?id=3075 http://d.puremagic.com/issues/show_bug.cgi?id=3125
Thanks.
Jul 02 2009
prev sibling next sibling parent Walter Bright <newshound1 digitalmars.com> writes:
yigal chripun wrote:
 Walter Bright Wrote:
 
 Yigal Chripun wrote:
 IMHO, the Tango vs. Phobos licensing issue is the biggest bikeshed color 
 problem in the D realm and the only people that can solve it are the 
 tango devs and walter and co. of which Neither are willing to budge.
A lot of fundamental breaking changes were made to Phobos2 to be compatible with Tango. It's now up to Tango to take advantage of that.
the above reasoning is why the problem exists. "We did our part, go blame the other party".
I do not tell the Tango team what to do. All I can do is get Phobos adjust to accommodate Tango compatibility, which has been done.
Jul 01 2009
prev sibling parent reply "Lars T. Kyllingstad" <public kyllingen.NOSPAMnet> writes:
yigal chripun wrote:
 Either you need to have a plan or you need to have a community driven process
(Java JSRs, Python PEPs). 
There is a similar option for D, although it doesn't have a fancy abbreviation: You can put enhancement requests in Bugzilla and get people to vote for them. -Lars
Jul 01 2009
parent reply yigal chripun <yigal100 gmail.com> writes:
Lars T. Kyllingstad Wrote:

 yigal chripun wrote:
 Either you need to have a plan or you need to have a community driven process
(Java JSRs, Python PEPs). 
There is a similar option for D, although it doesn't have a fancy abbreviation: You can put enhancement requests in Bugzilla and get people to vote for them. -Lars
you must be kidding right? maybe the situation is improving lately but not that long ago I remember posts by downs where he pointed out an old bug in DMD with a patch to fix that bug already in Bugzilla and that fix was in bugzila several *years* without anyone caring. there is no reviewing mechanism in place - so if Walter has no time to review patches they will not be incorporated. There is no planning regarding timeing and mile stones, nowhere can you find out what will be implemented when and by whom, nowhere can you see the test plan, the review plan, etc. compare a very successful project like firefox where everything is planned ahead and timed (what feature will be in what release and so forth) with Debian where if they're lucky they have two releases in a decade and even Debian with the faumous "we will release when the software is ready" has a release plan! for D this means that the released compiler can have blocking bugs for major D libraries (tango, dwt, etc..) . that means, no one knows ahead of time what language features a release will contain and how will that affect the code. sometimes even *after* the release you don't know that since sometimes walter forgets to mention some new feature he implemented. there are free tools available for all of that and nothing has to be done manually, no matter how high your requirments are. Google for example has a review system for its Android code base.
Jul 02 2009
parent reply Walter Bright <newshound1 digitalmars.com> writes:
yigal chripun wrote:
 Lars T. Kyllingstad Wrote:
 
 yigal chripun wrote:
 Either you need to have a plan or you need to have a community
 driven process (Java JSRs, Python PEPs).
There is a similar option for D, although it doesn't have a fancy abbreviation: You can put enhancement requests in Bugzilla and get people to vote for them. -Lars
you must be kidding right? maybe the situation is improving lately but not that long ago I remember posts by downs where he pointed out an old bug in DMD with a patch to fix that bug already in Bugzilla and that fix was in bugzila several *years* without anyone caring.
If that is the bug I am thinking of, the patch papered over one instance of the problem and didn't fix it at all. The patch even noted that it was incomplete. The real fix required much more extensive work, and there were higher priority problems. My general experience with posted compiler patches is about half of them are good, the other half are incorrect and require more development. For a more recent example, 3122 contained a patch that was marked as complete and tested, but it had two serious bugs (did not check that a filename was supplied, and did not check for file write errors) and an unnecessary hardcoded OS dependency (on path lengths). These aren't hard to fix, and I merged in the patch with fixes, I'm just trying to say that things are not as simple as just apply patches. That said, I still appreciate and encourage posting patches to bugzilla, as even if incomplete they still cut down the work for me that is necessary to fix the problem, and hence they are valuable.
Jul 02 2009
next sibling parent reply Tom S <h3r3tic remove.mat.uni.torun.pl> writes:
Walter Bright wrote:
 For a more recent example, 3122 contained a patch that was marked as 
 complete and tested, but it had two serious bugs (did not check that a 
 filename was supplied, and did not check for file write errors) and an 
 unnecessary hardcoded OS dependency (on path lengths). These aren't hard 
 to fix, and I merged in the patch with fixes, I'm just trying to say 
 that things are not as simple as just apply patches.
Guilty as charged. Sorry about that. I didn't consider the case where someone would not provide a file name and didn't realize that write errors were an issue in this case. I guess I'm used to I/O code throwing exceptions when something goes wrong ;) The MAX_PATH+2 was probably plain stupid of me. I wanted to hardcode it to '256' but then thought 'oh, MAX_PATH+2 would be better!', both of which were braindead considering that I've just checked that filename ops in DMD use dynamic allocation for this purpose. Please let me know the next time I commit a crime like this and I'll fix it gladly! I promise my next patch will be better :P Thanks for folding it in! *g* -- Tomasz Stachowiak http://h3.team0xf.com/ h3/h3r3tic on #D freenode
Jul 02 2009
parent Walter Bright <newshound1 digitalmars.com> writes:
Tom S wrote:
 Guilty as charged. Sorry about that. I didn't consider the case where 
 someone would not provide a file name and didn't realize that write 
 errors were an issue in this case. I guess I'm used to I/O code throwing 
 exceptions when something goes wrong ;)
 
 The MAX_PATH+2 was probably plain stupid of me. I wanted to hardcode it 
 to '256' but then thought 'oh, MAX_PATH+2 would be better!', both of 
 which were braindead considering that I've just checked that filename 
 ops in DMD use dynamic allocation for this purpose. Please let me know 
 the next time I commit a crime like this and I'll fix it gladly! I 
 promise my next patch will be better :P
I wouldn't worry about it. We all make mistakes programming - that's what code reviews are for.
 Thanks for folding it in! *g*
Jul 02 2009
prev sibling next sibling parent reply Jason House <jason.james.house gmail.com> writes:
Walter Bright Wrote:

 My general experience with posted compiler patches is about half of them 
 are good, the other half are incorrect and require more
for the bad half, do you comment in the bug reports about why you think the patches are bad?
Jul 02 2009
parent reply Walter Bright <newshound1 digitalmars.com> writes:
Jason House wrote:
 Walter Bright Wrote:
 
 My general experience with posted compiler patches is about half of them 
 are good, the other half are incorrect and require more
for the bad half, do you comment in the bug reports about why you think the patches are bad?
Sometimes, but not usually. I doubted anyone cared as long as they got fixed one way or another.
Jul 02 2009
next sibling parent Brad Roberts <braddr bellevue.puremagic.com> writes:
On Thu, 2 Jul 2009, Walter Bright wrote:

 Jason House wrote:
 Walter Bright Wrote:
 
 My general experience with posted compiler patches is about half of them
 are good, the other half are incorrect and require more
for the bad half, do you comment in the bug reports about why you think the patches are bad?
Sometimes, but not usually. I doubted anyone cared as long as they got fixed one way or another.
Without education, the chances of the patches getting better in the future is pretty close to zero. With a little education, the chances are pretty good. IE, it's in your own best interest to help out the people that are willing to help you. Later, Brad
Jul 02 2009
prev sibling next sibling parent Derek Parnell <derek psych.ward> writes:
On Thu, 02 Jul 2009 13:55:56 -0700, Walter Bright wrote:

 Jason House wrote:
 Walter Bright Wrote:
 
 My general experience with posted compiler patches is about half of them 
 are good, the other half are incorrect and require more
for the bad half, do you comment in the bug reports about why you think the patches are bad?
Sometimes, but not usually. I doubted anyone cared as long as they got fixed one way or another.
Bzzzt ... wrong answer. -- Derek Parnell Melbourne, Australia skype: derek.j.parnell
Jul 02 2009
prev sibling parent reply Jason House <jason.james.house gmail.com> writes:
Walter Bright Wrote:

 Jason House wrote:
 Walter Bright Wrote:
 
 My general experience with posted compiler patches is about half of them 
 are good, the other half are incorrect and require more
for the bad half, do you comment in the bug reports about why you think the patches are bad?
If you closed every bug promptly, we probably wouldn't care. Bugs that are not closed can be for many reasons... You could be too busy, the patch requires too much time to fix, you don't understand the bug, you disagree with the bug, you forgot about the bug, you never read the bug report, etc... Silence is frequently mistaken for apathy. Responses to bug reports generate a lot of good will and encourages further help from the community. Bugs open for years with no comments have the opposite effect...
 
 Sometimes, but not usually. I doubted anyone cared as long as they got 
 fixed one way or another.
Jul 02 2009
parent reply Walter Bright <newshound1 digitalmars.com> writes:
Jason House wrote:
 Silence is frequently mistaken for apathy. Responses to bug reports
 generate a lot of good will and encourages further help from the
 community. Bugs open for years with no comments have the opposite
 effect...
Look at the changelog - there's regular and significant progress every month in fixing reported bugs. If someone wants to help advance D with something that does not have me as a gating factor, a *big* help would be to get the gdb patches folded into the main branch of gdb: http://sourceware.org/bugzilla/show_bug.cgi?id=10142
Jul 02 2009
parent reply Jason House <jason.james.house gmail.com> writes:
Walter Bright Wrote:

 Jason House wrote:
 Silence is frequently mistaken for apathy. Responses to bug reports
 generate a lot of good will and encourages further help from the
 community. Bugs open for years with no comments have the opposite
 effect...
Look at the changelog - there's regular and significant progress every month in fixing reported bugs. If someone wants to help advance D with something that does not have me as a gating factor, a *big* help would be to get the gdb patches folded into the main branch of gdb: http://sourceware.org/bugzilla/show_bug.cgi?id=10142
there's already someone working on getting that patch into gdb. I've been trying lately to play with the dmd -gc output so that gdb recognizes it properly. I'm not very far, and my queries in #gdb have gone unanswered :(
Jul 02 2009
next sibling parent reply Walter Bright <newshound1 digitalmars.com> writes:
Jason House wrote:
 there's already someone working on getting that patch into gdb.
Great!
 I've
 been trying lately to play with the dmd -gc output so that gdb
 recognizes it properly.
dumpobj will pretty-print the compiler debug output. It's a handy tool.
 I'm not very far, and my queries in #gdb have
 gone unanswered :(
That's normal. But the source to GDB is available, and that's usually a lot better source of information. I prefer it to asking questions and getting incorrect answers back :-(
Jul 02 2009
parent reply Jason House <jason.james.house gmail.com> writes:
Walter Bright Wrote:

 Jason House wrote:
 there's already someone working on getting that patch into gdb.
Great!
 I've
 been trying lately to play with the dmd -gc output so that gdb
 recognizes it properly.
dumpobj will pretty-print the compiler debug output. It's a handy tool.
Any tips/links on usage and output interpretation would be appreciated. I've never read the dwarf spec and have no idea what should be in debug info.
 I'm not very far, and my queries in #gdb have
 gone unanswered :(
That's normal. But the source to GDB is available, and that's usually a lot better source of information. I prefer it to asking questions and getting incorrect answers back :-(
the last time someone helped me on #gdb, they were extremely helpful and knowledgable. I'm hoping for a similar experience. It'd likely speed up my efforts 5 fold. I won't hold my breath though.
Jul 02 2009
parent Walter Bright <newshound1 digitalmars.com> writes:
Jason House wrote:
 Walter Bright Wrote:
 
 Jason House wrote:
 there's already someone working on getting that patch into gdb.
Great!
 I've been trying lately to play with the dmd -gc output so that
 gdb recognizes it properly.
dumpobj will pretty-print the compiler debug output. It's a handy tool.
Any tips/links on usage and output interpretation would be appreciated. I've never read the dwarf spec and have no idea what should be in debug info.
Not really. I developed it by reading the spec and trying to dump the output of gcc.
 
 I'm not very far, and my queries in #gdb have gone unanswered :(
That's normal. But the source to GDB is available, and that's usually a lot better source of information. I prefer it to asking questions and getting incorrect answers back :-(
the last time someone helped me on #gdb, they were extremely helpful and knowledgable. I'm hoping for a similar experience. It'd likely speed up my efforts 5 fold. I won't hold my breath though.
Jul 02 2009
prev sibling parent reply Christian Kamm <kamm-incasoftware removethis.de> writes:
Jason House wrote:
 there's already someone working on getting that patch into gdb. I've been
 trying lately to play with the dmd -gc output so that gdb recognizes it
 properly. I'm not very far, and my queries in #gdb have gone unanswered :(
You could also try compiling the same file with DMD and LDC and compare the debug info.
Jul 02 2009
parent Jason House <jason.james.house gmail.com> writes:
Christian Kamm wrote:

 Jason House wrote:
 there's already someone working on getting that patch into gdb. I've been
 trying lately to play with the dmd -gc output so that gdb recognizes it
 properly. I'm not very far, and my queries in #gdb have gone unanswered
 :(
You could also try compiling the same file with DMD and LDC and compare the debug info.
It's a good idea. Something really strange happened though. In order to get ldc to work, I had to install libelf. When I did that, the debug info from dmd changed drastically. I wonder how/why that happened. After the install, I get this error from objdump when examing the dmd output: objdump: Warning: .debug_info offset of 0x12c in .debug_pubnames section does not point to a CU header.
Jul 03 2009
prev sibling next sibling parent Don <nospam nospam.com> writes:
Walter Bright wrote:
 yigal chripun wrote:
 Lars T. Kyllingstad Wrote:

 yigal chripun wrote:
 Either you need to have a plan or you need to have a community
 driven process (Java JSRs, Python PEPs).
There is a similar option for D, although it doesn't have a fancy abbreviation: You can put enhancement requests in Bugzilla and get people to vote for them. -Lars
you must be kidding right? maybe the situation is improving lately but not that long ago I remember posts by downs where he pointed out an old bug in DMD with a patch to fix that bug already in Bugzilla and that fix was in bugzila several *years* without anyone caring.
If that is the bug I am thinking of, the patch papered over one instance of the problem and didn't fix it at all. The patch even noted that it was incomplete. The real fix required much more extensive work, and there were higher priority problems. My general experience with posted compiler patches is about half of them are good, the other half are incorrect and require more development. For a more recent example, 3122 contained a patch that was marked as complete and tested, but it had two serious bugs (did not check that a filename was supplied, and did not check for file write errors) and an unnecessary hardcoded OS dependency (on path lengths). These aren't hard to fix, and I merged in the patch with fixes, I'm just trying to say that things are not as simple as just apply patches. That said, I still appreciate and encourage posting patches to bugzilla, as even if incomplete they still cut down the work for me that is necessary to fix the problem, and hence they are valuable.
It'd be good to have a keyword in bugzilla, "patch-rejected", which you could use if there's a problem with a patch and you aren't going to include it in the next release. Then, such cases wouldn't keep showing up on a search for all 'patch' bugs, and patch contributers could check for them, redoing their patch if desired. Another useful keyword would be "no-line-number". Error messages with no line number are high severity (almost as important as compiler crashes), but they're hard to track right now. This would give the bug severity list as: patch wrong-code ice-on-valid-code ice-on-invalid-code no-line-number rejects-valid accepts-invalid diagnostic Currently, 'patch' is one of the biggest categories in bugzilla! <g>.
Jul 03 2009
prev sibling parent Yigal Chripun <yigal spam.come> writes:
Walter Bright Wrote:

 yigal chripun wrote:
 Lars T. Kyllingstad Wrote:
 
 yigal chripun wrote:
 Either you need to have a plan or you need to have a community
 driven process (Java JSRs, Python PEPs).
There is a similar option for D, although it doesn't have a fancy abbreviation: You can put enhancement requests in Bugzilla and get people to vote for them. -Lars
you must be kidding right? maybe the situation is improving lately but not that long ago I remember posts by downs where he pointed out an old bug in DMD with a patch to fix that bug already in Bugzilla and that fix was in bugzila several *years* without anyone caring.
If that is the bug I am thinking of, the patch papered over one instance of the problem and didn't fix it at all. The patch even noted that it was incomplete. The real fix required much more extensive work, and there were higher priority problems. My general experience with posted compiler patches is about half of them are good, the other half are incorrect and require more development. For a more recent example, 3122 contained a patch that was marked as complete and tested, but it had two serious bugs (did not check that a filename was supplied, and did not check for file write errors) and an unnecessary hardcoded OS dependency (on path lengths). These aren't hard to fix, and I merged in the patch with fixes, I'm just trying to say that things are not as simple as just apply patches. That said, I still appreciate and encourage posting patches to bugzilla, as even if incomplete they still cut down the work for me that is necessary to fix the problem, and hence they are valuable.
the above implementation details are completely besides the point. and to re-iterate: the point being that there was a bug report with a patch lying around for 1.5 *years* without any kind of _response_.
Jul 03 2009
prev sibling parent reply Yigal Chripun <yigal100 gmail.com> writes:
MIURA Masahiro wrote:
 Yigal Chripun wrote:
 do not tell other people what to think and what to write. this is not 
 china and you are not the great firewall.
 grow up.
Apparently you don't share Jarrett's consciousness of the problem that more important issues are left undiscussed. Freedom may be paramount, but I'm not sure if D's situation would improve just by letting people write what they want to. I don't have a clearcut answer. Perhaps there should be some kind of soft leadership or orientation? (Reminds me of Guido van Rossum jokingly calling himself a kind of dictator. And his Python is a successful language.)
Your conclusion is false. I didn't share my opinion regarding Jarrett's "consciousness of the problem" at all. That's entirely your assumption. If Jarrett sees some discussion topic being neglected than by all means he should voice his opinion. there are two options here: positive option - "let's talk about subject X". <- this is productive. negative option - "you must stop discussing subject Y". <- this is not. Jarrett chose the negative option for which I voiced my criticism, that is all.
Jun 29 2009
parent Tom S <h3r3tic remove.mat.uni.torun.pl> writes:
Yigal Chripun wrote:
 MIURA Masahiro wrote:
 Yigal Chripun wrote:
 do not tell other people what to think and what to write. this is not 
 china and you are not the great firewall.
 grow up.
Apparently you don't share Jarrett's consciousness of the problem that more important issues are left undiscussed. Freedom may be paramount, but I'm not sure if D's situation would improve just by letting people write what they want to. I don't have a clearcut answer. Perhaps there should be some kind of soft leadership or orientation? (Reminds me of Guido van Rossum jokingly calling himself a kind of dictator. And his Python is a successful language.)
Your conclusion is false. I didn't share my opinion regarding Jarrett's "consciousness of the problem" at all. That's entirely your assumption. If Jarrett sees some discussion topic being neglected than by all means he should voice his opinion. there are two options here: positive option - "let's talk about subject X". <- this is productive. negative option - "you must stop discussing subject Y". <- this is not. Jarrett chose the negative option for which I voiced my criticism, that is all.
http://www.jfbillingsley.com/blog/?p=53 -- Tomasz Stachowiak http://h3.team0xf.com/ h3/h3r3tic on #D freenode
Jun 29 2009
prev sibling parent Derek Parnell <derek psych.ward> writes:
On Mon, 29 Jun 2009 09:21:29 +0300, Yigal Chripun wrote:

 Jarrett Billingsley wrote:
 With four or five people having voiced concerns over the future of D
 in the past week or so, what's the busiest discussion?
 
 int.nan, of course.
 
 Come on.  Get with the program.  Enough already with the bikeshed
 bullshit.  There are far more important issues at hand.
if you do not want to discuss a particular topic than by all means do not participate in it. do not tell other people what to think and what to write. this is not china and you are not the great firewall. grow up. if you want a moderated NG than ask Walter to create one. This is *not* such a NG and people *will* discuss whatever they want, whether you like it or not.
I agree with both of you. -- Derek Parnell Melbourne, Australia skype: derek.j.parnell
Jun 29 2009
prev sibling next sibling parent "Lars T. Kyllingstad" <public kyllingen.NOSPAMnet> writes:
Jarrett Billingsley wrote:
 With four or five people having voiced concerns over the future of D
 in the past week or so, what's the busiest discussion?
 
 int.nan, of course.
 
 Come on.  Get with the program.  Enough already with the bikeshed
 bullshit.  There are far more important issues at hand.
Although I definitely feel your pain, I am not worried about the impact these kinds of discussions will have on D development. If Walter & co. were among the most active participants, I would be deeply worried indeed, but luckily they aren't. Hopefully they spend their time on more important stuff. Do you know what worries me, though? The fact that whenever a potential D user comes to digitalmars.com/d and clicks "Forum" he/she sees two things: Bikeshed stuff or "D is doomed". Walter: Please, please, please direct new users towards D.learn instead of this group! I'm starting to think one should be required pass some D programming test to be able to acess this NG, to sift out those who are new enough to potentially be scared off. Instead of having to read distorted text in a CAPTCHA, one would have to decipher a piece of complex template code or something. -Lars
Jun 29 2009
prev sibling parent reply Steve Teale <steve.teale britseyeview.com> writes:
dsimcha Wrote:

 I feel that miscellaneous toolchain issues (other than implementing changes to
the
 spec and fixing bugs that severely affect the usability of language features)
are
 an order of magnitude less important because this stuff can always be done
after
 the fact without breaking code.  In other words, once the spec is finalized
and a
 decent reference implementation is out the door, people can confidently use D2
 knowing that the situation will only get better.  Until then, it's two steps
 forward, one step back when code breaks in non-trivial ways due to a spec
change
 or a compiler bug makes a seemingly useful feature that you planned on using
 absolutely useless.
Dsimcha, Everything can be done later. The concern is 'will it'. If D dies on the way because people come to look __again__ and see same-old, same-old, then this is a real risk. Steve
Jun 29 2009
next sibling parent "Nick Sabalausky" <a a.a> writes:
"Steve Teale" <steve.teale britseyeview.com> wrote in message 
news:h2asuv$cm4$1 digitalmars.com...
 dsimcha Wrote:

 I feel that miscellaneous toolchain issues (other than implementing 
 changes to the
 spec and fixing bugs that severely affect the usability of language 
 features) are
 an order of magnitude less important because this stuff can always be 
 done after
 the fact without breaking code.  In other words, once the spec is 
 finalized and a
 decent reference implementation is out the door, people can confidently 
 use D2
 knowing that the situation will only get better.  Until then, it's two 
 steps
 forward, one step back when code breaks in non-trivial ways due to a spec 
 change
 or a compiler bug makes a seemingly useful feature that you planned on 
 using
 absolutely useless.
Dsimcha, Everything can be done later. The concern is 'will it'. If D dies on the way because people come to look __again__ and see same-old, same-old, then this is a real risk.
Sorry about my bad mood and echoing of the "elbow grease" stance, but "it will" if people work on these things (as they are doing) instead of complaining about the sky falling.
Jun 29 2009
prev sibling parent "Lars T. Kyllingstad" <public kyllingen.NOSPAMnet> writes:
Steve Teale wrote:
 dsimcha Wrote:
 
 I feel that miscellaneous toolchain issues (other than implementing changes to
the
 spec and fixing bugs that severely affect the usability of language features)
are
 an order of magnitude less important because this stuff can always be done
after
 the fact without breaking code.  In other words, once the spec is finalized
and a
 decent reference implementation is out the door, people can confidently use D2
 knowing that the situation will only get better.  Until then, it's two steps
 forward, one step back when code breaks in non-trivial ways due to a spec
change
 or a compiler bug makes a seemingly useful feature that you planned on using
 absolutely useless.
Dsimcha, Everything can be done later. The concern is 'will it'. If D dies on the way because people come to look __again__ and see same-old, same-old, then this is a real risk. Steve
...except everything isn't same-old same-old! A lot of exciting things have happened in the last year: - The D2 spec is soon finished. - Phobos is being completely rewritten, and from what I've seen so far I think it is a beautiful piece of work. - The DMD compiler is available for more architectures than ever. - A D book is being written by a well-known author and C++ expert. - An alternative compiler is in active development. It is built on a modern compiler infrastructure, and it is developed by a team of people instead of just one person. This should secure its future somewhat. I suspect that once the D1 version is in place, the D2 version won't be far behind. - The DMD compiler is now open source. It is easier than ever to tweak and patch it, and to make a D compiler of your own. I think these are exciting times in which to be a D user! :) -Lars
Jun 29 2009