digitalmars.D - D Programming Language book - outdated, list of changes since?
- Guido Kollerie (10/10) Oct 23 2013 Hi,
- simendsjo (3/14) Oct 23 2013 http://erdani.com/tdpl/errata/
- Guido Kollerie (8/13) Oct 23 2013 Thanks for the link to the errata. Very welcome.
- simendsjo (10/27) Oct 23 2013 Ah, my bad. I don't know of any unfortunately.
- Meta (6/17) Oct 23 2013 I don't believe there's any official list. A few things I can
- simendsjo (3/23) Oct 23 2013 The book was written before UDAs, so that's new.
- Dicebot (2/3) Oct 23 2013 AFAIR it mentions only partial UFCS, for built-in stuff
- Brad Anderson (13/16) Oct 23 2013 It calls them "pseudo members"* and only spends a couple
- Kapps (4/21) Oct 23 2013 At the time the book was made, it did only work on arrays which
- Russel Winder (9/11) Oct 24 2013 Which strongly suggests a 2nd edition is in order.
- Jonathan M Davis (7/14) Oct 24 2013 Because of one feature? That seems like overkill. I'm sure that there wi...
- Suliman (1/1) Oct 23 2013 It would be great to have updated TDPL book...
- Dicebot (4/5) Oct 23 2013 I think it is tiny bit too early. Probably a good time can be
- Jonathan M Davis (21/22) Oct 24 2013 I don't understand why people keep saying that. Is it because people kee...
- Daniel Davidson (24/62) Oct 25 2013 I think your typical user (not one who works on D or phobos
- Jonathan M Davis (6/7) Oct 25 2013 I actually intend to and have started on it, but I'm far, far too busy r...
- Guido Kollerie (14/17) Oct 24 2013 This thread has already proved very valuable. Thank you all! So far I've...
- =?UTF-8?B?QWxpIMOHZWhyZWxp?= (4/19) Oct 24 2013 Some of the bugs have TDPL sometimes in the summary:
- Jonathan M Davis (6/11) Oct 24 2013 That's why I gave a link to a previous post that talked about it:
- Guido Kollerie (5/7) Oct 25 2013 @puremagic.com
Hi, Wanting to learn another modern statically typed language I decided upon = learning D and have ordered Andrei Alexandrescu's book 'The D=20 Programming Language'. Watching Walter Bright's DConf 2013's keynote=20 last night, someone mentioned it was already out of date. I was wondering is there is a list of things that have changed since the = book was printed? Something along the lines of "The book says x,=20 nowadays its better to do y" type of document? --=20 Guido Kollerie
Oct 23 2013
On Wednesday, 23 October 2013 at 07:41:54 UTC, Guido Kollerie wrote:Hi, Wanting to learn another modern statically typed language I decided upon learning D and have ordered Andrei Alexandrescu's book 'The D Programming Language'. Watching Walter Bright's DConf 2013's keynote last night, someone mentioned it was already out of date. I was wondering is there is a list of things that have changed since the book was printed? Something along the lines of "The book says x, nowadays its better to do y" type of document?http://erdani.com/tdpl/errata/
Oct 23 2013
On 23/10/13 09:43 , simendsjo wrote:On Wednesday, 23 October 2013 at 07:41:54 UTC, Guido Kollerie wrote:heI was wondering is there is a list of things that have changed since t=Thanks for the link to the errata. Very welcome. Though what I was looking for specifically is a document that lists=20 syntax, techniques, best practices that the books describes but that=20 have been superseded but newer syntax, techniques and/or best practices. --=20 Guido Kolleriebook was printed? Something along the lines of "The book says x, nowadays its better to do y" type of document?http://erdani.com/tdpl/errata/
Oct 23 2013
On Wednesday, 23 October 2013 at 11:17:08 UTC, Guido Kollerie wrote:On 23/10/13 09:43 , simendsjo wrote:Ah, my bad. I don't know of any unfortunately. Perhaps Alis book (although it's meant for beginning programmers) http://ddili.org/ders/d.en/index.html Rosettacode might have some examples. Bearophile has been trying to code them using idiomatic D I think. http://rosettacode.org/wiki/Category:D And the wiki might have some info. http://wiki.dlang.org/The_D_Programming_LanguageOn Wednesday, 23 October 2013 at 07:41:54 UTC, Guido Kollerie wrote:Thanks for the link to the errata. Very welcome. Though what I was looking for specifically is a document that lists syntax, techniques, best practices that the books describes but that have been superseded but newer syntax, techniques and/or best practices.I was wondering is there is a list of things that have changed since the book was printed? Something along the lines of "The book says x, nowadays its better to do y" type of document?http://erdani.com/tdpl/errata/
Oct 23 2013
On Wednesday, 23 October 2013 at 07:41:54 UTC, Guido Kollerie wrote:Hi, Wanting to learn another modern statically typed language I decided upon learning D and have ordered Andrei Alexandrescu's book 'The D Programming Language'. Watching Walter Bright's DConf 2013's keynote last night, someone mentioned it was already out of date. I was wondering is there is a list of things that have changed since the book was printed? Something along the lines of "The book says x, nowadays its better to do y" type of document?I don't believe there's any official list. A few things I can think of off the top of my head are: shared isn't implemented, scope is only partially implemented for delegates, multiple alias this is not implemented.
Oct 23 2013
On Wednesday, 23 October 2013 at 11:47:47 UTC, Meta wrote:On Wednesday, 23 October 2013 at 07:41:54 UTC, Guido Kollerie wrote:The book was written before UDAs, so that's new. And before UFCS..?Hi, Wanting to learn another modern statically typed language I decided upon learning D and have ordered Andrei Alexandrescu's book 'The D Programming Language'. Watching Walter Bright's DConf 2013's keynote last night, someone mentioned it was already out of date. I was wondering is there is a list of things that have changed since the book was printed? Something along the lines of "The book says x, nowadays its better to do y" type of document?I don't believe there's any official list. A few things I can think of off the top of my head are: shared isn't implemented, scope is only partially implemented for delegates, multiple alias this is not implemented.
Oct 23 2013
On Wednesday, 23 October 2013 at 11:51:22 UTC, simendsjo wrote:And before UFCS..?AFAIR it mentions only partial UFCS, for built-in stuff
Oct 23 2013
On Wednesday, 23 October 2013 at 11:59:19 UTC, Dicebot wrote:On Wednesday, 23 October 2013 at 11:51:22 UTC, simendsjo wrote:It calls them "pseudo members"* and only spends a couple paragraphs on them. It talks about them in the context of needing to add members to built-in types (an array example is given) but doesn't say they only work for built-in types. It's surprisingly little coverage for a feature that has become highly used since it was finally fully implemented not long ago. * I actually like the name "pseudo members" much better than UFCS. (Uniform/Unified/Universal) Function Call Syntax doesn't really tell you anything about what is going on and the fact that it's almost always referred to by initialism just obfuscates what it is further and lead to the state we are in where people keep using different words for the 'U'.And before UFCS..?AFAIR it mentions only partial UFCS, for built-in stuff
Oct 23 2013
On Wednesday, 23 October 2013 at 17:38:28 UTC, Brad Anderson wrote:On Wednesday, 23 October 2013 at 11:59:19 UTC, Dicebot wrote:At the time the book was made, it did only work on arrays which probably explains the minimal coverage and array example.On Wednesday, 23 October 2013 at 11:51:22 UTC, simendsjo wrote:It calls them "pseudo members"* and only spends a couple paragraphs on them. It talks about them in the context of needing to add members to built-in types (an array example is given) but doesn't say they only work for built-in types. It's surprisingly little coverage for a feature that has become highly used since it was finally fully implemented not long ago. * I actually like the name "pseudo members" much better than UFCS. (Uniform/Unified/Universal) Function Call Syntax doesn't really tell you anything about what is going on and the fact that it's almost always referred to by initialism just obfuscates what it is further and lead to the state we are in where people keep using different words for the 'U'.And before UFCS..?AFAIR it mentions only partial UFCS, for built-in stuff
Oct 23 2013
On Wed, 2013-10-23 at 20:48 +0200, Kapps wrote: […]At the time the book was made, it did only work on arrays which probably explains the minimal coverage and array example.Which strongly suggests a 2nd edition is in order. -- Russel. ============================================================================= Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.net 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Oct 24 2013
On Thursday, October 24, 2013 15:40:28 Russel Winder wrote:On Wed, 2013-10-23 at 20:48 +0200, Kapps wrote: […]Because of one feature? That seems like overkill. I'm sure that there will be another edition eventually, but Andrei has made it clear that he doesn't think that one is currently necessary and that it'll be awhile before we get another. At most, I'd expect a second printing which fixed the various errata, and AFAIK, not even something that is in the works as of yet. - Jonathan M DavisAt the time the book was made, it did only work on arrays which probably explains the minimal coverage and array example.Which strongly suggests a 2nd edition is in order.
Oct 24 2013
On Wednesday, 23 October 2013 at 12:39:22 UTC, Suliman wrote:It would be great to have updated TDPL book...I think it is tiny bit too early. Probably a good time can be somewhere after next DConf, after fate of some controversial features/issues is determined and set in stone.
Oct 23 2013
On Wednesday, October 23, 2013 14:39:21 Suliman wrote:It would be great to have updated TDPL book...I don't understand why people keep saying that. Is it because people keep repeating that incorrect assumption that it's out-of-date? Or is it just that too many people have the impression that D has changed drastically since TDPL was released? Almost nothing in TDPL is out-of-date, and for the most part, the stuff that is out-of-date is out-of-date because it has never been implemented and not because something has changed. http://forum.dlang.org/post/mailman.1762.1373097795.13711.digitalmars-d puremagic.com If some of the stuff that's been discussed in the newsgroup gets implemented (e.g. getting rid of toString, opEquals, toHash, and opCmp from Object), then TDPL will over time become more out-of-date and more incorrect, but at this point, the main problem is the errata. I could see someone wanting a new addition that described features that have been added since then (e.g. UDAs), but that list is quite short. If anything, the problem with TDPL is that some of what it describes still hasn't been implemented yet, and that list is also quite short. It explicitly avoided discussing things that weren't considered a sure thing at the time, so it's largely still correct and relevant. I really think that it's far too early for a new edition of TDPL. If we need more of anything, it's more online tutorials and articles on D, not a new edition of TDPL. - Jonathan M Davis
Oct 24 2013
On Thursday, 24 October 2013 at 18:14:42 UTC, Jonathan M Davis wrote:On Wednesday, October 23, 2013 14:39:21 Suliman wrote:I think your typical user (not one who works on D or phobos itself) runs into difficulties that take skill, understanding and sometimes knowledge of D history to work around and feel comfortable. The whole transitive mutability was a huge time sync for me and I would have liked more guidance. For instance, TDPL covers it, but it does not take you into the pitfalls of using it or the right/wrong way to scale with it. It does not detail the issues with associative arrays, for example. It does a great "this is how it works and here are the promised benefits" - but issues come up that make it feel harder to use. I love D, but so far I have to say it is a language that can make you feel stupid. With C++ there is less of that because the expectations are it is difficult and a PITA.It would be great to have updated TDPL book...I don't understand why people keep saying that. Is it because people keep repeating that incorrect assumption that it's out-of-date? Or is it just that too many people have the impression that D has changed drastically since TDPL was released? Almost nothing in TDPL is out-of-date, and for the most part, the stuff that is out-of-date is out-of-date because it has never been implemented and not because something has changed.http://forum.dlang.org/post/mailman.1762.1373097795.13711.digitalmars-d puremagic.com If some of the stuff that's been discussed in the newsgroup gets implemented (e.g. getting rid of toString, opEquals, toHash, and opCmp from Object), then TDPL will over time become more out-of-date and more incorrect, but at this point, the main problem is the errata. I could see someone wanting a new addition that described features that have been added since then (e.g. UDAs), but that list is quite short. If anything, the problem with TDPL is that some of what it describes still hasn't been implemented yet, and that list is also quite short. It explicitly avoided discussing things that weren't considered a sure thing at the time, so it's largely still correct and relevant.You may be right. Maybe TDPL is not lacking for falling behind the language too much. It is also great at teaching C.S. concepts beyond the D language in general. But if you really want to know how to successfully use D, which is what people want from TDPL, it needs more. Either a second edition, or a different more advanced book, a cookbook, an effective ways book.I really think that it's far too early for a new edition of TDPL. If we need more of anything, it's more online tutorials and articles on D, not a new edition of TDPL. - Jonathan M DavisI wish you would write a book :-) Thanks Dan
Oct 25 2013
On Friday, October 25, 2013 15:17:52 Daniel Davidson wrote:I wish you would write a book :-)I actually intend to and have started on it, but I'm far, far too busy right now to do much with D beyond respond to posts on the newsgroup while waiting for builds and whatnot. I hope to get back to doing a lot of D stuff by the end of the year, but my life is just too hectic right now. - Jonathan M Davis
Oct 25 2013
On 24-10-2013 20:14, Jonathan M Davis wrote:If anything, the problem with TDPL is that some of what it describes still hasn't been implemented yet, and that list is also quite short.This thread has already proved very valuable. Thank you all! So far I've = learned: - where the errata lives - what UFCS is - what UDA is - that the book is not really out-of-date This short list of things described in TDPL though not yet implemented.=20 Is that documented somewhere? If not please do mention those things in=20 this thread similarly to how UFCS and UDA were mentioned. That will help = me and other newcomers to D keep the things in perspective with regards=20 to the status quo. --=20 Guido Kollerie
Oct 24 2013
On 10/24/2013 01:26 PM, Guido Kollerie wrote:On 24-10-2013 20:14, Jonathan M Davis wrote:Some of the bugs have TDPL sometimes in the summary: http://d.puremagic.com/issues/buglist.cgi?quicksearch=TDPL AliIf anything, the problem with TDPL is that some of what it describes still hasn't been implemented yet, and that list is also quite short.This thread has already proved very valuable. Thank you all! So far I've learned: - where the errata lives - what UFCS is - what UDA is - that the book is not really out-of-date This short list of things described in TDPL though not yet implemented. Is that documented somewhere? If not please do mention those things in this thread similarly to how UFCS and UDA were mentioned. That will help me and other newcomers to D keep the things in perspective with regards to the status quo.
Oct 24 2013
On Thursday, October 24, 2013 22:26:01 Guido Kollerie wrote:This short list of things described in TDPL though not yet implemented. Is that documented somewhere? If not please do mention those things in this thread similarly to how UFCS and UDA were mentioned. That will help me and other newcomers to D keep the things in perspective with regards to the status quo.That's why I gave a link to a previous post that talked about it: http://forum.dlang.org/post/mailman.1762.1373097795.13711.digitalmars-d puremagic.com We should probably have a wiki page on the topic, but no one has taken the time to do it. - Jonathan M Davis
Oct 24 2013
On 24-10-2013 23:44, Jonathan M Davis wrote:That's why I gave a link to a previous post that talked about it: http://forum.dlang.org/post/mailman.1762.1373097795.13711.digitalmars-d=puremagic.com Can't believe I missed that one. I'm sorry. Thank you. --=20 Guido Kollerie
Oct 25 2013