Re: is it possible to learn D(2)?

2010-12-20 Thread Walter Bright

Andrei Alexandrescu wrote:
The main issue is perceived value. Books are not T-shirts as significant 
time would have to be spent on reading them. Say I had 40 people in the 
audience and 40 books. Then it would have been like passing around 
marketing samples of no perceived value.


Right. If you passed them out to all comers, they'd share the fate of all such 
premiums. A third would be left on the floor, a third in the trash bins on the 
way out, a third taken home and forgotten about, and none read.


Re: is it possible to learn D(2)?

2010-12-20 Thread Jeff Nowakowski

On 12/20/2010 02:48 AM, Andrei Alexandrescu wrote:


Yes, how about it? Is this a murder investigation? I have a hard time
figuring out what is the ultimate purpose of spelunking my past
statements to look for inconsistencies.


Hypocrisy is a pet peeve of mine. How about discussing the gory problems 
with const, and discussing the true state of the language at the next D 
talk? If you're going to bash Go presentations for cherry-picking, you 
should hold yourself to the same standards.


As for why I did the research, if people are going to deny statements I 
made, then I'm going to back them up with facts. I did rescind one 
erroneous statement of mine.


My original post was in response to a thread about somebody looking to 
jump into D2, and somebody who responded asking why D1 was even being 
worked on. I'd say my post was on topic.


Re: is it possible to learn D(2)?

2010-12-20 Thread Andrei Alexandrescu

On 12/20/10 6:02 AM, Jeff Nowakowski wrote:

On 12/20/2010 02:48 AM, Andrei Alexandrescu wrote:


Yes, how about it? Is this a murder investigation? I have a hard time
figuring out what is the ultimate purpose of spelunking my past
statements to look for inconsistencies.


Hypocrisy is a pet peeve of mine. How about discussing the gory problems
with const, and discussing the true state of the language at the next D
talk? If you're going to bash Go presentations for cherry-picking, you
should hold yourself to the same standards.


I understand. The issue is comparing apples with apples. Every language 
has implementation bugs and shortcomings. I'd be glad to discuss them if 
the gist of the talk were the state of implementation, or if asked 
during any of my talks on D.


What I didn't find becoming about the aforementioned talk on Go was that 
it presented only the good consequences of some PL design choices that 
come with tradeoffs having pluses and minuses in almost equal supplies. 
Taking that stand to its logical conclusion would lead one to believe 
that Go figured out some point that all other languages missed, which in 
my humble opinion is not the case. (BTW I believe that D _did_ figure 
out some points, and did make decisions with mostly positive 
consequences, that all other languages missed, such as the scope statement.)



As for why I did the research, if people are going to deny statements I
made, then I'm going to back them up with facts. I did rescind one
erroneous statement of mine.


Will the jury please disregard the erroneous statement.


My original post was in response to a thread about somebody looking to
jump into D2, and somebody who responded asking why D1 was even being
worked on. I'd say my post was on topic.


I agree.


Andrei


Re: is it possible to learn D(2)?

2010-12-20 Thread Gour
On Mon, 20 Dec 2010 07:02:51 -0500
 Jeff == Jeff Nowakowski j...@dilacero.org wrote:

Hi Jeff,

Jeff Hypocrisy is a pet peeve of mine. How about discussing the gory
Jeff problems with const, and discussing the true state of the
Jeff language at the next D talk? If you're going to bash Go
Jeff presentations for cherry-picking, you should hold yourself to the
Jeff same standards.

Please don't take it personal...I'm just taking 'advantage' of your
post to suggest to all the posters one thing: Please be a little bit
more positive towards Walter and Andrei. They are not Supermans but
sincerely trying to give some good to us and it's practically free.

Long ago, I bought and used Walter's Zortech C++ compiler which was
superb. Then I left programming waters and returned back some years
ago. I didn't want to go to C(++) which evolved into huge beast and
skipped all the scripting languages trying my fortune with Haskell.

However, after some time I've decided that I want something more
pragmatic...read a bit about D, saw Andrei's Google presentation (I
liked his enthusiasm), bought the TDPL book (and put it in hardcover
to last longer) and now I'm slowly learning the language hoping to use
it in a real-world along with QtD.

Yes, I'm not blind and can see that some mistakes were probably done
within D community...D is certainly not perfect language (this title
is already reserved for Sanskrit :-) ), but if you can tell me about
better language to be used for practical daily programming having
feature set or covering different programming paradigms - here I
am. ;)

I did my homework and nothing is similar to D, so please make this
newsgroup more pleasant place by uttering some nice words about Walter
 Bright. I sincerely believe they're humans who like to get some
encouragement as well instead of constant downpour of (very often)
unjustified criticism.

If anyone can do better, pls. step in and show the
example...otherwise, let's us show some gratitude towards people
trying to make programming more fun.


Sincerely,
Gour

-- 

Gour  | Hlapicina, Croatia  | GPG key: CDBF17CA



signature.asc
Description: PGP signature


Re: is it possible to learn D(2)?

2010-12-20 Thread Walter Bright

Caligo wrote:

If there is going to be a D3, will it be backwards compatible with D2?


D3 plans are a complete unknown at the moment.

And why is work still being done on the D1 compiler?  Shouldn't it be 
marked deprecated so people stop using it and move to D2?


Since there are many breaking changes from D1 to D2, and a lot of people have 
large code bases in D1, it makes sense to support them with bug fixes. However, 
no new features are added to D1.


Re: is it possible to learn D(2)?

2010-12-20 Thread Jean Crystof
Walter Bright Wrote:

 Caligo wrote:
  If there is going to be a D3, will it be backwards compatible with D2?
 
 D3 plans are a complete unknown at the moment.

So, what's the main reason D3 plans are unknown? Have you got a list of 
realistic new features? Is it lack of manpower? Too early to release anything 
new now that D2 isn't in serious production use yet?


Re: is it possible to learn D(2)?

2010-12-20 Thread Walter Bright

Jean Crystof wrote:

So, what's the main reason D3 plans are unknown? Have you got a list of
realistic new features? Is it lack of manpower? Too early to release anything
new now that D2 isn't in serious production use yet?


D2 first.


Re: is it possible to learn D(2)?

2010-12-19 Thread lurker
Andrei Alexandrescu Wrote:

 On 12/18/10 3:44 PM, Jeff Nowakowski wrote:
  On 12/18/2010 03:16 PM, Don wrote:
  Jeff Nowakowski wrote:
  D2 has *never* been officially released (like D1 was), though its
  release was supposed to coincide with the release of Andrei's book.
 
  Where did you get that idea? I've never heard it before.
  (Genuine question, I'd like to know where that impression came from).
 
  Which idea are you questioning? That D2 hasn't been released, or that
  the two were supposed to come out together? The answer to both would be
  the newsgroup.
 
  There was plenty of talk about them coming out together, and then time
  went by, and Andrei's book was relatively quietly released (unless I
  missed some big announcement; my memory was of posts trickling in of
  people who had pre-ordered), and no mention was made of D2 being
  released any more along with the book.
 
  I can dig up posts if you like, but I'd rather not unless any of this is
  in dispute.
 
 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.
 
 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. As it was clearly highly 
 anticipated in this group, laying it any thicker would have been 
 inappropriate.
 
  Walter and Andrei haven't been very honest in their presentations on
  the state of the language.
 
  I think the initial estimate of how long things would take was wildly
  optimistic. I am certain that there's been no intention to be dishonest,
  at any stage.
 
  Andrei gives other people a lot of shit over only showing the positive
  in their presentations. Both Andrei and Walter have misrepresented the
  open source compiler issues on their slides (and Walter had no excuse
  after Andrei was called for it on the newsgroup).
 
  I saw Andrei's Google presentation and he talked a lot about D2 features
  and gave away a lot of books, but never once said that D2 was still
  being implemented and that serious bugs remained.
 
 A fair point. Well I didn't give away a lot of books, I gave three, 
 and specifically for the three most embarrassing questions. (My budget 
 of giveaway books is fairly limited.)

Does this mean that Facebook is not paying you that well, after all? I could 
donate like $82 to you to give away three more books. No need to mention my 
name, after all I'm just helping the poor.


Re: is it possible to learn D(2)?

2010-12-19 Thread Andrej Mitrovic
On 12/19/10, lurker l...@lurk.net wrote:
 Does this mean that Facebook is not paying you that well, after all? I could
 donate like $82 to you to give away three more books. No need to mention my
 name, after all I'm just helping the poor.


I'm pretty sure it means he got a couple of free books from the
publisher to give away for free. ;)


Re: is it possible to learn D(2)?

2010-12-19 Thread Andrei Alexandrescu

On 12/19/10 9:57 AM, Andrej Mitrovic wrote:

On 12/19/10, lurkerl...@lurk.net  wrote:

Does this mean that Facebook is not paying you that well, after all? I could
donate like $82 to you to give away three more books. No need to mention my
name, after all I'm just helping the poor.



I'm pretty sure it means he got a couple of free books from the
publisher to give away for free. ;)


The main issue is perceived value. Books are not T-shirts as significant 
time would have to be spent on reading them. Say I had 40 people in the 
audience and 40 books. Then it would have been like passing around 
marketing samples of no perceived value.



Andrei


Re: is it possible to learn D(2)?

2010-12-19 Thread Caligo
On Sun, Dec 19, 2010 at 10:16 AM, Andrei Alexandrescu 
seewebsiteforem...@erdani.org wrote:

 On 12/19/10 9:57 AM, Andrej Mitrovic wrote:

 On 12/19/10, lurkerl...@lurk.net  wrote:

 Does this mean that Facebook is not paying you that well, after all? I
 could

 donate like $82 to you to give away three more books. No need to mention
 my
 name, after all I'm just helping the poor.


 I'm pretty sure it means he got a couple of free books from the
 publisher to give away for free. ;)


 The main issue is perceived value. Books are not T-shirts as significant
 time would have to be spent on reading them. Say I had 40 people in the
 audience and 40 books. Then it would have been like passing around marketing
 samples of no perceived value.


 Andrei


That's almost like saying all documentations, books, and reference materials
licensed under GNU FDL are worthless because you don't have to pay for
them.  There are actually people who think that about FOSS; eh, if it was
worth anything they wouldn't let you download the source code for free.

I actually think your book would have been worth more if you had released it
under GNU FDL or a similar license.


Re: is it possible to learn D(2)?

2010-12-19 Thread Andrei Alexandrescu

On 12/19/10 11:00 AM, Caligo wrote:



On Sun, Dec 19, 2010 at 10:16 AM, Andrei Alexandrescu
seewebsiteforem...@erdani.org mailto:seewebsiteforem...@erdani.org
wrote:

On 12/19/10 9:57 AM, Andrej Mitrovic wrote:

On 12/19/10, lurkerl...@lurk.net mailto:l...@lurk.net  wrote:

Does this mean that Facebook is not paying you that well,
after all? I could

donate like $82 to you to give away three more books. No
need to mention my
name, after all I'm just helping the poor.


I'm pretty sure it means he got a couple of free books from the
publisher to give away for free. ;)


The main issue is perceived value. Books are not T-shirts as
significant time would have to be spent on reading them. Say I had
40 people in the audience and 40 books. Then it would have been like
passing around marketing samples of no perceived value.


Andrei


That's almost like saying all documentations, books, and reference
materials licensed under GNU FDL are worthless because you don't have to
pay for them.  There are actually people who think that about FOSS; eh,
if it was worth anything they wouldn't let you download the source code
for free.


That's a completely different matter, but I won't insist as I'm sure you 
understand the extent to which you're forcing the comparison.



I actually think your book would have been worth more if you had
released it under GNU FDL or a similar license.


I do a lot of work for free anyway so making money was not the first 
motivation. The thing is, however, that printed books still carry more 
authority than online ones, even though clearly there are many online 
books that compare favorably with the average printed book. Having a 
major publisher decide to take risks and invest money in producing at 
professional quality and marketing a book on a up-and-coming language is 
a clear signal that they believe in the success of the book and 
consequently that of the language.



Andrei


Re: is it possible to learn D(2)?

2010-12-19 Thread Gour
On Sun, 19 Dec 2010 11:14:08 -0600
 Andrei == Andrei Alexandrescu wrote:

Andrei The thing is, however, that printed books still carry more
Andrei authority than online ones, even though clearly there are many
Andrei online books that compare favorably with the average printed
Andrei book.

I agree...For instance I bought Real World Haskell although it's
available online for free. The only gripe I have about it is that it
probably came too late for me. (I tried to learn Haskell before that.)

Otoh, TDPL has come on time, I like it and, similarly, would buy it
even if there would be free version online.

Now, I'm happy being assured that D(2) can be learnt using TDPL. :-)

Thanks to all for replies. ;)


Sincerely,
Gour

-- 

Gour  | Hlapicina, Croatia  | GPG key: CDBF17CA



signature.asc
Description: PGP signature


Re: is it possible to learn D(2)?

2010-12-19 Thread Andrej Mitrovic
On 12/19/10, Gour g...@atmarama.net wrote:

 Now, I'm happy being assured that D(2) can be learnt using TDPL. :-)

And if you get stuck with something don't hesitate asking about it in d-learn!


Re: is it possible to learn D(2)?

2010-12-19 Thread Gour
On Sun, 19 Dec 2010 19:35:52 +0100
 Andrej == Andrej Mitrovic andrej.mitrov...@gmail.com wrote:
Andrej 
Andrej And if you get stuck with something don't hesitate asking about

Sure. Thanks.

btw, it would be nice to have code examples from TDPL to save some
typing.


Sincerely,
Gour

-- 

Gour  | Hlapicina, Croatia  | GPG key: CDBF17CA



signature.asc
Description: PGP signature


Re: is it possible to learn D(2)?

2010-12-19 Thread Nick Sabalausky
Andrei Alexandrescu seewebsiteforem...@erdani.org wrote in message 
news:ielekh$1qg...@digitalmars.com...

 Having a major publisher decide to take risks and invest money in 
 producing at professional quality and marketing a book on a up-and-coming 
 language is a clear signal that they believe in the success of the book 
 and consequently that of the language.


FWIW, if I'm trying to discern the quality or worth of a language, I 
wouldn't really consider a book publisher to be an authority on that any 
more than, say, a dentist. (Well, ok, maybe more than a dentist, but you get 
what I mean.)




Re: is it possible to learn D(2)?

2010-12-19 Thread Jeff Nowakowski

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.


Re: is it possible to learn D(2)?

2010-12-19 Thread Andrei Alexandrescu

On 12/19/10 1:20 PM, Nick Sabalausky wrote:

Andrei Alexandrescuseewebsiteforem...@erdani.org  wrote in message
news:ielekh$1qg...@digitalmars.com...


Having a major publisher decide to take risks and invest money in
producing at professional quality and marketing a book on a up-and-coming
language is a clear signal that they believe in the success of the book
and consequently that of the language.



FWIW, if I'm trying to discern the quality or worth of a language, I
wouldn't really consider a book publisher to be an authority on that any
more than, say, a dentist. (Well, ok, maybe more than a dentist, but you get
what I mean.)


The comparison does not fit. This is about making a business decision on 
whether to invest a large fixed cost into a book.


Andrei



Re: is it possible to learn D(2)?

2010-12-19 Thread Andrei Alexandrescu

On 12/19/10 9:19 PM, Jeff Nowakowski wrote:

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)


Yes, how about it? Is this a murder investigation? I have a hard time 
figuring out what is the ultimate purpose of spelunking my past 
statements to look for inconsistencies.


Andrei


is it possible to learn D(2)?

2010-12-18 Thread Gour
Hello,

Seeing all the threads here about improving D(2) syntax for different
features of the language, I just wonder if it's possible to learn D(2)
language which is so much in flux by using TDPL as reference?

Now I may have some time to learn D(2), but wonder when will the
language become more stable or the proposals/improvements discussed
here (I skip over majority of such threads) are not major changes?


Sincerely,
Gour

-- 

Gour  | Hlapicina, Croatia  | GPG key: CDBF17CA



signature.asc
Description: PGP signature


Re: is it possible to learn D(2)?

2010-12-18 Thread Jonathan M Davis
On Saturday 18 December 2010 01:14:19 Gour wrote:
 Hello,
 
 Seeing all the threads here about improving D(2) syntax for different
 features of the language, I just wonder if it's possible to learn D(2)
 language which is so much in flux by using TDPL as reference?
 
 Now I may have some time to learn D(2), but wonder when will the
 language become more stable or the proposals/improvements discussed
 here (I skip over majority of such threads) are not major changes?

TDPL is mostly correct. There are a few features that it discusses that either 
quite buggy or outright unimplemented (e.g. neither inout and alias this is 
completely implemented and some of what is implemented is rather buggy). There 
are also some features which may change. However, at this point, stuff is only 
going to change with a really good reason, and most of such changes are likely 
to be additive and wouldn't break much - if anything. For instance, weak purity 
is essentially an additive change. It makes it so that more functions can be 
marked as pure, but it doesn't make more functions optimizable due to purity, 
and it doesn't break any code.

Prior to the release of TDPL, there were at times major changes between 
releases 
of dmd which broke a lot of code. That doesn't really happen anymore.

For the most part, if you follow TDPL, you will be fine. Some stuff in TDPL 
won't 
work yet in practice, and it is possible that a few changes will be made to the 
language at some point which break current code and/or contradict TDPL. But no 
such changes have yet been made, I don't believe, and there are none which have 
been decided upon. None will be made without a definite, compelling reason, 
precisely because TDPL is supposed to be valid. D2 is not entirely stable, but 
it the spec is no longer in constant flux either.

Some changes likely will happen, but only as necessary, and they're going to be 
rare. And as time passes, they will become even rarer.

Some folks will continue to discuss possible features for D which will never 
make it into D2. If there is ever a D3, they may be included then, but stuff 
like 
non-nullable references is not going to make it into the language in D2 (though 
there may be a library solution for it).

Now, Phobos is certainly in flux. Parts of it are quite stable and won't be 
changing particularly, but there's plenty of it which will continue to evolve, 
and there will certainly be more stuff being added. Phobos is still very much a 
work in progress.

Really, the biggest obstacle to D development at this point is likely simply 
bugs - be they in the compiler or in Phobos. The situation continues to 
improve, 
but there are bugs which pop up from time to time which can cause major 
headaches (like inout being totally broken at the moment). The language spec is 
essentially stable, but not necessarily set in stone. In almost all cases, you 
can rely on TDPL being correct. So, I wouldn't worry too much about that. 
Compiler bugs are far more likely to trip you up than any language changes. If 
and when they happen, they'll probably remove certain types of problems rather 
than causing much in the way of new ones anyway.

- Jonathan M Davis


Re: is it possible to learn D(2)?

2010-12-18 Thread Lutger Blijdestijn
Gour wrote:

 Hello,
 
 Seeing all the threads here about improving D(2) syntax for different
 features of the language, I just wonder if it's possible to learn D(2)
 language which is so much in flux by using TDPL as reference?
 
 Now I may have some time to learn D(2), but wonder when will the
 language become more stable or the proposals/improvements discussed
 here (I skip over majority of such threads) are not major changes?
 
 
 Sincerely,
 Gour
 

Yes, it's not so much in flux as it seems. Like Jonathan says, it's more 
that some parts of phobos are unstable and certain bugs can stand in the 
way. Breaking changes to the language itself are very rare / unlikely now. I 
can't remember when such a thing broke my code whereas it used to happen 
every month. You can browse the changelog*, which lists new features for 
every release, to get a picture of the evolution.

But also consider that most of the issues talked about are the more 
'advanced' parts of the language. The bread and butter features haven't been 
changed that much for a long time now and are pretty solid.

* http://www.digitalmars.com/d/2.0/changelog.html


Re: is it possible to learn D(2)?

2010-12-18 Thread Caligo
If there is going to be a D3, will it be backwards compatible with D2?

And why is work still being done on the D1 compiler?  Shouldn't it be marked
deprecated so people stop using it and move to D2?

Also, do you know if there are any plans to standardize the language?  Is
the specification complete?


On Sat, Dec 18, 2010 at 3:36 AM, Jonathan M Davis jmdavisp...@gmx.comwrote:

 On Saturday 18 December 2010 01:14:19 Gour wrote:
  Hello,
 
  Seeing all the threads here about improving D(2) syntax for different
  features of the language, I just wonder if it's possible to learn D(2)
  language which is so much in flux by using TDPL as reference?
 
  Now I may have some time to learn D(2), but wonder when will the
  language become more stable or the proposals/improvements discussed
  here (I skip over majority of such threads) are not major changes?

 TDPL is mostly correct. There are a few features that it discusses that
 either
 quite buggy or outright unimplemented (e.g. neither inout and alias this is
 completely implemented and some of what is implemented is rather buggy).
 There
 are also some features which may change. However, at this point, stuff is
 only
 going to change with a really good reason, and most of such changes are
 likely
 to be additive and wouldn't break much - if anything. For instance, weak
 purity
 is essentially an additive change. It makes it so that more functions can
 be
 marked as pure, but it doesn't make more functions optimizable due to
 purity,
 and it doesn't break any code.

 Prior to the release of TDPL, there were at times major changes between
 releases
 of dmd which broke a lot of code. That doesn't really happen anymore.

 For the most part, if you follow TDPL, you will be fine. Some stuff in TDPL
 won't
 work yet in practice, and it is possible that a few changes will be made to
 the
 language at some point which break current code and/or contradict TDPL. But
 no
 such changes have yet been made, I don't believe, and there are none which
 have
 been decided upon. None will be made without a definite, compelling reason,
 precisely because TDPL is supposed to be valid. D2 is not entirely stable,
 but
 it the spec is no longer in constant flux either.

 Some changes likely will happen, but only as necessary, and they're going
 to be
 rare. And as time passes, they will become even rarer.

 Some folks will continue to discuss possible features for D which will
 never
 make it into D2. If there is ever a D3, they may be included then, but
 stuff like
 non-nullable references is not going to make it into the language in D2
 (though
 there may be a library solution for it).

 Now, Phobos is certainly in flux. Parts of it are quite stable and won't be
 changing particularly, but there's plenty of it which will continue to
 evolve,
 and there will certainly be more stuff being added. Phobos is still very
 much a
 work in progress.

 Really, the biggest obstacle to D development at this point is likely
 simply
 bugs - be they in the compiler or in Phobos. The situation continues to
 improve,
 but there are bugs which pop up from time to time which can cause major
 headaches (like inout being totally broken at the moment). The language
 spec is
 essentially stable, but not necessarily set in stone. In almost all cases,
 you
 can rely on TDPL being correct. So, I wouldn't worry too much about that.
 Compiler bugs are far more likely to trip you up than any language changes.
 If
 and when they happen, they'll probably remove certain types of problems
 rather
 than causing much in the way of new ones anyway.

 - Jonathan M Davis



Re: is it possible to learn D(2)?

2010-12-18 Thread Jeff Nowakowski

On 12/18/2010 07:55 AM, Caligo wrote:

If there is going to be a D3, will it be backwards compatible with D2?

And why is work still being done on the D1 compiler?  Shouldn't it be marked
deprecated so people stop using it and move to D2?


D1 is stable and only bug fixes are being applied to it. For D2, the 
post you replied to mentioned compiler bugs several times, and also 
mentioned unimplemented features.


D2 has *never* been officially released (like D1 was), though its 
release was supposed to coincide with the release of Andrei's book. The 
date kept on getting pushed further and further back, until finally the 
book came out (publishers only have so much patience), and no mention of 
D being released was made.


Walter and Andrei haven't been very honest in their presentations on the 
state of the language. I know a software project is never finished, in 
that you can't expect perfection, but D2 is still in the alpha state. 
It's not reasonable for features documented in the definitive book on 
the language to not work. Also, the crown jewel of D2 was supposed to be 
immutability and concurrency, and those are the buggiest parts.


Re: is it possible to learn D(2)?

2010-12-18 Thread bearophile
Caligo:

 If there is going to be a D3, will it be backwards compatible with D2?

This is the desire (but some details may be not fully backward compatible).


 And why is work still being done on the D1 compiler?

Bug fixes, mostly.


 Also, do you know if there are any plans to standardize the language?
 Is the specification complete?

The specification is not complete yet. Several more years will need to pass 
(probably 3 or 5) before standardization is able to start strongly with hope to 
be complete too.

Bye,
bearophile


Re: is it possible to learn D(2)?

2010-12-18 Thread Don

Jeff Nowakowski wrote:

On 12/18/2010 07:55 AM, Caligo wrote:

If there is going to be a D3, will it be backwards compatible with D2?

And why is work still being done on the D1 compiler?  Shouldn't it be 
marked

deprecated so people stop using it and move to D2?


D1 is stable and only bug fixes are being applied to it. For D2, the 
post you replied to mentioned compiler bugs several times, and also 
mentioned unimplemented features.


D2 has *never* been officially released (like D1 was), though its 
release was supposed to coincide with the release of Andrei's book.


Where did you get that idea? I've never heard it before.
(Genuine question, I'd like to know where that impression came from).

 The date kept on getting pushed further and further back, until 
finally the
book came out (publishers only have so much patience), and no mention of 
D being released was made.


Walter and Andrei haven't been very honest in their presentations on the 
state of the language. 


I think the initial estimate of how long things would take was wildly 
optimistic. I am certain that there's been no intention to be dishonest, 
at any stage.


 I know a software project is never finished, in
that you can't expect perfection, but D2 is still in the alpha state. 
It's not reasonable for features documented in the definitive book on 
the language to not work. 


Agreed. Unfortunately, the publishers couldn't be delayed any further. 
There are a few things in the book which still don't work, and will take 
another couple of releases to be implemented.
(A few months before release, the list of non-implemented features was 
quite long. Most of the things on the list _were_ implemented in time. A 
couple turned out to be unexpectedly difficult).


Also, the crown jewel of D2 was supposed to be 
immutability and concurrency, and those are the buggiest parts.


Well, they are the most difficult bits! So if anything were to be 
incomplete, it would be those.


Re: is it possible to learn D(2)?

2010-12-18 Thread Jeff Nowakowski

On 12/18/2010 03:16 PM, Don wrote:

Jeff Nowakowski wrote:

D2 has *never* been officially released (like D1 was), though its
release was supposed to coincide with the release of Andrei's book.


Where did you get that idea? I've never heard it before.
(Genuine question, I'd like to know where that impression came from).


Which idea are you questioning? That D2 hasn't been released, or that 
the two were supposed to come out together? The answer to both would be 
the newsgroup.


There was plenty of talk about them coming out together, and then time 
went by, and Andrei's book was relatively quietly released (unless I 
missed some big announcement; my memory was of posts trickling in of 
people who had pre-ordered), and no mention was made of D2 being 
released any more along with the book.


I can dig up posts if you like, but I'd rather not unless any of this is 
in dispute.



Walter and Andrei haven't been very honest in their presentations on
the state of the language.


I think the initial estimate of how long things would take was wildly
optimistic. I am certain that there's been no intention to be dishonest,
at any stage.


Andrei gives other people a lot of shit over only showing the positive 
in their presentations. Both Andrei and Walter have misrepresented the 
open source compiler issues on their slides (and Walter had no excuse 
after Andrei was called for it on the newsgroup).


I saw Andrei's Google presentation and he talked a lot about D2 features 
and gave away a lot of books, but never once said that D2 was still 
being implemented and that serious bugs remained.


Re: is it possible to learn D(2)?

2010-12-18 Thread Nick Sabalausky
Jeff Nowakowski j...@dilacero.org wrote in message 
news:ieja3o$gf...@digitalmars.com...
 On 12/18/2010 03:16 PM, Don wrote:
 Jeff Nowakowski wrote:
 D2 has *never* been officially released (like D1 was), though its
 release was supposed to coincide with the release of Andrei's book.

 Where did you get that idea? I've never heard it before.
 (Genuine question, I'd like to know where that impression came from).

 Which idea are you questioning? That D2 hasn't been released, or that 
 the two were supposed to come out together? The answer to both would be 
 the newsgroup.

 There was plenty of talk about them coming out together, and then time 
 went by, and Andrei's book was relatively quietly released (unless I 
 missed some big announcement; my memory was of posts trickling in of 
 people who had pre-ordered), and no mention was made of D2 being released 
 any more along with the book.


I only remember the talk being about the D2 language spec getting frozen 
from breaking changes when the book came out. And that's happened.




Re: is it possible to learn D(2)?

2010-12-18 Thread Andrei Alexandrescu

On 12/18/10 3:44 PM, Jeff Nowakowski wrote:

On 12/18/2010 03:16 PM, Don wrote:

Jeff Nowakowski wrote:

D2 has *never* been officially released (like D1 was), though its
release was supposed to coincide with the release of Andrei's book.


Where did you get that idea? I've never heard it before.
(Genuine question, I'd like to know where that impression came from).


Which idea are you questioning? That D2 hasn't been released, or that
the two were supposed to come out together? The answer to both would be
the newsgroup.

There was plenty of talk about them coming out together, and then time
went by, and Andrei's book was relatively quietly released (unless I
missed some big announcement; my memory was of posts trickling in of
people who had pre-ordered), and no mention was made of D2 being
released any more along with the book.

I can dig up posts if you like, but I'd rather not unless any of this is
in dispute.


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.


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. As it was clearly highly 
anticipated in this group, laying it any thicker would have been 
inappropriate.



Walter and Andrei haven't been very honest in their presentations on
the state of the language.


I think the initial estimate of how long things would take was wildly
optimistic. I am certain that there's been no intention to be dishonest,
at any stage.


Andrei gives other people a lot of shit over only showing the positive
in their presentations. Both Andrei and Walter have misrepresented the
open source compiler issues on their slides (and Walter had no excuse
after Andrei was called for it on the newsgroup).

I saw Andrei's Google presentation and he talked a lot about D2 features
and gave away a lot of books, but never once said that D2 was still
being implemented and that serious bugs remained.


A fair point. Well I didn't give away a lot of books, I gave three, 
and specifically for the three most embarrassing questions. (My budget 
of giveaway books is fairly limited.) Another thing would be that I tend 
to focus on language power, because that's perennial, and consider 
implementation bugs something transitory. 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.



Andrei