www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - Official Announcement: 'Learning D' is Released

reply Mike Parker <aldacron gmail.com> writes:
Due to a minor mix up at the end of an otherwise enjoyable 
process, I wasn't notified that 'Learning D' was released on Nov 
27. Today, I finally got that notification. Despite there already 
being a thread on the topic here in this forum, please forgive me 
for taking the opportunity to make my "official" announcement :)

'Learning D' is available from the publisher's website[1], where 
a sample[2] can also be viewed for those who want to try before 
they buy. It's also available from Amazon[3].

Thanks to Walter for kindly providing a Foreword and to all the 
reviewers for their valuable feedback.

The source will be downloadable from the publisher's website, but 
I intend to put up a repository on GitHub to make sure it stays 
up to date. I'll be posting more about the book on my blog[4] in 
the near future.

If you know any C-family programmers who are interested in 
learning D, this book was written with them in mind. I hope 
people find it useful.

[1] https://www.packtpub.com/application-development/learning-d
[2] 
https://www.packtpub.com/packtlib/book/Application%20Development/9781783552481
[3] 
http://www.amazon.com/Learning-D-Michael-Parker/dp/1783552484/ref=as_li_ss_tl?ie=UTF8&qid=1448948127&sr=8-1&keywords=learning+d&linkCode=sl1&tag=aldacron-20&linkId=b0490265742705a2e3dd6fd25536b006
[4] http://dblog.aldacron.net
Nov 30 2015
next sibling parent reply Daniel Kozak via Digitalmars-d-announce writes:
V Tue, 01 Dec 2015 06:17:15 +0000
Mike Parker via Digitalmars-d-announce
<digitalmars-d-announce puremagic.com> napsáno:

 Due to a minor mix up at the end of an otherwise enjoyable 
 process, I wasn't notified that 'Learning D' was released on Nov 
 27. Today, I finally got that notification. Despite there already 
 being a thread on the topic here in this forum, please forgive me 
 for taking the opportunity to make my "official" announcement :)
 
 'Learning D' is available from the publisher's website[1], where 
 a sample[2] can also be viewed for those who want to try before 
 they buy. It's also available from Amazon[3].
 
 Thanks to Walter for kindly providing a Foreword and to all the 
 reviewers for their valuable feedback.
 
 The source will be downloadable from the publisher's website, but 
 I intend to put up a repository on GitHub to make sure it stays 
 up to date. I'll be posting more about the book on my blog[4] in 
 the near future.
 
 If you know any C-family programmers who are interested in 
 learning D, this book was written with them in mind. I hope 
 people find it useful.
 
 [1] https://www.packtpub.com/application-development/learning-d
 [2] 
 https://www.packtpub.com/packtlib/book/Application%20Development/9781783552481
 [3] 
 http://www.amazon.com/Learning-D-Michael-Parker/dp/1783552484/ref=as_li_ss_tl?ie=UTF8&qid=1448948127&sr=8-1&keywords=learning+d&linkCode=sl1&tag=aldacron-20&linkId=b0490265742705a2e3dd6fd25536b006
 [4] http://dblog.aldacron.net
http://wiki.dlang.org/Books should be updated :)
Dec 01 2015
parent Mike Parker <aldacron gmail.com> writes:
On Tuesday, 1 December 2015 at 09:02:39 UTC, Daniel Kozak wrote:

 http://wiki.dlang.org/Books should be updated :)
Done! Thanks.
Dec 01 2015
prev sibling next sibling parent reply Joakim <dlang joakim.fea.st> writes:
On Tuesday, 1 December 2015 at 06:17:17 UTC, Mike Parker wrote:
 Due to a minor mix up at the end of an otherwise enjoyable 
 process, I wasn't notified that 'Learning D' was released on 
 Nov 27. Today, I finally got that notification. Despite there 
 already being a thread on the topic here in this forum, please 
 forgive me for taking the opportunity to make my "official" 
 announcement :)

 [...]
Is it just me or does the free sample link just show the first two paragraphs of each section, which are available for every section in the book? Would be nice if a whole section or two were made available.
Dec 01 2015
parent reply Mike Parker <aldacron gmail.com> writes:
On Tuesday, 1 December 2015 at 11:26:42 UTC, Joakim wrote:
 Is it just me or does the free sample link just show the first 
 two paragraphs of each section, which are available for every 
 section in the book?  Would be nice if a whole section or two 
 were made available.
If you create an account, you can read more of it online. I realize not everyone would want to do that. There was a discussion about releasing Chapter 3 as a free sample and publishing Chapter 6 in the 'articles' section on their site. I've asked my editor what's going on with that, as I can't find any links for either.
Dec 01 2015
parent Mike Parker <aldacron gmail.com> writes:
On Tuesday, 1 December 2015 at 13:14:32 UTC, Mike Parker wrote:
 On Tuesday, 1 December 2015 at 11:26:42 UTC, Joakim wrote:
 Is it just me or does the free sample link just show the first 
 two paragraphs of each section, which are available for every 
 section in the book?  Would be nice if a whole section or two 
 were made available.
If you create an account, you can read more of it online. I realize not everyone would want to do that. There was a discussion about releasing Chapter 3 as a free sample and publishing Chapter 6 in the 'articles' section on their site. I've asked my editor what's going on with that, as I can't find any links for either.
OK, Chapter 6, 'Understanding Ranges' is available at [1]. They've edited it a bit to make it work as an article, so it isn't exactly as it appears in the book, but it's close enough. Chapter 3, 'Programming Objects the D Way' is available as a sample from the book page at [2] *if* you are not logged in *and* you do not have a cookie cached. If you are logged in, you see a 'Read Online' button, but it's 'Free Sample' if you are not. If you have a cookie cached, clicking 'Free Sample' will log you in and take you to the same place as 'Read Online'. Otherwise, it will take you to the same web app, but will allow you to only read Chapter 3. [1] https://www.packtpub.com/books/content/understanding-ranges [2] https://www.packtpub.com/application-development/learning-d
Dec 02 2015
prev sibling next sibling parent Abdulhaq <alynch4047 gmail.com> writes:
On Tuesday, 1 December 2015 at 06:17:17 UTC, Mike Parker wrote:
 Due to a minor mix up at the end of an otherwise enjoyable 
 process, I wasn't notified that 'Learning D' was released on 
 Nov 27. Today, I finally got that notification. Despite there 
 already being a thread on the topic here in this forum, please 
 forgive me for taking the opportunity to make my "official" 
 announcement :)

 'Learning D' is
Congratulations! It looks good.
Dec 01 2015
prev sibling next sibling parent reply Rory McGuire via Digitalmars-d-announce writes:
On Tue, Dec 1, 2015 at 8:17 AM, Mike Parker via Digitalmars-d-announce <
digitalmars-d-announce puremagic.com> wrote:

 Due to a minor mix up at the end of an otherwise enjoyable process, I
 wasn't notified that 'Learning D' was released on Nov 27. Today, I finally
 got that notification. Despite there already being a thread on the topic
 here in this forum, please forgive me for taking the opportunity to make my
 "official" announcement :)
Hi Mike, PacktLib access only started working today so perhaps it was in some sort of pre-release phase? -Rory
Dec 01 2015
parent reply Mike Parker <aldacron gmail.com> writes:
On Tuesday, 1 December 2015 at 13:24:09 UTC, Rory McGuire wrote:
 On Tue, Dec 1, 2015 at 8:17 AM, Mike Parker via 
 Digitalmars-d-announce < digitalmars-d-announce puremagic.com> 
 wrote:

 Due to a minor mix up at the end of an otherwise enjoyable 
 process, I wasn't notified that 'Learning D' was released on 
 Nov 27. Today, I finally got that notification. Despite there 
 already being a thread on the topic here in this forum, please 
 forgive me for taking the opportunity to make my "official" 
 announcement :)
Hi Mike, PacktLib access only started working today so perhaps it was in some sort of pre-release phase? -Rory
No idea. All I know is I got an email today saying that it was released on the 27th. It's been available for pre-order for several months now.
Dec 01 2015
parent Steven Schveighoffer <schveiguy yahoo.com> writes:
On 12/1/15 9:36 AM, Mike Parker wrote:

 No idea. All I know is I got an email today saying that it was released
 on the 27th. It's been available for pre-order for several months now.
FWIW, I just got an email today from them that it is now published. So you aren't the only one. The email did not mention a publishing date. Looking forward to reading the final version! And hopefully I can track you down at a future dconf to have it signed :) -Steve
Dec 01 2015
prev sibling next sibling parent reply bachmeier <no spam.com> writes:
Sorry to steal your thunder. I assumed I wasn't keeping up. I 
actually went to that website because I had just noticed Kai 
Nacke's book announcement from July, and there was your book, at 
half price.

I strongly recommend Learning D to anyone wanting to learn more 
about D. Count this as a five star review. Well worth the money.
Dec 01 2015
parent Daniel Kozak via Digitalmars-d-announce writes:
V Tue, 01 Dec 2015 15:27:35 +0000
bachmeier via Digitalmars-d-announce
<digitalmars-d-announce puremagic.com> napsáno:

 Sorry to steal your thunder. I assumed I wasn't keeping up. I 
 actually went to that website because I had just noticed Kai 
 Nacke's book announcement from July, and there was your book, at 
 half price.
 
 I strongly recommend Learning D to anyone wanting to learn more 
 about D. Count this as a five star review. Well worth the money.
+1 :)
Dec 01 2015
prev sibling next sibling parent Luis <luis.panadero gmail.com> writes:
  đź‘Ť
Dec 01 2015
prev sibling next sibling parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 12/01/2015 01:17 AM, Mike Parker wrote:
 Due to a minor mix up at the end of an otherwise enjoyable process, I
 wasn't notified that 'Learning D' was released on Nov 27. Today, I
 finally got that notification. Despite there already being a thread on
 the topic here in this forum, please forgive me for taking the
 opportunity to make my "official" announcement :)

 'Learning D' is available from the publisher's website[1], where a
 sample[2] can also be viewed for those who want to try before they buy.
 It's also available from Amazon[3].

 Thanks to Walter for kindly providing a Foreword and to all the
 reviewers for their valuable feedback.

 The source will be downloadable from the publisher's website, but I
 intend to put up a repository on GitHub to make sure it stays up to
 date. I'll be posting more about the book on my blog[4] in the near future.

 If you know any C-family programmers who are interested in learning D,
 this book was written with them in mind. I hope people find it useful.

 [1] https://www.packtpub.com/application-development/learning-d
 [2]
 https://www.packtpub.com/packtlib/book/Application%20Development/9781783552481

 [3]
 http://www.amazon.com/Learning-D-Michael-Parker/dp/1783552484/ref=as_li_ss_tl?ie=UTF8&qid=1448948127&sr=8-1&keywords=learning+d&linkCode=sl1&tag=aldacron-20&linkId=b0490265742705a2e3dd6fd25536b006

 [4] http://dblog.aldacron.net
Congratulations! You may want to announce it in social news as well (twitter, facebook, reddit, hackernews). -- Andrei
Dec 01 2015
parent reply =?UTF-8?Q?Ali_=c3=87ehreli?= <acehreli yahoo.com> writes:
On 12/01/2015 09:53 AM, Andrei Alexandrescu wrote:

 Congratulations! You may want to announce it in social news as well
 (twitter, facebook, reddit, hackernews). -- Andrei
https://www.reddit.com/r/programming/comments/3v0vw8/book_release_learning_d_by_michael_parker_is_now/ Mike, I hope you will be able stay on that Reddit thread with an "AMA". And of course, congratulations! :) Ali
Dec 01 2015
parent reply bachmeier <no spam.com> writes:
On Tuesday, 1 December 2015 at 19:58:22 UTC, Ali Çehreli wrote:
 On 12/01/2015 09:53 AM, Andrei Alexandrescu wrote:

 Congratulations! You may want to announce it in social news as 
 well
 (twitter, facebook, reddit, hackernews). -- Andrei
https://www.reddit.com/r/programming/comments/3v0vw8/book_release_learning_d_by_michael_parker_is_now/ Mike, I hope you will be able stay on that Reddit thread with an "AMA". And of course, congratulations! :) Ali
He lives in Korea. They're 15 hours ahead of CDT, making it 5:30 am right now. He may be asleep. (I used to live in Korea, so I dealt with this all the time.)
Dec 01 2015
parent reply =?UTF-8?Q?Ali_=c3=87ehreli?= <acehreli yahoo.com> writes:
On 12/01/2015 12:33 PM, bachmeier wrote:
 On Tuesday, 1 December 2015 at 19:58:22 UTC, Ali Çehreli wrote:
 On 12/01/2015 09:53 AM, Andrei Alexandrescu wrote:

 Congratulations! You may want to announce it in social news as well
 (twitter, facebook, reddit, hackernews). -- Andrei
https://www.reddit.com/r/programming/comments/3v0vw8/book_release_learning_d_by_michael_parker_is_now/ Mike, I hope you will be able stay on that Reddit thread with an "AMA". And of course, congratulations! :) Ali
He lives in Korea. They're 15 hours ahead of CDT, making it 5:30 am right now. He may be asleep. (I used to live in Korea, so I dealt with this all the time.)
I know. I was about to say "don't publish on social news before he's awake" but the news was out already. :) Ali
Dec 01 2015
parent Mike Parker <aldacron gmail.com> writes:
Thanks, everyone!

On Tuesday, 1 December 2015 at 22:50:49 UTC, Ali Çehreli wrote:
 On 12/01/2015 12:33 PM, bachmeier wrote:
 He lives in Korea. They're 15 hours ahead of CDT, making it 
 5:30 am
 right now. He may be asleep. (I used to live in Korea, so I 
 dealt with
 this all the time.)
I know. I was about to say "don't publish on social news before he's awake" but the news was out already. :) Ali
I've been up since 6:30, but that's only because Wednesday is my busiest morning of the week. I caught a break today, though, and half of my schedule was unexpectedly canceled. I'll be able to monitor the reddit thread from here on out. It's a quiet one so far, though :)
Dec 01 2015
prev sibling next sibling parent Nemanja Boric <4burgos gmail.com> writes:
On Tuesday, 1 December 2015 at 06:17:17 UTC, Mike Parker wrote:
 If you know any C-family programmers who are interested in 
 learning D, this book was written with them in mind. I hope 
 people find it useful.
Exactly what I was looking for! Got my copy, thanks!
Dec 02 2015
prev sibling parent reply Guillaume Piolat <first.last gmail.com> writes:
On Tuesday, 1 December 2015 at 06:17:17 UTC, Mike Parker wrote:
 Due to a minor mix up at the end of an otherwise enjoyable 
 process, I wasn't notified that 'Learning D' was released on 
 Nov 27. Today, I finally got that notification. Despite there 
 already being a thread on the topic here in this forum, please 
 forgive me for taking the opportunity to make my "official" 
 announcement :)

 'Learning D' is available from the publisher's website[1], 
 where a sample[2] can also be viewed for those who want to try 
 before they buy. It's also available from Amazon[3].
Got "Learning D" as a present, still reading. I must say I didn't expect to learn much after the D Cookbook or TDPL. Wrong! The content matches perfectly with the stuff I hadn't understood well enough. Just like D it has a lot of value in small details, like "this" template parameters, detailing opEquals, details on align, DVM introduction... The chapter on Ranges is extremely helpful and should help overcome my "range anxiety". Other chapter are similarly thorough on Voldemort types or slices. Really appreciate the attention to detail that went into it.
Dec 26 2015
parent reply Kingsley <kingsley.hendrickse gmail.com> writes:
On Saturday, 26 December 2015 at 17:58:52 UTC, Guillaume Piolat 
wrote:
 On Tuesday, 1 December 2015 at 06:17:17 UTC, Mike Parker wrote:
 [...]
Got "Learning D" as a present, still reading. I must say I didn't expect to learn much after the D Cookbook or TDPL. Wrong! The content matches perfectly with the stuff I hadn't understood well enough. Just like D it has a lot of value in small details, like "this" template parameters, detailing opEquals, details on align, DVM introduction... The chapter on Ranges is extremely helpful and should help overcome my "range anxiety". Other chapter are similarly thorough on Voldemort types or slices. Really appreciate the attention to detail that went into it.
This is a fantastic book - thanks very much to Mike for all the effort and attention he put into the book :) - I have learned a lot from it.
Dec 26 2015
parent reply Mike Parker <aldacron gmail.com> writes:
On Saturday, 26 December 2015 at 19:09:22 UTC, Kingsley wrote:
 On Saturday, 26 December 2015 at 17:58:52 UTC, Guillaume Piolat 
 wrote:
 Really appreciate the attention to detail that went into it.
This is a fantastic book - thanks very much to Mike for all the effort and attention he put into the book :) - I have learned a lot from it.
Thanks guys! That kind of feedback is a good Christmas present :)
Dec 27 2015
parent reply jmh530 <john.michael.hall gmail.com> writes:
On Sunday, 27 December 2015 at 17:21:24 UTC, Mike Parker wrote:
 Thanks guys! That kind of feedback is a good Christmas present 
 :)
I'm working through the book now. I'm liking it. I'm on Chapter 9, which has the Connecting D with C material. At the beginning of the chapter you define some terms: dynamic vs. static linking, dynamic/static libraries, and dynamic/static binding. I think the way you explain these terms assumes that someone already has quite a bit of computing knowledge. I googled the dynamic/static library stuff and there are some simpler explanations online that I can understand. There's less material out there on dynamic/static bindings, the way you're talking about it. I think I get what you're saying about static bindings, but I'm not sure when you would want to use dynamic bindings.
Jan 12
parent reply John Colvin <john.loughran.colvin gmail.com> writes:
On Tuesday, 12 January 2016 at 20:32:57 UTC, jmh530 wrote:
 I'm not sure when you would want to use dynamic bindings.
When you want to have control over the process of loading a library e.g. if you want it to be an optional dependency at runtime.
Jan 12
next sibling parent reply jmh530 <john.michael.hall gmail.com> writes:
On Tuesday, 12 January 2016 at 21:10:28 UTC, John Colvin wrote:
 When you want to have control over the process of loading a 
 library e.g. if you want it to be an optional dependency at 
 runtime.
I've seen the example in the book. I'm just not sure why you would want an optional runtime dependency.
Jan 12
parent John Colvin <john.loughran.colvin gmail.com> writes:
On Tuesday, 12 January 2016 at 22:00:32 UTC, jmh530 wrote:
 On Tuesday, 12 January 2016 at 21:10:28 UTC, John Colvin wrote:
 When you want to have control over the process of loading a 
 library e.g. if you want it to be an optional dependency at 
 runtime.
I've seen the example in the book. I'm just not sure why you would want an optional runtime dependency.
Anything in your application / library that relies on resources that may or may not be available on the user's system. E.g. plugins the user wants to load.
Jan 12
prev sibling parent reply Mike Parker <aldacron gmail.com> writes:
On Tuesday, 12 January 2016 at 21:10:28 UTC, John Colvin wrote:
 On Tuesday, 12 January 2016 at 20:32:57 UTC, jmh530 wrote:
 I'm not sure when you would want to use dynamic bindings.
When you want to have control over the process of loading a library e.g. if you want it to be an optional dependency at runtime.
For me, the big benefit is that it eliminates the link-time dependency on the C library. I don't have to worry about whether the dev package is installed on Linux, or the COFF/OMF issues on Windows. Reducing dependencies like this makes avoids several potential build issues, something particularly good for open source projects. You can download the source for an SDL-based game, for example, and not worry about which version of the SDL development libraries you need to build it. Another benefit is that the app doesn't need to fail if a particular version of a library is not available. For example, DerelictUtil, the library which provides the loader for all of the Derelict bindings, allows the ability to continue loading if certain functions are missing. You can choose to use those functions if present and fallback on something else if they aren't. If you've ever used OpenGL, you're probably already doing this. You can use version 4.x if it's available and fallback to 3.x if it isn't; extensions are loaded on an as-needed and as-available basis. A dynamic binding allows this sort of behavior with any library. One of the entries in, IIRC, Game Programming Gems 2, talked about solving the DLL Hell problem with dynamic loading. For me, it really just boils down to more convenient builds. I tend to prefer it over static or dynamic linking. In fact, dynamic linking doesn't even enter the picture for me in D. If I need a shared library, I'll just load it myself.
Jan 12
parent jmh530 <john.michael.hall gmail.com> writes:
On Wednesday, 13 January 2016 at 01:02:28 UTC, Mike Parker wrote:
 [snip]
Thanks for the reply.
Jan 13