May 09, 2009 Re: What's the current state of D? | ||||
---|---|---|---|---|
| ||||
Posted in reply to torhu | torhu wrote:
> On 09.05.2009 00:29, Christopher Wright wrote:
>> Open source projects tend to have to support wider ranges of compilers.
>> I've seen OSS projects where they prioritized issues specific to
>> gcc-3.4.2 as highly as any other issue, even if the developers typically
>> used the 4.x branch.
>
> That's probably because they wanted to be cross-platform, since 3.4.2 was the latest GCC supported by minGw for a long time.
No; there has sadly never been a release of Enlightenment DR17 for MinGW.
|
May 09, 2009 Re: What's the current state of D? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Tyro[a.c.edwards] | Tyro[a.c.edwards] wrote:
> On 5/9/2009 11:24 AM, grauzone wrote:
>>> beyond and I'm quite sure that I'm not the only one. For all the
>>> Naysayers out there... Keep saying nay and go the hell away. D2 is
>>> just where it is supposed to be. Let’s not end up in the same mess we
>>> did by trying to make impatient people happy and releasing D1.
>>
>> What about the people who want to use D for something actually useful?
>
> Well, for those cases, there is D1. Which, if I may add, is extremely stable.
Agreed -- I haven't had to update my D1 code due to compiler changes, even if it's over a year old. Only library changes force me to update it. The only reason I bother updating my compiler is because of bugfixes and Tango updates which require those bugfixes.
|
May 09, 2009 Re: What's the current state of D? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Andrei Alexandrescu | Andrei Alexandrescu Wrote: > Tyro[a.c.edwards] wrote: > > On 5/9/2009 3:38 AM, Steve Teale wrote: > >> Walter Bright Wrote: > >> > >>> Steve Teale wrote: > >>>> This is the sort of answer that will kill D. The guy comes back after 2 years, asks a straight question, and get's told "business as usual, we're still arguing among ourselves about what it should be". > >>>> > >>>> Maybe Tiobe is right! Lots of others may not even bother to ask. They just visit the newsgroup, read a page of it, and conclude "same old, same old", and go away. > >>>> > >>>> D should be D, not maybe 1.043, or let's wait a while and see what happens with D2. Potential real users hate uncertainty. If they are going to commit, then D must do so too. > >>> What bothers me about this sentiment is that every other mainstream language undergoes revision, sometimes major ones, but that never seems to be an excuse for people to not use it. > >>> > >>> For example, C++ is quite in flux with C++0x. > >>> > >>> The only languages that are not undergoing revision are dead ones. > >> > >> Yes Walter, but C++ went through a tedious standardization process - itself a long argument. So there was some basis for people to think that it had 'got there'. > >> > >> But to come back after 2 years and find the same stuff still going on is depressing - been there done that. OK, it didn't put me off, I'm still in there, but it bothers me. I'd be dishonest if I said otherwise. > >> > >> I am not criticizing you. I think you are doing a great job under the pressure of a slew of suggestions. But maybe a line in the sand at some point? > >> > >> OK so for those who crave stability there is D1.x, but when all the focus appears to be on D2, what level of confidence is afforded to D1 users. Can a project Manager cross his heart and say that D1 will still be alive and well in five years time? > >> > > > > This is quite interesting! Before there was D1, I can remember the same requests being submitted over and over again. Tool developers complained that they could not use D for anything serious because of its constant state of flux. They continuously requested that a line be drawn. Shortly after that line was drawn in January 2007, a good majority of the community complained that it wasn't exactly what they asked for and a majority of the most active members of the community disappeared into thin air. > > > > The sad thing is, even after D1 became stable following a number of bug fixes, very few people used it for much of anything. Those "advocates of stability" all disappeared; abandoning their tools/projects in the process. > > > > The same thing is beginning again and it seems to me that instead of something that is actually useful, people a waiting for MicroMoney or some other name brand begins to invest in their own D compiler. As far as I see it, there will come a time when D language will soar above all the rest (not only in capability, which it already does, but also commercial usage), I will continue to support it until then and well beyond and I'm quite sure that I'm not the only one. For all the Naysayers out there... Keep saying nay and go the hell away. D2 is just where it is supposed to be. Let’s not end up in the same mess we did by trying to make impatient people happy and releasing D1. > > > > Andrew > > Very well and heartfelt put. > > D needs many things, but probably above all it needs the dedication of bright people. > > I've had a great time at BoostCon, and enjoyed many interesting conversations with as many bright people. Beman Dawes, the originator of Boost and an extraordinary gentleman, gave me a little history of Boost. Essentially Boost has been toiling in anonymity until Dave Abrahams came about. Dave is a design, coding, and organizational powerhouse all in one. He not only contributed a great deal of design and code to Boost, but also managed organizational and logistics aspects, in addition to exercising the charisma necessary for attracting other extraordinarily qualified people to dedicate their prime to Boost. That's a rather rare find. Typically, that would require the contribution of many individuals to achieve the same effect. Even if you only consider the time required to do all that, it can be a tall order! > And it has snowballed ever since. It was amazing just being at Boostcon to see how much expertise punch those people packed. > > We are lacking such a powerhouse for D. Walter is a great lone wolf kind of coder, but not a team organizer and charismatic leader. Things have been changed to the better since he has made Phobos accessible on dsource.org and since he released the source of the compiler. Integration with druntime was another great step forward (thanks Sean!) Soon we may convince Walter to put the entire dmd source on dsource.org, which would improve things even more. I've been hoping for that! I tried to create a thread about that a while back, but it passed silently into oblivion. > But the role of "Dave" for D is still up for grabs. > > Of course it's not that easy to find that, but in the meantime there's a lot of good things to be done. If you do something great, sooner or later it will be picked up. The perfect example is Don, who became a prominent contributor solely through the sheer quality and quantity of his work. (There are many others that come to mind, but please allow me to stay with one because as soon as I mention more than one, I'd feel I'm unjust to others that I might even forget for the moment.) > > So what I think D really needs is your heart and soul :o). Let me (re)try to make a step in that direction by reopening the Phobos czar position. Gregor Richards has held that position for a while but hasn't done anything with it. (I'm not saying this with reproach; Gregor has been busy with school and if I don't know what that means...) I can hardly imagine what someone like Dave could do with that role. So if anyone is interested, speak up! Like many, I can't become a/the czar, but will slowly contribute from the sidelines. I submitted a weak reference library for druntime and am now working on a high throughput lockless hashmap. > > Andrei |
May 09, 2009 Re: What's the current state of D? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | On Fri, May 8, 2009 at 8:56 PM, Walter Bright <newshound1@digitalmars.com> wrote:
> Steve Teale wrote:
>>
>> I am not criticizing you. I think you are doing a great job under the pressure of a slew of suggestions. But maybe a line in the sand at some point?
>
> But there *is* a line in the sand - D1.
>
>> OK so for those who crave stability there is D1.x, but when all the focus appears to be on D2, what level of confidence is afforded to D1 users. Can a project Manager cross his heart and say that D1 will still be alive and well in five years time?
>
> This just makes me very frustrated. Every fix going into D2 that also applies to D1 has been folded into D1. There are even some fixes that only apply to D1 that only go into D1. These average about 20 per month. D1 even got the FreeBSD port before D2. What other language gets that kind of support?
>
>
A lot of good points have been brought forward in this thread. To me the big problem with D1 is that we *still* don't have a conforming (what does that even mean with D) compiler.
Yes I'm thinking forward reference problems and such. Sure, these are hard problems to fix in the compiler, at least at this point. It's something that should have been fixed immediately when the first bug report came in.
From my work on LDC I've seen a lot of the DMD frontend source code, its glitches, but of course also those "wow, that's neat" moments. However, one thing is very certain, it has some horrible problems with order-of-things issues, which the spec says should not matter.
I'm talking about forward references, differing semantic trees depending on the order of declarations, imports etc. even the order in which modules are passed on the command line can affect the resulting semantic trees (yes I mean AST, but DMD has no distinction, it rewrites the AST happily until it thinks the result is sane).
The main feeling I've come to settle on during the soon two years I've spent with LDC, is: we need a new frontend! D1 and D2 both have these problems, and they're not going away by themselves.
-Tomas
|
May 09, 2009 Re: What's the current state of D? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | Walter Bright, el 8 de mayo a las 11:56 me escribiste: > Steve Teale wrote: > >I am not criticizing you. I think you are doing a great job under the pressure of a slew of suggestions. But maybe a line in the sand at some point? > > But there *is* a line in the sand - D1. > > >OK so for those who crave stability there is D1.x, but when all the focus appears to be on D2, what level of confidence is afforded to D1 users. Can a project Manager cross his heart and say that D1 will still be alive and well in five years time? > > This just makes me very frustrated. Every fix going into D2 that also applies to D1 has been folded into D1. There are even some fixes that only apply to D1 that only go into D1. These average about 20 per month. D1 even got the FreeBSD port before D2. What other language gets that kind of support? D1 is INCOMPLETE (for example pre/post conditions inheritance are missing). I tend to forget which features are there for real what aren't (there are a few, true, but still). Another very *BIG* issue is lack of mainstream tools support. C++98 was finished before starting C++0x. A lot of effort was made to make mainstream tools to support C++. Most tools demangle C++ names (even when they aren't standard!). At least GDB should be able to do that, and Valgrind and GNU binutils, if you want people to be comfortable working with D. There are patches here and there but nothing works out of the box. I think what D1 is *really* missing is that 2 things: completeness and tools support. Without that is really hard to take it seriously. I think the D team should be working more in that direction before finishing D2. I know is very boring comparing it to making D2, but I think that is what is transmitted from D maintainers: "D1 is boring, don't pay attention to it, D2 is fun, let's play with that!". And this is what happening. People are playing with D2 and forgetting to finish D1. The Tango vs. Phobos is still a *BIG* issue for D1. I think don't addressing that is a huge error. It's only hurting D1 and preventing its adoption. The result is 2 incomplete, unsupported (by mainstream tools) languages. -- Leandro Lucarella (luca) | Blog colectivo: http://www.mazziblog.com.ar/blog/ ---------------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ---------------------------------------------------------------------------- No existe nada más intenso que un reloj, ni nada más flaco que una bicicleta. No intenso como el café, ni flaco como escopeta. -- Ricardo Vaporeso |
May 09, 2009 Re: What's the current state of D? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Tomas Lindquist Olsen | Tomas Lindquist Olsen escribió:
> On Fri, May 8, 2009 at 8:56 PM, Walter Bright
> <newshound1@digitalmars.com> wrote:
>> Steve Teale wrote:
>>> I am not criticizing you. I think you are doing a great job under the
>>> pressure of a slew of suggestions. But maybe a line in the sand at
>>> some point?
>> But there *is* a line in the sand - D1.
>>
>>> OK so for those who crave stability there is D1.x, but when all the
>>> focus appears to be on D2, what level of confidence is afforded to D1
>>> users. Can a project Manager cross his heart and say that D1 will
>>> still be alive and well in five years time?
>> This just makes me very frustrated. Every fix going into D2 that also
>> applies to D1 has been folded into D1. There are even some fixes that only
>> apply to D1 that only go into D1. These average about 20 per month. D1 even
>> got the FreeBSD port before D2. What other language gets that kind of
>> support?
>>
>>
>
> A lot of good points have been brought forward in this thread. To me
> the big problem with D1 is that we *still* don't have a conforming
> (what does that even mean with D) compiler.
>
> Yes I'm thinking forward reference problems and such. Sure, these are
> hard problems to fix in the compiler, at least at this point. It's
> something that should have been fixed immediately when the first bug
> report came in.
>
> From my work on LDC I've seen a lot of the DMD frontend source code,
> its glitches, but of course also those "wow, that's neat" moments.
> However, one thing is very certain, it has some horrible problems with
> order-of-things issues, which the spec says should not matter.
>
> I'm talking about forward references, differing semantic trees
> depending on the order of declarations, imports etc. even the order in
> which modules are passed on the command line can affect the resulting
> semantic trees (yes I mean AST, but DMD has no distinction, it
> rewrites the AST happily until it thinks the result is sane).
>
> The main feeling I've come to settle on during the soon two years I've
> spent with LDC, is: we need a new frontend! D1 and D2 both have these
> problems, and they're not going away by themselves.
>
> -Tomas
That's my feeling also. A new front-end must be done, and the specification of the language must be clear in every aspect. No surprises.
|
May 09, 2009 Re: What's the current state of D? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Leandro Lucarella | Leandro Lucarella wrote: > D1 is INCOMPLETE (for example pre/post conditions inheritance are > missing). I tend to forget which features are there for real what aren't > (there are a few, true, but still). Array ops weren't there for a long time, many argued that D1 wasn't complete without them, and a few months ago I added them in. As far as I can tell, nobody cared about array ops. In C++ land, only one compiler actually completely implements C++98, and this is after more than 10 years. (Exported templates and template name lookup rules remain unimplemented by major compilers.) (P.S. Digital Mars C++ does the correct name lookup rules!) The fact is, nobody actually cares about those incomplete features. Nobody uses exported templates, even if they are using a compiler that supports it. So that leaves contract inheritance. I find it hard to see how not having it is a showstopper for using D1. Contracts in D haven't been the big win I thought they might be at first. They aren't use much at all. There are a lot of other issues that do make a big difference, and those are the issues that get attention. We've got only so many chips (time) to play with, and it's real important that we play them for maximum effect. > Another very *BIG* issue is lack of mainstream tools support. > > C++98 was finished before starting C++0x. A lot of effort was made to make > mainstream tools to support C++. Most tools demangle C++ names (even when > they aren't standard!). At least GDB should be able to do that, and > Valgrind and GNU binutils, if you want people to be comfortable working > with D. There are patches here and there but nothing works out of the box. GDB does have an official D mode. There are demanglers for D identifiers. Can you submit patches for GDB to the official source tree? > I think what D1 is *really* missing is that 2 things: completeness and > tools support. Without that is really hard to take it seriously. > > I think the D team should be working more in that direction before > finishing D2. I know is very boring comparing it to making D2, but I think > that is what is transmitted from D maintainers: "D1 is boring, don't pay > attention to it, D2 is fun, let's play with that!". And this is what > happening. People are playing with D2 and forgetting to finish D1. It isn't about boring. It's about allocating our very limited resources for maximum effect. If I thought that contract inheritance was a showstopper for D1, it'd move way up on the priority list. But I have a hard time believing it is a showstopper, like array ops turned out to not be. Most of the work I do on dmd is bug fixes, and nearly all of those wind up in D1 as well. It's just not true that D1 is being overlooked or ignored, and the D1 changelog should amply illustrate that. http://www.digitalmars.com/d/1.0/changelog.html > The Tango vs. Phobos is still a *BIG* issue for D1. I think don't > addressing that is a huge error. It's only hurting D1 and preventing its > adoption. Doing a merge would be a very breaking change. D2's support for Tango is probably the biggest breaking change in moving D1 code to D2. > The result is 2 incomplete, unsupported (by mainstream tools) languages. |
May 09, 2009 Re: What's the current state of D? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | Walter Bright wrote: > grauzone wrote: >> But C++ programs still compile and run correctly with C++0x compilers. > > True enough, but that wasn't true for C++98, or C89. Nobody refused to use C or C++ because of that. At the time, C[++] users didn't feel like they exactly had a choice, did they? >> I bet none of the projects on dsource are even compilable with dmd2 (even if they were written for D2.0). > > Take any C++ project from 15 years ago and I bet it won't compile today, either. > >> And _many_ projects probably need minor fixes, before they compile with the latest dmd1 compiler. > > Nearly all of those are due to inadvertent reliance on bugs in D1. You see this quite a bit in the C++ world. Every time g++ gets updated, I have to tweak something in my sources. > > Every binary release of dmd is available for download. If you require an unchanging compiler, it's trivial to operate that way. dmd isn't going to auto-update itself and break your compiles. Now, that is something the random user doesn't expect. Right? And his boss definitely not. As part of our Public Front (as in "keeping up appearances", the TV-show), shouldn't we make it a point not to lose public awareness of such good things? (Meaning, it's not enough to have it mentioned in an obscure niche of a corner of a second-level reference to documentation.) __________________________________________________________ ** The following is way off-topic, so don't read it ** And it's written on a Saturday night, before the pub. Yesterday, I got into a discussion about the merits of Picasso, Dali, and a third [local] painter. One of us had read the book written by Picasso's last wife. Picasso lived a life like any sane man would [or should] dream of: Wife, lover, and random paintees. Heads of state and celebrities bowing to their knees before him, etc. One day his wife and his mistress together approached him, stating that this can't go on, it's intolerable. You have to choose or do something!!! Picasso looked at them, took a sip of his wine, a slow puff of his cigar, and then remarked "I'm fine." To their astounded faces, he continued "If the two of you have a problem, then go sort it out between yourselves." No wonder he had it in hand. And, IMHO, with the crappy paintings he did [at the top of his time], nobody modest, honest and humble would have got a living off of that stuff. ________________________________________________________ What's the relevance of this story to us?? Well, it is all about how you handle things like the public opinion and the attitudes of folks around you. Even if D were an amateur language with bribed articles on CUJ and DDJ, with the right attitude, you could get away with having the world believe this is the Holy Grail of languages. So, let's not do the opposite, please. Things we have (like every binary release [and I assume, an implicit promise of keeping it that way] downloadable forever), the source code to /both/ the front end and the back end distributed every time -- for both reading example usage, learning by looking at unittests, and for a deep understanding of both the compiler and the library code in detail, ... it's stuff like this we don't advertise enough. (( Of course, not to mention actual language highlights that are really smashing! But they're outside of this post.)) And the parts of D that are unique, we don't see them splashed all over the net either. It can and should be possible without the PR budget of Oracle, too. Anybody over 40 knows that Pascal was an excellent language for programmming classes. (Yes, it was even created for that purpose, originally.) But then, nobody at all knows that out of all "known" languages, D is (by FAR!!) the one a university /should/ choose as the introductory language. Hah, and even fewer can imagine that D is the language they should use in advanced classes! And, thus, virtually nobody knows that being blessed with having originally learned a language that has the strength to carry you all the way from intro to PhD, makes you seriously privileged. And with a robust and solid mother tongue like this, forages into C++, Java, Ruby, Haskell, Scheme, ASM, and the like, will seem like a breeze, and don't destroy or *undo* /the very foundations of/ your world as a programmer. |
May 09, 2009 Re: What's the current state of D? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Leandro Lucarella | Leandro Lucarella wrote: > > Another very *BIG* issue is lack of mainstream tools support. > > C++98 was finished before starting C++0x. A lot of effort was made to make mainstream tools to support C++. Most tools demangle C++ names (even when they aren't standard!). At least GDB should be able to do that, and Valgrind and GNU binutils, if you want people to be comfortable working with D. There are patches here and there but nothing works out of the box. A critical error that keeps being made.. in MOST compiled languages, the authors of the compilers are not the ones that are producing the eco-systems above them. Even for the VM based languages, the language/compiler/runtime authors rarely venture much above those. Eclipse isn't a sun invention, nor are any of the other development environments. Microsoft is about the only one that produces an large tool chain, but the groups that do the various parts are different. The compiler team doesn't produce (or in many cases even use) Visual Studio. Etc.. So, want the tool chain to mature.. go to work. Work with the GDB community to build and incorporate changes. The same with all the things you want to see changed or created. If there's things that need to change in what the compiler emits, Walter has shown himself to be willing to rapidly change them where the required changes are clearly described in terms of both 'what' and 'why'. In other words, "it's broken" isn't sufficient but "if the frobble was changed to frobnosticator for each wobble, it would work" results in the next release having that change made. > I think what D1 is *really* missing is that 2 things: completeness and tools support. Without that is really hard to take it seriously. > > I think the D team should be working more in that direction before finishing D2. I know is very boring comparing it to making D2, but I think that is what is transmitted from D maintainers: "D1 is boring, don't pay attention to it, D2 is fun, let's play with that!". And this is what happening. People are playing with D2 and forgetting to finish D1. If you've gotten the impression that "d1 is boring" is the message from whatever this "the d team" (team suggests many people, but there's really just a tiny few involved -- this isn't microsoft or sun with hundreds of worker ants) is, then you're impression is off. The message is "d1 is only receiving bug fixes -- and only those with the right balance of risk/reward". > The Tango vs. Phobos is still a *BIG* issue for D1. I think don't addressing that is a huge error. It's only hurting D1 and preventing its adoption. > > The result is 2 incomplete, unsupported (by mainstream tools) languages. This is, in my honest opinion, the most clearly debatable point. I happen to have originally been on the side of "we must do something for D1" but since then I've agreed that the effort is best spent moving forward than disrupting the current. --- All of the above is _my_ opinion, and everyone is entitled to their own. Later, Brad |
May 09, 2009 Re: What's the current state of D? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Georg Wrede | Georg Wrede Wrote:
> Things we have (like every binary release [and I assume, an implicit promise of keeping it that way] downloadable forever), the source code to /both/ the front end and the back end distributed every time -- for both reading example usage, learning by looking at unittests, and for a deep understanding of both the compiler and the library code in detail, ... it's stuff like this we don't advertise enough. (( Of course, not to mention actual language highlights that are really smashing! But they're outside of this post.))
>
> And the parts of D that are unique, we don't see them splashed all over the net either. It can and should be possible without the PR budget of Oracle, too.
>
> Anybody over 40 knows that Pascal was an excellent language for programmming classes. (Yes, it was even created for that purpose, originally.) But then, nobody at all knows that out of all "known" languages, D is (by FAR!!) the one a university /should/ choose as the introductory language. Hah, and even fewer can imagine that D is the language they should use in advanced classes! And, thus, virtually nobody knows that being blessed with having originally learned a language that has the strength to carry you all the way from intro to PhD, makes you seriously privileged. And with a robust and solid mother tongue like this, forages into C++, Java, Ruby, Haskell, Scheme, ASM, and the like, will seem like a breeze, and don't destroy or *undo* /the very foundations of/ your world as a programmer.
Yes! I may continue to bitch, but you are so right. D is extraordinarily cool! Poa sana as I could say in the domain of my current residency.
Somehow we have to advance the announcements and learn newsgroups so that they are primary, and change perceptions such that the "suggestions for the next version of D" newsgroup - currently the main newsgroup - is a specialist affair that most readers think they can safely ignore.
Walters logic is unchallengeable, but most of life isn't about logic, it's about perceptions.
D is great. How do we spread that particular perception?
|
Copyright © 1999-2021 by the D Language Foundation