www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Quality of D

reply "Andreas Schmid" <monkey gmx.info> writes:
Hi,

I have not spent a long time programming in D and am still discovering all 
the wonderful features it has to offer - but I can already say with 
certainty it is by far the best programming language I have ever used.

It seems to me that Walter, after all the years of developing the C++ 
compiler, has gathered immense knowledge of useful features and expensive 
features that not only bloat the language itself but also add significantly 
to compilation time.

Writing a compiler is certainly one of the more demanding programming tasks, 
to say the least - I wonder: Would the quality of D have suffered if it was 
an open source project in which virtually everyone, no matter how much 
experience or what background, could participate?

I know that many programmers dislike garbage collection. I suspect that only 
true experts like Walter really know how expensive a garbage collector is in 
various situations, can correctly evaluate its usefulness and devise an 
efficient implementation - and am afraid that if D had been a 
community-project from the ground up, this wonderful feature would have been 
one of the first to be dropped due to popular demand.

I've followed the "F Word" thread in D.gnu and and have the feeling that 
maybe it's a good thing that Walter pulls the strings.

Like: "I'm giving you a garbage collector and many other extremely useful 
features against your will, and although you won't immediately realize it, 
it's good for you." ;-)

-Andreas
Apr 21 2005
next sibling parent jicman <jicman_member pathlink.com> writes:
Andreas,

I couldn't agree more.  Also, Walter does, from time to time, listen to us.  But
I like it that he does not listen to us all the time.  Otherwise, he would go
crazy.  Or as we, the hispanic community say, "loco."

Great job, Walter!

Thanks for the wonderful post, Andreas.  We don't see enough of these.

jos

Andreas Schmid says...
Hi,

I have not spent a long time programming in D and am still discovering all 
the wonderful features it has to offer - but I can already say with 
certainty it is by far the best programming language I have ever used.

It seems to me that Walter, after all the years of developing the C++ 
compiler, has gathered immense knowledge of useful features and expensive 
features that not only bloat the language itself but also add significantly 
to compilation time.

Writing a compiler is certainly one of the more demanding programming tasks, 
to say the least - I wonder: Would the quality of D have suffered if it was 
an open source project in which virtually everyone, no matter how much 
experience or what background, could participate?

I know that many programmers dislike garbage collection. I suspect that only 
true experts like Walter really know how expensive a garbage collector is in 
various situations, can correctly evaluate its usefulness and devise an 
efficient implementation - and am afraid that if D had been a 
community-project from the ground up, this wonderful feature would have been 
one of the first to be dropped due to popular demand.

I've followed the "F Word" thread in D.gnu and and have the feeling that 
maybe it's a good thing that Walter pulls the strings.

Like: "I'm giving you a garbage collector and many other extremely useful 
features against your will, and although you won't immediately realize it, 
it's good for you." ;-)

-Andreas

Apr 21 2005
prev sibling next sibling parent "Charlie" <charles jwavro.com> writes:
I'd have to agree here, Im glad Walter kept it closed source.  I think it
was also a great move to leave the front-end open for tool writers / other
compiler writers.  I think this will go along way for the development of the
language also :).

Hip Hip!
Charlie


"Andreas Schmid" <monkey gmx.info> wrote in message
news:d4997k$v07$1 digitaldaemon.com...
 Hi,

 I have not spent a long time programming in D and am still discovering all
 the wonderful features it has to offer - but I can already say with
 certainty it is by far the best programming language I have ever used.

 It seems to me that Walter, after all the years of developing the C++
 compiler, has gathered immense knowledge of useful features and expensive
 features that not only bloat the language itself but also add

 to compilation time.

 Writing a compiler is certainly one of the more demanding programming

 to say the least - I wonder: Would the quality of D have suffered if it

 an open source project in which virtually everyone, no matter how much
 experience or what background, could participate?

 I know that many programmers dislike garbage collection. I suspect that

 true experts like Walter really know how expensive a garbage collector is

 various situations, can correctly evaluate its usefulness and devise an
 efficient implementation - and am afraid that if D had been a
 community-project from the ground up, this wonderful feature would have

 one of the first to be dropped due to popular demand.

 I've followed the "F Word" thread in D.gnu and and have the feeling that
 maybe it's a good thing that Walter pulls the strings.

 Like: "I'm giving you a garbage collector and many other extremely useful
 features against your will, and although you won't immediately realize it,
 it's good for you." ;-)

 -Andreas

Apr 21 2005
prev sibling next sibling parent reply "Walter" <newshound digitalmars.com> writes:
"Andreas Schmid" <monkey gmx.info> wrote in message
news:d4997k$v07$1 digitaldaemon.com...
 I know that many programmers dislike garbage collection. I suspect that

 true experts like Walter really know how expensive a garbage collector is

 various situations, can correctly evaluate its usefulness and devise an
 efficient implementation - and am afraid that if D had been a
 community-project from the ground up, this wonderful feature would have

 one of the first to be dropped due to popular demand.

I, for a very long time, was convinced that garbage collectors were crutches for poor programmers, and that there's no way a gc app could beat a carefully written explicitly memory managed app. It's so obvious by inspection. It's the conventional wisdom (see the thread entitled "Why do you program in C++?" 4/18/2005 on comp.lang.c++.moderated). Then, when writing a Java compiler, I was forced into dealing with one. Imagine my disbelief when I discovered that gc programs are often *faster*, in addition to being quicker to write and less buggy. This effect is often why D outperforms C++, to the point where the proponents of the Conventional Wisdom have literally accused me of "sabotaging" C++. (Of course, gc isn't a panacea for all memory management problems, which is why D allows one to use explicit memory management where that makes sense.) An interesting discovery I made was that much of the numbing complexity in C++ comes from attempts to deal with managing memory.
Apr 21 2005
next sibling parent reply "Matthew" <admin stlsoft.dot.dot.dot.dot.org> writes:
"Walter" <newshound digitalmars.com> wrote in message 
news:d49ed9$13kn$1 digitaldaemon.com...
 "Andreas Schmid" <monkey gmx.info> wrote in message
 news:d4997k$v07$1 digitaldaemon.com...
 I know that many programmers dislike garbage collection. I 
 suspect that

 true experts like Walter really know how expensive a garbage 
 collector is

 various situations, can correctly evaluate its usefulness and 
 devise an
 efficient implementation - and am afraid that if D had been a
 community-project from the ground up, this wonderful feature 
 would have

 one of the first to be dropped due to popular demand.

I, for a very long time, was convinced that garbage collectors were crutches for poor programmers, and that there's no way a gc app could beat a carefully written explicitly memory managed app. It's so obvious by inspection. It's the conventional wisdom (see the thread entitled "Why do you program in C++?" 4/18/2005 on comp.lang.c++.moderated). Then, when writing a Java compiler, I was forced into dealing with one. Imagine my disbelief when I discovered that gc programs are often *faster*, in addition to being quicker to write and less buggy. This effect is often why D outperforms C++, to the point where the proponents of the Conventional Wisdom have literally accused me of "sabotaging" C++. (Of course, gc isn't a panacea for all memory management problems, which is why D allows one to use explicit memory management where that makes sense.) An interesting discovery I made was that much of the numbing complexity in C++ comes from attempts to deal with managing memory.

Yes, and, alas, this gets tied up in other GC-languages with other resources, which is so wrong-headed it makes your cheeks laugh. Thankfully we have auto in D, and therefore adroitly sidestep the debate completely. ;)
Apr 21 2005
parent "TechnoZeus" <TechnoZeus PeoplePC.com> writes:
Yes, it is so nice when more than one way of thinking is supported... as I was
just stating in another thread should be much more common than it is.  :)

TZ

"Matthew" <admin stlsoft.dot.dot.dot.dot.org> wrote in message
news:d49f4t$14ab$1 digitaldaemon.com...
 "Walter" <newshound digitalmars.com> wrote in message
 news:d49ed9$13kn$1 digitaldaemon.com...
 "Andreas Schmid" <monkey gmx.info> wrote in message
 news:d4997k$v07$1 digitaldaemon.com...
 I know that many programmers dislike garbage collection. I
 suspect that

 true experts like Walter really know how expensive a garbage
 collector is

 various situations, can correctly evaluate its usefulness and
 devise an
 efficient implementation - and am afraid that if D had been a
 community-project from the ground up, this wonderful feature
 would have

 one of the first to be dropped due to popular demand.

I, for a very long time, was convinced that garbage collectors were crutches for poor programmers, and that there's no way a gc app could beat a carefully written explicitly memory managed app. It's so obvious by inspection. It's the conventional wisdom (see the thread entitled "Why do you program in C++?" 4/18/2005 on comp.lang.c++.moderated). Then, when writing a Java compiler, I was forced into dealing with one. Imagine my disbelief when I discovered that gc programs are often *faster*, in addition to being quicker to write and less buggy. This effect is often why D outperforms C++, to the point where the proponents of the Conventional Wisdom have literally accused me of "sabotaging" C++. (Of course, gc isn't a panacea for all memory management problems, which is why D allows one to use explicit memory management where that makes sense.) An interesting discovery I made was that much of the numbing complexity in C++ comes from attempts to deal with managing memory.

Yes, and, alas, this gets tied up in other GC-languages with other resources, which is so wrong-headed it makes your cheeks laugh. Thankfully we have auto in D, and therefore adroitly sidestep the debate completely. ;)

Apr 22 2005
prev sibling parent "uframer" <uframer sina100.com.cn> writes:
I Vote for GC!
"Walter" <newshound digitalmars.com>
дϢ:d49ed9$13kn$1 digitaldaemon.com...
 "Andreas Schmid" <monkey gmx.info> wrote in message
 news:d4997k$v07$1 digitaldaemon.com...
 I know that many programmers dislike garbage collection. I suspect that

 true experts like Walter really know how expensive a garbage collector is

 various situations, can correctly evaluate its usefulness and devise an
 efficient implementation - and am afraid that if D had been a
 community-project from the ground up, this wonderful feature would have

 one of the first to be dropped due to popular demand.

I, for a very long time, was convinced that garbage collectors were crutches for poor programmers, and that there's no way a gc app could beat a carefully written explicitly memory managed app. It's so obvious by inspection. It's the conventional wisdom (see the thread entitled "Why do you program in C++?" 4/18/2005 on comp.lang.c++.moderated). Then, when writing a Java compiler, I was forced into dealing with one. Imagine my disbelief when I discovered that gc programs are often *faster*, in addition to being quicker to write and less buggy. This effect is often why D outperforms C++, to the point where the proponents of the Conventional Wisdom have literally accused me of "sabotaging" C++. (Of course, gc isn't a panacea for all memory management problems, which is why D allows one to use explicit memory management where that makes sense.) An interesting discovery I made was that much of the numbing complexity in C++ comes from attempts to deal with managing memory.

Apr 22 2005
prev sibling next sibling parent reply John Reimer <John_member pathlink.com> writes:
In article <d4997k$v07$1 digitaldaemon.com>, Andreas Schmid says...
Hi,

I have not spent a long time programming in D and am still discovering all 
the wonderful features it has to offer - but I can already say with 
certainty it is by far the best programming language I have ever used.

It seems to me that Walter, after all the years of developing the C++ 
compiler, has gathered immense knowledge of useful features and expensive 
features that not only bloat the language itself but also add significantly 
to compilation time.

Writing a compiler is certainly one of the more demanding programming tasks, 
to say the least - I wonder: Would the quality of D have suffered if it was 
an open source project in which virtually everyone, no matter how much 
experience or what background, could participate?

I know that many programmers dislike garbage collection. I suspect that only 
true experts like Walter really know how expensive a garbage collector is in 
various situations, can correctly evaluate its usefulness and devise an 
efficient implementation - and am afraid that if D had been a 
community-project from the ground up, this wonderful feature would have been 
one of the first to be dropped due to popular demand.

I've followed the "F Word" thread in D.gnu and and have the feeling that 
maybe it's a good thing that Walter pulls the strings.

Like: "I'm giving you a garbage collector and many other extremely useful 
features against your will, and although you won't immediately realize it, 
it's good for you." ;-)

-Andreas

1) It was never doubted that Walter should pull the strings. I agree he always should... 2) It was never suggested (to my knowledge) that the language should be open-sourced. This was not the object of the "F-word" discussions. For #1, it's a matter of degree (or interpretation of what "pulling the strings" really means). Many suggestions have been made to encourage faster improvements to D (bug fixes or language features critical to current projects), specifically shared work load and better management. For #2, "open-sourcing" has some pretty hefty connotations. Previous discussions really made no aspersion to such an idea. They emphasized better interaction/communication/feedback with/to Walter. There were hopes that if Walter surrounded himself with a semi-official committee of sorts, there would be better accountability and responsiveness. This is the current problem. The single man team called Walter doesn't or can't respond to suggestions from people struggling with langauage issues in important projects (especially as the size of the d community grows and the number of d projects increases -- overload!). And if he does respond, fixes don't occur fast enough to keep important projects rocketing forward. All the deligthtful suggestions recently proffered to solve this problem were indeed "good" as far as their intent goes. But I can't see the Big guy even coming close to gleaning this newsgroup's priority items with or without decorative tags, let alone responding to suggestions. Direct emails to him would be a better solution -- *shudder*. The bug-fixing marathon alone is enough to keep that guy busy for a long time. Take a look at dstress. Why am I beating at this again? Boy, Matthew was right, I am beginning to sound like a GOM. Oh no, it can't be happening yet! By the way, I'm just kinda grumpy, not so much where this topic is concerned anymore... and it has more to do with my not having my one and only laptop to console (oops! pun!) me. :-) (in for repairs *sigh*) - JJR
Apr 21 2005
next sibling parent reply Georg Wrede <georg.wrede nospam.org> writes:
John Reimer wrote:
 2) It was never suggested (to my knowledge) that the language should
 be open-sourced.  This was not the object of the "F-word"
 discussions.

Ouch, something hit my ankle! I have to elaborate on my Micro Forks talk. The Micro Forks were actually not demands to open source DMD. Instead, I was thinking of GDC packaged so that any beginner could start tinkering "out of the box".
Apr 21 2005
parent =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= <afb algonet.se> writes:
Georg Wrede wrote:

 2) It was never suggested (to my knowledge) that the language should
 be open-sourced.  This was not the object of the "F-word"
 discussions.

Ouch, something hit my ankle! I have to elaborate on my Micro Forks talk. The Micro Forks were actually not demands to open source DMD. Instead, I was thinking of GDC packaged so that any beginner could start tinkering "out of the box".

I don't understand this, Walter has "open-sourced" D long ago ? (at least the parsing/lexing/front-end and the standard library) That the back-end of DMD is not open source is understandable, and as far as I know most of it is being shared with DMD anyway (just as the GDC backend is being shared with GCC, I suppose ?) And since both DMC and DMD are free of charge, most don't care. The only thing that is missing now is the D specification itself, but as I understood it - that was mostly due to fear-of-forking before it had been finalized as "D (the programming language) 1.0" ? digitalmars.D/20694 Hopefully this means that it will eventually be an open standard... (no idea what's involved in getting something like ISO or EMCA) Meanwhile, my company is sponsoring work on the Mac version of GDC both based on "hope" and since it has already proven useful enough. It's all GPL. (will be on http://sourceforge.net/projects/gdcmac/) But currently the only documentation is on Digital Mars home page. --anders
Apr 22 2005
prev sibling parent reply Charles Hixson <charleshixsn earthlink.net> writes:
John Reimer wrote:
 ...
 2) It was never suggested (to my knowledge) that the language should be
 open-sourced.  This was not the object of the "F-word" discussions.
 
 ...
 For #2, "open-sourcing" has some pretty hefty connotations.  Previous
 discussions really made no aspersion to such an idea.  They emphasized better
 interaction/communication/feedback with/to Walter.  There were hopes that if
 Walter surrounded himself with a semi-official committee of sorts, there would
 be better accountability and responsiveness.  This is the current problem.  The
 single man team called Walter doesn't or can't respond to suggestions from
 people struggling with langauage issues in important projects (especially as
the
 size of the d community grows and the number of d projects increases --
 overload!).  And if he does respond, fixes don't occur fast enough to keep
 important projects rocketing forward.
 ...
 - JJR

FWIW, D has been open sourced (not just suggested). Ref: gdc. This doesn't reflect on Walter at all, but I'd be much less interested if there weren't an open source edition.
Apr 22 2005
parent John Reimer <John_member pathlink.com> writes:
In article <d4blvk$3e1$1 digitaldaemon.com>, Charles Hixson says...
John Reimer wrote:
 ...
 2) It was never suggested (to my knowledge) that the language should be
 open-sourced.  This was not the object of the "F-word" discussions.
 
 ...
 For #2, "open-sourcing" has some pretty hefty connotations.  Previous
 discussions really made no aspersion to such an idea.  They emphasized better
 interaction/communication/feedback with/to Walter.  There were hopes that if
 Walter surrounded himself with a semi-official committee of sorts, there would
 be better accountability and responsiveness.  This is the current problem.  The
 single man team called Walter doesn't or can't respond to suggestions from
 people struggling with langauage issues in important projects (especially as
the
 size of the d community grows and the number of d projects increases --
 overload!).  And if he does respond, fixes don't occur fast enough to keep
 important projects rocketing forward.
 ...
 - JJR

FWIW, D has been open sourced (not just suggested). Ref: gdc. This doesn't reflect on Walter at all, but I'd be much less interested if there weren't an open source edition.

My statement about open-source was indeed ambiguous, I apologize. I meant "open-sourcing" the /language/ as in "opening" the language /specification/ to free, unmoderated public modification. My point was to indicate that doing so was not the topic of discussion in previous posts (perhaps I interpreted wrong?). It was not my intention to refer to the actual software tools that implement the language specification (open source tools for D do indeed exist). Poor choice of words on my part, I fear. D definitely needs the rudder operator, and Walter is it. But the rudder operator needs a bunch more oars-men to move that boat.
Apr 22 2005
prev sibling next sibling parent reply "Matthew" <admin stlsoft.dot.dot.dot.dot.org> writes:
Well, despite carping a lot recently (and having a lot to carp 
about, to be sure), there is no doubt that D has *much* merit.

Lars and I are currently considering ways of enhancing std.openrj. 
One of the things I've wanted to do is read the comment for a record 
and represent it as a property of the Record object.

I've just coded and tested this, and it took me 10 - yes, that's 
ten, a one and a zero, minutes - to code and test. And more of that 
was spent changing the makefile than the D code.

How d'ya like them apples?!?

:-)


"Andreas Schmid" <monkey gmx.info> wrote in message 
news:d4997k$v07$1 digitaldaemon.com...
 Hi,

 I have not spent a long time programming in D and am still 
 discovering all the wonderful features it has to offer - but I can 
 already say with certainty it is by far the best programming 
 language I have ever used.

 It seems to me that Walter, after all the years of developing the 
 C++ compiler, has gathered immense knowledge of useful features 
 and expensive features that not only bloat the language itself but 
 also add significantly to compilation time.

 Writing a compiler is certainly one of the more demanding 
 programming tasks, to say the least - I wonder: Would the quality 
 of D have suffered if it was an open source project in which 
 virtually everyone, no matter how much experience or what 
 background, could participate?

 I know that many programmers dislike garbage collection. I suspect 
 that only true experts like Walter really know how expensive a 
 garbage collector is in various situations, can correctly evaluate 
 its usefulness and devise an efficient implementation - and am 
 afraid that if D had been a community-project from the ground up, 
 this wonderful feature would have been one of the first to be 
 dropped due to popular demand.

 I've followed the "F Word" thread in D.gnu and and have the 
 feeling that maybe it's a good thing that Walter pulls the 
 strings.

 Like: "I'm giving you a garbage collector and many other extremely 
 useful features against your will, and although you won't 
 immediately realize it, it's good for you." ;-)

 -Andreas



 

Apr 21 2005
parent Derek Parnell <derek psych.ward> writes:
On Fri, 22 Apr 2005 10:01:53 +1000, Matthew wrote:

[snip]
 And more of that was spent changing the makefile than the D code.

Have I mentioned my Build utility? ;-) -- Derek Parnell Melbourne, Australia http://www.dsource.org/projects/build/ v2.03 released 20/Apr/2005 http://www.prowiki.org/wiki4d/wiki.cgi?FrontPage 22/04/2005 11:05:44 AM
Apr 21 2005
prev sibling next sibling parent reply "Unknown W. Brackets" <unknown simplemachines.org> writes:
Personally, I think it's a good thing to have a single person or group 
thereof in control of a single project.  Indeed, that only makes sense. 
  It has obviously benefitted D, and no one can say that Walter isn't a 
very smart man who knows what he's doing (or, they couldn't say that and 
be right.)

However, I don't like the slant against open source here.  I think I 
know what you're saying, or hope I do, but it almost sounds like you're 
saying things about open source that aren't totally true.

A great example of an open source project is Mozilla Firefox.  Its 
development is led by a small group of people, and not a single piece of 
code goes into the tree without their approval.  They are, however, only 
a subset of the developers who work on Firefox; some of the larger 
group's changes are accepted, some are not.

Every patch must be checked by two separate people to go into the tree, 
in their system.

Personally, I think D would benefit from having not only more people, 
but much more importantly having peer review.  Peer review is perhaps 
the most important, or at least one of the most important, parts of open 
source.

Some projects choose to throw the project to the dogs, and let anyone do 
whatever they want.  To me, that sounds totally crazy.  It tends to 
create disorganized boats, and I don't believe any project would benefit 
from it.

I think D is a great project, and solves many of the problems of D 
without the problems other solutions have had.  But, it could use a bit 
more open source.  Then again, I'm an open source guy.

-[Unknown]


 It seems to me that Walter, after all the years of developing the C++ 
 compiler, has gathered immense knowledge of useful features and expensive 
 features that not only bloat the language itself but also add significantly 
 to compilation time.
 
 Writing a compiler is certainly one of the more demanding programming tasks, 
 to say the least - I wonder: Would the quality of D have suffered if it was 
 an open source project in which virtually everyone, no matter how much 
 experience or what background, could participate?

Apr 21 2005
parent reply Derek Parnell <derek psych.ward> writes:
On Thu, 21 Apr 2005 18:29:14 -0700, Unknown W. Brackets wrote:

 Personally, I think it's a good thing to have a single person or group 
 thereof in control of a single project.  Indeed, that only makes sense. 
   It has obviously benefitted D, and no one can say that Walter isn't a 
 very smart man who knows what he's doing (or, they couldn't say that and 
 be right.)

Totally agree. [snip]
 Personally, I think D would benefit from having not only more people, 
 but much more importantly having peer review.  Peer review is perhaps 
 the most important, or at least one of the most important, parts of open 
 source.

Absolutely! And not only on open source projects. All projects, including non-software ones, will always benefit from good peer reviewing. I too wish that Walter would accept some help. He still needs to have ultimate say about what goes into D, but there is no need for him to do all the leg-work. -- Derek Parnell Melbourne, Australia http://www.dsource.org/projects/build/ v2.03 released 20/Apr/2005 http://www.prowiki.org/wiki4d/wiki.cgi?FrontPage 22/04/2005 11:38:42 AM
Apr 21 2005
parent reply "Unknown W. Brackets" <unknown simplemachines.org> writes:
Agreed on both counts.  In my opinion, it's going to happen.  I see 
where D is going, and even if Walter doesn't want to lose any control at 
all, it's still going to have to happen.

It would take an external force to stop D, I think, and if it doesn't 
stop it's going to be too much for Walter.  Eventually, he will see that 
it has to change for D to grow, and I am pretty sure he won't hold it back.

It just means it might take a bit longer, is all.

As for peer review: good point.  I had applied it to things other than 
code before, but I'd never thought of it in quite that general a scope.

-[Unknown]


 I too wish that Walter would accept some help. He still needs to have
 ultimate say about what goes into D, but there is no need for him to do all
 the leg-work. 

Apr 21 2005
parent reply Derek Parnell <derek psych.ward> writes:
On Thu, 21 Apr 2005 21:23:13 -0700, Unknown W. Brackets wrote:

 As for peer review: good point.  I had applied it to things other than 
 code before, but I'd never thought of it in quite that general a scope.

We have used it on documentation, test cases, training materials, specifications, tenders, in-house work processes, project planning, management summaries, etc ... in fact everything that has a human-readable output produced by human effort. And I suspect that if we were in the building construction business, we'd apply it to blueprints, drawings, and actual buildings too. The results have been always positive. When I first introduced it to the company, I trained a small development team (6 people) in how to do it well, and their bug rate went down from 95% to 1% in three months. That's right, nearly every program they released to a client for user acceptance testing failed. And *just* by doing peer reviews, we got that down to one program in 100 which failed. After some more experience and training, the team began to teach other teams in the company. That built up a solid collection of reviewing checklists, better coding and development standards, and a *lot* of pride in their work. The overall company customer-fail rate went down to around 0.1% (1 in a 1000) inside of six months. Naturally enough, I didn't get a nice bonus for it either ;-) -- Derek Parnell Melbourne, Australia http://www.dsource.org/projects/build/ v2.03 released 20/Apr/2005 http://www.prowiki.org/wiki4d/wiki.cgi?FrontPage 22/04/2005 2:48:49 PM
Apr 21 2005
parent reply "Matthew" <admin stlsoft.dot.dot.dot.dot.org> writes:
Peer review is an amazingly powerful tool.

A nice effect is seen when one is explaining one's code to a peer. 
Just the very act of explaining something can lead one to seeing it 
from a different and/or fresh perspective, and consequently discover 
bugs.

"Derek Parnell" <derek psych.ward> wrote in message 
news:1ok0kbl844k03.nrcpe9oqyjqe.dlg 40tude.net...
 On Thu, 21 Apr 2005 21:23:13 -0700, Unknown W. Brackets wrote:

 As for peer review: good point.  I had applied it to things other 
 than
 code before, but I'd never thought of it in quite that general a 
 scope.

We have used it on documentation, test cases, training materials, specifications, tenders, in-house work processes, project planning, management summaries, etc ... in fact everything that has a human-readable output produced by human effort. And I suspect that if we were in the building construction business, we'd apply it to blueprints, drawings, and actual buildings too. The results have been always positive. When I first introduced it to the company, I trained a small development team (6 people) in how to do it well, and their bug rate went down from 95% to 1% in three months. That's right, nearly every program they released to a client for user acceptance testing failed. And *just* by doing peer reviews, we got that down to one program in 100 which failed. After some more experience and training, the team began to teach other teams in the company. That built up a solid collection of reviewing checklists, better coding and development standards, and a *lot* of pride in their work. The overall company customer-fail rate went down to around 0.1% (1 in a 1000) inside of six months. Naturally enough, I didn't get a nice bonus for it either ;-) -- Derek Parnell Melbourne, Australia http://www.dsource.org/projects/build/ v2.03 released 20/Apr/2005 http://www.prowiki.org/wiki4d/wiki.cgi?FrontPage 22/04/2005 2:48:49 PM

Apr 21 2005
next sibling parent reply Derek Parnell <derek psych.ward> writes:
On Fri, 22 Apr 2005 15:49:01 +1000, Matthew wrote:

 Peer review is an amazingly powerful tool.
 
 A nice effect is seen when one is explaining one's code to a peer. 
 Just the very act of explaining something can lead one to seeing it 
 from a different and/or fresh perspective, and consequently discover 
 bugs.
 

My 10-year-old daughter was writing a story for her homework. There was one paragraph that was just not coming out right. So I got her to explain to me what the paragraph was trying to say, as opposed to what it was actually saying. The act of her explaining it to me enabled her to discover the precise words that the paragraph needed. It only took a few minutes. -- Derek Melbourne, Australia 22/04/2005 4:32:33 PM
Apr 21 2005
parent =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= <afb algonet.se> writes:
Derek Parnell wrote:

 My 10-year-old daughter was writing a story for her homework. There was one
 paragraph that was just not coming out right. So I got her to explain to me
 what the paragraph was trying to say, as opposed to what it was actually
 saying. The act of her explaining it to me enabled her to discover the
 precise words that the paragraph needed. It only took a few minutes.

For those without daughters / dads, you can try other patient listeners: http://c2.com/cgi/wiki?RubberDucking --anders
Apr 22 2005
prev sibling parent reply "Unknown W. Brackets" <unknown simplemachines.org> writes:
I find this works remarkably well with comments as well, so long as you 
do them after the fact, but too many programmers have that three step 
"always out of date, always wrong, or always missing" opinion of them.

Really, any review (even self review) tends to find bugs, mistakes, or 
bottlenecks.  Explaining it - whether in speech, comments, or coding 
documentation - tends to help you reapply the concepts in a very 
enlightening manner.

This works, as Derek Parnell mentioned, on other things as well - even 
math, history, speech skills, and the like.  It all goes back to the 
well-accepted idea that you never really know something until you both 
can and have taught it to someone else.

-[Unknown]


 A nice effect is seen when one is explaining one's code to a peer. 
 Just the very act of explaining something can lead one to seeing it 
 from a different and/or fresh perspective, and consequently discover 
 bugs.

Apr 22 2005
parent reply "TechnoZeus" <TechnoZeus PeoplePC.com> writes:
Yep.  I've always felt that a person generally learns more by teaching than by
studying.  :)

TZ

"Unknown W. Brackets" <unknown simplemachines.org> wrote in message
news:d4a92l$1tqc$1 digitaldaemon.com...
*snip*
 This works, as Derek Parnell mentioned, on other things as well - even
 math, history, speech skills, and the like.  It all goes back to the
 well-accepted idea that you never really know something until you both
 can and have taught it to someone else.

 -[Unknown]

Apr 22 2005
parent reply =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= <afb algonet.se> writes:
TechnoZeus wrote:

 This works, as Derek Parnell mentioned, on other things as well -
 even math, history, speech skills, and the like.  It all goes back
 to the well-accepted idea that you never really know something
 until you both can and have taught it to someone else.

Yep. I've always felt that a person generally learns more by teaching than by studying. :)

Funny, I read that as *earns* more - and agreed to that too ;-) --anders
Apr 22 2005
parent "TechnoZeus" <TechnoZeus PeoplePC.com> writes:
"Anders F Bjrklund" <afb algonet.se> wrote in message
news:d4ags7$241b$2 digitaldaemon.com...
 TechnoZeus wrote:

 This works, as Derek Parnell mentioned, on other things as well -
 even math, history, speech skills, and the like.  It all goes back
 to the well-accepted idea that you never really know something
 until you both can and have taught it to someone else.

Yep. I've always felt that a person generally learns more by teaching than by studying. :)

Funny, I read that as *earns* more - and agreed to that too ;-) --anders

Hehe. Cute. :) TZ
Apr 23 2005
prev sibling parent Matthias Becker <Matthias_member pathlink.com> writes:
I know that many programmers dislike garbage collection. I suspect that only 
true experts like Walter really know how expensive a garbage collector is in 
various situations, can correctly evaluate its usefulness and devise an 
efficient implementation - and am afraid that if D had been a 
community-project from the ground up, this wonderful feature would have been 
one of the first to be dropped due to popular demand.

I don't think so. GCs have been there since LISP wich is one of the oldest programming languages. Most polular languages have a GC. I don't know any functional languages without a GC and most OO languages have a GC, too. Only pure proceduaral languages come without a GC, because there isn't much use for it. But D isn't a pure procedural language, so it's obvious that D should have a GC, IMHO.
Apr 22 2005