View mode: basic / threaded / horizontal-split · Log in · Help
May 09, 2009
Re: What's the current state of D?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
1 2 3 4 5 6 7 8 9
Top | Discussion index | About this forum | D home