is it possible to learn D(2)?

Jeff Nowakowski jeff at dilacero.org
Sun Dec 19 19:19:28 PST 2010


On 12/19/2010 01:44 AM, Andrei Alexandrescu wrote:
>
> I don't think it's worth investigating this, but at any rate my
> thinking has been that finalizing TDPL would finalize the
> specification of D2. Of course, ideally the compiler would follow
> the specification as closely as possible, but with the number of
> extant issues it has always been pretty clear that conformance will
> be trailing.

Always? It became clear at some point, but did you really not expect all 
the features to be fully implemented when you started the book?

How about this statement from you:

May 15, 2009: Re: Please Vote: Exercises in TDPL?

"One nice thing is I've written (in D!) a little script that extracts 
the code from all of my examples, compiles it, and runs it comparing the 
output with the expected output. The book will definitely have a number 
of faults, but code that doesn't work will not be one of them. [..] 
There's still stuff that doesn't compile (Walter is working on that)"

> The book hasn't been released quietly at all; I've sent numerous
> updates to this group (just search for TDPL in the title) and my
> website has made the event as prominent as it could.

I agree and retract my statement: the release wasn't quiet. What
stuck out in my mind was that there was talk of an imminent release, and
then weeks went by before somebody reported receiving the book. I guess 
that's just lag time in the publication process.

> Well I didn't give away "a lot" of books, I gave three, and
> specifically for the three most embarrassing questions.

It was 6. You mentioned the number at the very beginning of your talk. 
It is nice that you prodded for embarrassing questions.

> Another thing would be that I tend to focus on language power,
> because that's perennial, and consider implementation bugs something
> transitory.

People who hear a talk about something and want to try it out will very
much care about implementation bugs. You should warn them in advance,
especially for major bugs and unimplemented features.

> As of today I can't offhand think of a feature in TDPL that we don't
> know how to implement in D, and that topic is important.

Problems with theoretical designs are often found after implementation 
and usage. It's certainly been the case with D and immutability + 
concurrency. I sure hope you give an honest review at the next D talk. 
This is what you said about a Go programming talk on this newsgroup:

   "I'm surprised you found the talk compelling, as I'm sure you know 
better. The talk uses a common technique - cherry-picking examples and 
avoiding to discuss costs and tradeoffs - to make the language look good."

Maybe you can talk about all the problems that have been exposed with 
D's model of immutability. I think these statements from you would be a 
good starting point:

Aug 16, 2010: Re: The Status of Const

   "Const and immutable will be used less often than in C++. This might 
seem a weakness to those coming from C++ where const can and should be 
sprinkled often, but it is a natural consequence of the relative 
restrictions imposed by const in C++ vs. D. D's const is more 
restrictive, and as such will find its way in fewer idioms than C++'s."

Sep 17, 2010: Re: QtD is suspended

   "But by and large I think the matter could gave have be settled in a 
different manner: by not catering for const in the first release. D has 
a lot to offer besides const, and its const subsystem is a good bit more 
restrictive than e.g. C++'s, mainly to help with concurrency."


More information about the Digitalmars-d mailing list