Re: Scott Meyers' DConf 2014 keynote "The Last Thing D Needs"

2014-05-28 Thread Timon Gehr via Digitalmars-d-announce

On 05/29/2014 05:35 AM, Jonathan M Davis via Digitalmars-d-announce wrote:

On Wed, 28 May 2014 16:07:08 -0700
Walter Bright via Digitalmars-d-announce
 wrote:


Some of the inconsistencies you mentioned and Brian mentioned in his
talk are actually the result of consistencies.

I know this is a bit of a difficult thing to wrap one's head around,
but having something be mathematically consistent and humanly
consistent are often at severe odds.


I don't disagree, but I also think that we need to be very careful when
they're at odds, because it tends to result in buggy code when the rules are
inconsistent from the human's perspective. In some cases, it's best to better
educate the programmer, whereas in others, it's better to just make it
consistent for the programmer - especially when you're dealing with a case
where being consistent with one thing means being inconsistent with another.
Overall, I think that we've done a decent job of it, but there are definitely
places (e.g. static array declarations) where I think we botched it.

- Jonathan M Davis



I think this is not a point about "consistency", but about intuition.

In any case, simply reversing the order for static array types using an 
ad-hoc rewrite rule would be a huge wart, even more severe than the 
other points you raised, and we definitely wouldn't be trading one kind 
of consistency for another.


(In any case, the most elegant solution is to simply not have special 
syntax for language built-in types.)


Re: DirectX bindings

2014-05-28 Thread Adam Wilson via Digitalmars-d-announce

On Tue, 27 May 2014 02:24:01 -0700, evilrat  wrote:


On Sunday, 3 November 2013 at 05:27:24 UTC, evilrat wrote:

https://github.com/evilrat666/directx-d


this is it. i think i can't continue on this one anymore, nor do i have  
time, nor passion. i've made a lot of work and meet (almost) no  
interest. i will be stay in contact, so any pull request will not be  
lost, but i think this is my last commit to it. i have encountered lot  
of obstacles such as UFCS on classes, which makes impossible seamless  
migration of user code from C++ to D(no, that wasnt real purpose but for  
me it is important point). i may return later, let say in a year or two  
when D will be more complete and usable, but for now i take my leave.  
please take my apologies if one really used this bindings or have high  
hopes on it.


I think it would appropriate at this point to note that Aurora is  
currently hosting bindings for DirectX and will continue to maintain  
DirectX bindings for a the foreseeable future. DirectX 12 bindings will be  
provided once they become available.


So if you need current and maintained bindings for DirectX you can find  
them on GitHub here:

https://github.com/auroragraphics/directx

--
Adam Wilson
GitHub/IRC: LightBender
Project Coordinator
The Aurora Project


Re: Scott Meyers' DConf 2014 keynote "The Last Thing D Needs"

2014-05-28 Thread Jonathan M Davis via Digitalmars-d-announce
On Wed, 28 May 2014 16:07:08 -0700
Walter Bright via Digitalmars-d-announce
 wrote:

> Some of the inconsistencies you mentioned and Brian mentioned in his
> talk are actually the result of consistencies.
>
> I know this is a bit of a difficult thing to wrap one's head around,
> but having something be mathematically consistent and humanly
> consistent are often at severe odds.

I don't disagree, but I also think that we need to be very careful when
they're at odds, because it tends to result in buggy code when the rules are
inconsistent from the human's perspective. In some cases, it's best to better
educate the programmer, whereas in others, it's better to just make it
consistent for the programmer - especially when you're dealing with a case
where being consistent with one thing means being inconsistent with another.
Overall, I think that we've done a decent job of it, but there are definitely
places (e.g. static array declarations) where I think we botched it.

- Jonathan M Davis


Re: Scott Meyers' DConf 2014 keynote "The Last Thing D Needs"

2014-05-28 Thread Jonathan M Davis via Digitalmars-d-announce
Okay. That seriously got munged. Let's try that again...

On Tue, 27 May 2014 06:42:41 -1000
Andrei Alexandrescu via Digitalmars-d-announce
 wrote:

> http://www.reddit.com/r/programming/comments/26m8hy/scott_meyers_dconf_2014_keynote_the_last_thing_d/
>
> https://news.ycombinator.com/newest (search that page, if not found
> click "More" and search again)
>
> https://www.facebook.com/dlang.org/posts/855022447844771
>
> https://twitter.com/D_Programming/status/471330026168651777

Fortunately, for the most part, I think that we've avoided the types of
inconsistencies that Scott describes for C++, but we do definitely have some
of our own. The ones that come to mind at the moment are:

1. The order of the dimensions of multi-dimensional static arrays is backwards
in comparison to what most everyone expects.

int[4][5][6] foo;

is the same as

int foo[6][5][4];

and has the same dimensions as

auto bar = new int[][][](6, 5, 4);

The reasons for it stem from the fact that the compiler reads types outward
from the variable name (which is very important to understand in C because of
its function pointer syntax but not so important in D). However, once we did

const(int)* foo;

and didn't allow

(int)const* foo;

I think that we threw that particular bit of consistency with C/C++ out the
window, and we really should have just made static array dimensions be read
from left-to-right. Unfortunately, I don't think that we can fix that at this
point, because doing so would cause silent breakage (or at minimum, would be
silent until RangeErrors were thrown at runtime).


2. We're inconsistent with dynamic array dimensions.

auto foo = new int[5];

is the same as

auto foo = new int[](5);

but once you get into multi-dimensional arrays, it's just confusing, because

auto foo = new int[4][5][6];

does _not_ declare a multi-dimensional dynamic array but rather a dynamic
array of length 6 which contains a multi-dimensonal static array of dimensions
4 and 5. Instead, what you need to do is

auto foo = new int[][][](4, 5, 6);

IMHO, we should have made it illegal to have dynamic array dimensions inside
of the brackets rather than the parens, but I don't know if we can change
that. It wouldn't be silent breakage, but it _would_ make it so that a lot of
existing code would be broken - especially because so many people put the
array dimensions between the brackets for single-dimension dynamic arrays.


3. const, immutable, and inout on the left-hand side of a function declaration
are unfortunately legal. This inevitably trips people up, because they think
that the attribute applies to the return type, when it applies to the function
itself. This is to make the function attributes consistent, because all of the
others can go on either side, but the result is that it's essentially bad
practice to ever put any attribute on the left-hand side which could apply to
the return type, because it looks like a bug. If we just made it illegal for
those attributes to go on the left, the problem would be solved, and the
result would be far less confusing and bug-prone. I think that we can make
that change with minimal breakage (since it's already bad practice to put them
no the left-hand side), but AFAIK, Walter is against the idea.


4. There are some cases (such as with static constructors and unittest blocks)
that the attributes have to go on the left for some reason. I don't remember
the reasons for it, but it's an inconsistency which definitely trips up even
seasoned D programmers from time to time.


5. The fact that pure is called pure is very problematic at this point as far
as explaining things to folks goes. We should probably consider renaming it to
something like @noglobal, but I'm not sure that that would go over very well
given the amount of breakage involved. It _does_ require a lot of explaining
though.


6. The situation with ranges and string is kind of ugly, with them being
treated as ranges of code points. I don't know what the correct solution to
this is, since treating them as ranges of code units promotes efficiency but
makes code more error-prone, whereas treating them as ranges of graphemes
would just cost too much. Ranges of code points is _mostly_ correct but still
incorrect and _more_ efficient than graphemes but still quite a bit less
efficient than code units. So, it's kind of like it's got the best and worst
of both worlds. The current situation causes inconsistencies with everything
else (forcing us to use isNarrowString all over the place) and definitely
requires frequent explaining, but it does prevent some classes of problems.
So, I don't know. I used to be in favor of the current situation, but at this
point, if we could change it, I think that I'd argue in faver of just treating
them as ranges of code units and then have wrappers for ranges of code points
or graphemes. It seems like the current situation promotes either using
ubyte[] (if you care about efficiency) or the

Re: Scott Meyers' DConf 2014 keynote "The Last Thing D Needs"

2014-05-28 Thread Jesse Phillips via Digitalmars-d-announce

On Wednesday, 28 May 2014 at 04:48:11 UTC, Jesse Phillips wrote:

I did a translation of most of the code in the slides.

http://dpaste.dzfl.pl/72b5cfcb72e4

I'm planning to transform it into blog post (or series). Right 
now it just has some scratch notes. Feel free to let me know 
everything I got wrong.


Hoping someone can confirm or deny this thought.

int x2prime = void; // (at global scope)

Since x2prime is module variable, I would expect that the 
compiler will always initialize this to 0 since there isn't 
really a performance hit. Or is using void guarantee it won't get 
initialized (so much value in that guarantee)?


Re: Scott Meyers' DConf 2014 keynote "The Last Thing D Needs"

2014-05-28 Thread Walter Bright via Digitalmars-d-announce

On 5/28/2014 6:06 PM, Brian Schott wrote:

On Thursday, 29 May 2014 at 00:58:35 UTC, Walter Bright wrote:

Off the top of my head:

static if (condition)
else :

... declarations ...

All attributes apply to either:

1. the next statement or declaration
2. { ... }
3. : ...

That case is (3), as static if is set up as an attribute.


Static if is not an attribute.


They are handled that way by the parser.

https://github.com/D-Programming-Language/dmd/blob/master/src/parse.c#L379

Looks like there's an omission in the grammar. Thanks for pointing it out.

https://issues.dlang.org/show_bug.cgi?id=12818





ConditionalStatement:
 Condition NoScopeNonEmptyStatement
 Condition NoScopeNonEmptyStatement else NoScopeNonEmptyStatement

Condition:
 VersionCondition
 DebugCondition
 StaticIfCondition

Attribute:
 LinkageAttribute
 AlignAttribute
 DeprecatedAttribute
 ProtectionAttribute
 Pragma
 static
 extern
 abstract
 final
 override
 synchronized
 auto
 scope
 const
 immutable
 inout
 shared
 __gshared
 Property
 nothrow
 pure
 ref




Re: Scott Meyers' DConf 2014 keynote "The Last Thing D Needs"

2014-05-28 Thread safety0ff via Digitalmars-d-announce

On Wednesday, 28 May 2014 at 13:05:53 UTC, Craig Dillabaugh wrote:


Whats wrong with "If you think that, you have another thing 
coming."?


I've always understood it sort of like say your Father saying:

"If you think that [i.e. you can steal your little brother's 
ice cream cone], then  you have another thing [i.e no ice 
cream, but maybe the leather strap] coming."


I think it depends on the context, "another thing coming" works 
with threats whereas "another think coming" works with 
civilized/intellectual disagreement.


Due to the popularity of "another thing coming" I probably would 
avoid using "think coming" lest it be interpreted as hostility.


Re: Scott Meyers' DConf 2014 keynote "The Last Thing D Needs"

2014-05-28 Thread Brian Schott via Digitalmars-d-announce

On Thursday, 29 May 2014 at 00:58:35 UTC, Walter Bright wrote:

Off the top of my head:

static if (condition)
else :

... declarations ...

All attributes apply to either:

1. the next statement or declaration
2. { ... }
3. : ...

That case is (3), as static if is set up as an attribute.


Static if is not an attribute.

ConditionalStatement:
Condition NoScopeNonEmptyStatement
Condition NoScopeNonEmptyStatement else 
NoScopeNonEmptyStatement


Condition:
VersionCondition
DebugCondition
StaticIfCondition

Attribute:
LinkageAttribute
AlignAttribute
DeprecatedAttribute
ProtectionAttribute
Pragma
static
extern
abstract
final
override
synchronized
auto
scope
const
immutable
inout
shared
__gshared
Property
nothrow
pure
ref


Re: Scott Meyers' DConf 2014 keynote "The Last Thing D Needs"

2014-05-28 Thread Simen Kjærås via Digitalmars-d-announce

On 2014-05-28 13:05, Craig Dillabaugh via Digitalmars-d-announce wrote:

On Tuesday, 27 May 2014 at 21:40:00 UTC, Walter Bright wrote:

On 5/27/2014 2:22 PM, w0rp wrote:

I'm actually a native speaker of 25 years and I didn't get it at
first. Natural
language communicates ideas approximately.


What bugs me is when people say:

   I could care less.

when they mean:

   I couldn't care less.


and:

   If you think that, you have another thing coming.

when they mean:

   If you think that, you have another think coming.


Whats wrong with "If you think that, you have another thing coming."?

I've always understood it sort of like say your Father saying:

"If you think that [i.e. you can steal your little brother's ice cream
cone], then  you have another thing [i.e no ice cream, but maybe the
leather strap] coming."



It's an old saying, and in more modern English might be phrased "If you 
think that, you have another thought coming", i.e. you'll soon enough 
see why you're wrong.


--
  Simen


Re: Scott Meyers' DConf 2014 keynote "The Last Thing D Needs"

2014-05-28 Thread Walter Bright via Digitalmars-d-announce

On 5/28/2014 5:35 PM, Brian Rogoff wrote:

Could you elaborate? Using some of the examples Brian gave, which ones do you
think are are mathematically consistent/human inconsistent and which the 
inverse?


Off the top of my head:

static if (condition)
else :

... declarations ...

All attributes apply to either:

1. the next statement or declaration
2. { ... }
3. : ...

That case is (3), as static if is set up as an attribute.



Re: Scott Meyers' DConf 2014 keynote "The Last Thing D Needs"

2014-05-28 Thread Brian Rogoff via Digitalmars-d-announce

On Wednesday, 28 May 2014 at 23:07:07 UTC, Walter Bright wrote:
Some of the inconsistencies you mentioned and Brian mentioned 
in his talk are actually the result of consistencies.


I know this is a bit of a difficult thing to wrap one's head 
around, but having something be mathematically consistent and 
humanly consistent are often at severe odds.


Could you elaborate? Using some of the examples Brian gave, which 
ones do you think are are mathematically consistent/human 
inconsistent and which the inverse?






Re: Scott Meyers' DConf 2014 keynote "The Last Thing D Needs"

2014-05-28 Thread Jesse Phillips via Digitalmars-d-announce

On Wednesday, 28 May 2014 at 22:42:03 UTC, Ali Çehreli wrote:
However, those expectations are based on the inside-out syntax 
of C. Naturally, wanting to be consistent, especially compared 
to C, D should deviate from that syntax.


I don't get to read the original email, but I agree with the 
examples you pull out. D's array declaration syntax is so nice. 
The support for C style syntax is unfortunate though.


Re: Scott Meyers' DConf 2014 keynote "The Last Thing D Needs"

2014-05-28 Thread Walter Bright via Digitalmars-d-announce
Some of the inconsistencies you mentioned and Brian mentioned in his talk are 
actually the result of consistencies.


I know this is a bit of a difficult thing to wrap one's head around, but having 
something be mathematically consistent and humanly consistent are often at 
severe odds.


Re: Scott Meyers' DConf 2014 keynote "The Last Thing D Needs"

2014-05-28 Thread Ali Çehreli via Digitalmars-d-announce

On 05/28/2014 03:10 PM, Jonathan M Davis via Digitalmars-d-announce wrote:

> On Tue, 27 May 2014 06:42:41 -1000
> Andrei Alexandrescu via Digitalmars-d-announce
>  wrote:
>
>   >
> 
http://www.reddit.com/r/programming/comments/26m8hy/scott_meyers_dconf_2014_keynote_the_last_thing_d/

>   >
>   > https://news.ycombinator.com/newest (search that page, if not found
>   > click "More" and search again)
>   >
>   > https://www.facebook.com/dlang.org/posts/855022447844771
>   >
>   > https://twitter.com/D_Programming/status/471330026168651777
>
> Fortunately, for the most part, I think that we've avoided the types of
> inconsistencies that Scott describes for C++, but we do definitely 
have some

> of our own. The ones that come to mind at the moment are:
>
> 1. The order of the dimensions of multi-dimensional static arrays is 
backwards

> in comparison to what most everyone expects.

However, those expectations are based on the inside-out syntax of C. 
Naturally, wanting to be consistent, especially compared to C, D should 
deviate from that syntax.


>   int[4][5][6] foo;

That is sane: It is alwasy "first the type then the size":

int[1]good
Animal[2] good

Following from that rule (i.e. first type, then size), how would I have 
an array of 3 elements where each element is an array of 4 elements. 
Let's see... Each element is int[4]. There:


int[4]

Then, I want an array of 3 of those. There:

int[4][3] good

This is one of the commonish arguments in the D forums that I have the 
strongest opinion because there is no problem with D's syntax at all. It 
is consistent.


It is consistent even when indexing. The index is for the array:

int[1] a;
a[0]; // the first element of a; it is an int

int[2][3] b;
b[0]; // the first element of b; it is an int[2]

I don't see any problem at all. :)

Remembering that there is no such thing as a multi-dimensional array in 
D (nor C), it just follows naturally:


b[0][1];  // the second int of the first int[2]

> is the same as
>
>   int foo[6][5][4];

That's beyond ridiculous. I am glad that D avoided that problem for both 
function pointers and arrays.


> and has the same dimensions as
>
>   auto bar = new int[][][](6, 5, 4);

That makes perfect sense to me, because this is a function API, not D 
syntax. There is no ambiguity in saying "you go deeper into the element 
sizes as you provide the arguments."


Ali



Re: Scott Meyers' DConf 2014 keynote "The Last Thing D Needs"

2014-05-28 Thread Jonathan M Davis via Digitalmars-d-announce
On Tue, 27 May 2014 06:42:41 -1000
Andrei Alexandrescu via Digitalmars-d-announce
 wrote:

> http://www.reddit.com/r/programming/comments/26m8hy/scott_meyers_dconf_2014_keynote_the_last_thing_d/
>
> https://news.ycombinator.com/newest (search that page, if not found
> click "More" and search again)
>
> https://www.facebook.com/dlang.org/posts/855022447844771
>
> https://twitter.com/D_Programming/status/471330026168651777

Fortunately, for the most part, I think that we've avoided the types of
inconsistencies that Scott describes for C++, but we do definitely have some
of our own. The ones that come to mind at the moment are:

1. The order of the dimensions of multi-dimensional static arrays is backwards
in comparison to what most everyone expects.

    int[4][5][6] foo;

is the same as

    int foo[6][5][4];

and has the same dimensions as

    auto bar = new int[][][](6, 5, 4);

The reasons for it stem from the fact that the compiler reads types outward
from the variable name (which is very important to understand in C because of
its function pointer syntax but not so important in D). However, once we did

    const(int)* foo;

and didn't allow

    (int)const* foo;

I think that we threw that particular bit of consistency with C/C++ out the
window, and we really should have just made static array dimensions be read
from left-to-right.

Unfortunately, I don't think that we can fix that at this point, because doing
so would cause silent breakage (or at minimum, would be silent until
RangeErrors were thrown at runtime).


2. We're inconsistent with dynamic array dimensions.

    auto foo = new int[5];

is the same as

    auto foo = new int[](5);

but once you get into multi-dimensional arrays, it's just confusing, because

    auto foo = new int[4][5][6];

does _not_ declare a multi-dimensional dynimac array but rather a dynamic
array of length 6 which contains a multi-dimensonal static array of dimensions
4 and 5. Instead, what you need to do is

    auto foo = new int[][][](4, 5, 6);

IMHO, we should have made it illegal to have dynamic array dimensions inside
of the brackets rather than the parens, but I don't know if we can change
that. It wouldn't be silent breakage, but it _would_ make it so that a lot of
existing code would be broken - especially because so many people put the
array dimensions between the brackets for single-dimension dynamic arrays.


3. const, immutable, and inout on the left-hand side of a function declaration
are unfortunately legal. This inevitably trips people up, because they think
that the attribute applies to the return type, when it applies to the function
itself. This is to make the function attributes consistent, because all of
the others can go on either side, but the result is that it's essentially bad
practice to ever put any attribute on the left-hand side which could apply to
the return type, because it looks like a bug. If we just made it illegal for
those attributes to go on the left, the problem would be solved, and the
result would be far less confusing and bug-prone. I think that we can make
that change with minimal breakage (since it's already bad practice to put them
no the left-hand side), but AFAIK, Walter is against the idea.


4. There are some cases (such as with static constructors and unittest blocks)
that the attributes have to go on the left for some reason. I don't remember
the reasons for it, but it's an inconsistency which definitely trips up even
seasoned D programmers from time to time.


5. The fact that pure is called pure is very problematic at this point as far
as explaining things to folks goes. We should probably consider renaming it to
something like @noglobal, but I'm not sure that that would go over very well
given the amount of breakage involved. It _does_ require a lot of explaining
though.


6. The situation with ranges and string is kind of ugly, with them being
treated as ranges of code points. I don't know what the correct solution to
this is, since treating them as ranges of code units promotes efficiency but
makes code more error-prone, whereas treating them as ranges of graphemes
would just cost too much. Ranges of code points is _mostly_ correct but still
incorrect and _more_ efficient than graphemes but still quite a bit less
efficient than code units. So, it's kind of like it's got the best and worst
of both worlds. The current situation causes inconsistencies with everything
else (forcing us to use isNarrowString all over the place) and definitely
requires frequent explaining, but it does prevent some classes of problems.
So, I don't know. I used to be in favor of the current situation, but at this
point, if we could change it, I think that I'd argue in faver of just treating
them as ranges of code units and then have wrappers for ranges of code points
or graphemes. It seems like the current situation promotes either using
ubyte[] (if you care about efficiency) or the new grapheme facilities in
std.uni if you care about cor

Re: Adam D. Ruppe's "D Cookbook" now available!

2014-05-28 Thread Szymon Gatner via Digitalmars-d-announce

On Wednesday, 28 May 2014 at 19:06:04 UTC, Misu wrote:

Thank you, I ordered mine as well !


I am already half through mine :) Great stuff!


Re: Adam D. Ruppe's "D Cookbook" now available!

2014-05-28 Thread Misu via Digitalmars-d-announce

Thank you, I ordered mine as well !


Re: Adam D. Ruppe's "D Cookbook" now available!

2014-05-28 Thread Olivier Pisano via Digitalmars-d-announce

I have just ordered mine. I can't wait to get it ! 


Adam D. Ruppe's "D Cookbook" now available!

2014-05-28 Thread Walter Bright via Digitalmars-d-announce

http://www.packtpub.com/discover-advantages-of-programming-in-d-cookbook/book

http://www.amazon.com/D-Cookbook-Adam-D-Ruppe/dp/1783287217

http://www.reddit.com/r/programming/comments/26pn00/d_cookbook_officially_published_consists_of_d/

After watching Adam's most excellent presentation at Dconf, I'm sure the book 
will be great! My copy gets here on Friday.


Re: Scott Meyers' DConf 2014 keynote "The Last Thing D Needs"

2014-05-28 Thread Walter Bright via Digitalmars-d-announce

On 5/28/2014 2:28 AM, John Colvin wrote:

On Tuesday, 27 May 2014 at 21:40:00 UTC, Walter Bright wrote:

On 5/27/2014 2:22 PM, w0rp wrote:

I'm actually a native speaker of 25 years and I didn't get it at first. Natural
language communicates ideas approximately.


What bugs me is when people say:

   I could care less.

when they mean:

   I couldn't care less.


and:

   If you think that, you have another thing coming.

when they mean:

   If you think that, you have another think coming.


http://www.youtube.com/watch?v=om7O0MFkmpw&feature=kp


At least the Queen and I agree on something!


Re: My D book is now officially coming soon

2014-05-28 Thread Walter Bright via Digitalmars-d-announce

On 5/28/2014 10:34 AM, Adam D. Ruppe wrote:

I just posted it to reddit btw:

http://www.reddit.com/r/programming/comments/26pn00/d_cookbook_officially_published_consists_of_d/



Just snagged my copy!


Re: My D book is now officially coming soon

2014-05-28 Thread Adam D. Ruppe via Digitalmars-d-announce

I just posted it to reddit btw:

http://www.reddit.com/r/programming/comments/26pn00/d_cookbook_officially_published_consists_of_d/


Re: Video of my LDC talk @ FOSDEM'14

2014-05-28 Thread Tommi via Digitalmars-d-announce

On Wednesday, 28 May 2014 at 09:14:18 UTC, Alix Pexton wrote:

On 27/05/2014 1:15 PM, Tommi wrote:

On Monday, 26 May 2014 at 05:59:35 UTC, Kai Nacke wrote:

[..]
http://video.fosdem.org/2014/K4401/Sunday/LDC_the_LLVMbased_D_compiler.webm



I can't watch this on my iPhone.


https://itunes.apple.com/gb/app/vlc-for-ios/id650377962?mt=8


Thanks. It worked. To anyone interested, you open the VLC app, 
click the cone in the upper left corner, select Open Network 
Stream and copy-paste the address of the video.


Re: Scott Meyers' DConf 2014 keynote "The Last Thing D Needs"

2014-05-28 Thread Andrzej Dwojczynski via Digitalmars-d-announce

On Wednesday, 28 May 2014 at 08:58:34 UTC, Rene Zwanenburg wrote:
I just noticed someone posted a link to the talk at gamedev[0]. 
I don't know who the poster is but the gamedev.net community is 
pretty large; this should result in quite some extra views :)


Out of curiosity - did anyone try to post it to slashdot?
If not as a news article then maybe in the comments?

Andrzej

[0] 
http://www.gamedev.net/topic/657103-scott-meyers-the-last-thing-d-needs/




Re: My D book is now officially coming soon

2014-05-28 Thread Mattcoder via Digitalmars-d-announce

On Wednesday, 28 May 2014 at 16:51:56 UTC, Mattcoder wrote:

On Wednesday, 28 May 2014 at 14:06:33 UTC, Adam D. Ruppe wrote:

On Wednesday, 28 May 2014 at 08:01:00 UTC, Mike James wrote:
I'm looking at getting the ebook version - does that version 
include the errata described above?


Yeah, those errors were in the .doc I sent in after revisions 
on chapter 1 and we didn't catch them in the final draft. But 
the subsequent chapters did them all right so hopefully people 
won't be turned off by the (IMO fairly weak anyway) first 
chapter before things get interesting later on.


Question: But any mistakes like those founded will be updated? 
And if it yes, who already purchased the PDF book will be able 
to download the new file corrected too?


Matheus.


s/founded/found.


Re: My D book is now officially coming soon

2014-05-28 Thread Mattcoder via Digitalmars-d-announce

On Wednesday, 28 May 2014 at 14:06:33 UTC, Adam D. Ruppe wrote:

On Wednesday, 28 May 2014 at 08:01:00 UTC, Mike James wrote:
I'm looking at getting the ebook version - does that version 
include the errata described above?


Yeah, those errors were in the .doc I sent in after revisions 
on chapter 1 and we didn't catch them in the final draft. But 
the subsequent chapters did them all right so hopefully people 
won't be turned off by the (IMO fairly weak anyway) first 
chapter before things get interesting later on.


Question: But any mistakes like those founded will be updated? 
And if it yes, who already purchased the PDF book will be able to 
download the new file corrected too?


Matheus.


Re: My D book is now officially coming soon

2014-05-28 Thread Joakim via Digitalmars-d-announce

On Tuesday, 27 May 2014 at 10:00:01 UTC, Szymon Gatner wrote:

On Tuesday, 6 May 2014 at 19:58:10 UTC, Nick Sabalausky wrote:

On 5/6/2014 9:11 AM, Adam D. Ruppe wrote:

On Tuesday, 6 May 2014 at 12:40:48 UTC, Szymon Gatner wrote:

Any way to see the TOC?


Hmm, not on the website yet but here it is.

> [snip]

Sounds awesome!


Jus got mail from PacktPub: D Cookbook is now released:

http://www.packtpub.com/discover-advantages-of-programming-in-d-cookbook/book

Congratz!


Thanks for the update.  I have the pdf loaded up now, looking 
forward to going through it.


Re: Scott Meyers' DConf 2014 keynote "The Last Thing D Needs"

2014-05-28 Thread Jesse Phillips via Digitalmars-d-announce

On Wednesday, 28 May 2014 at 14:39:53 UTC, anonymous_me wrote:

The first line:

  int x2; // (at global scope)

The x2 resides in Thread Local Storage (TLS). A __gshared would 
put it in global scope.

Still initialized to int.init which is zero.


D doesn't have global scope. C++ does not do TLS but that isn't 
relevant to the no cost position that C++ is taking.


Re: Scott Meyers' DConf 2014 keynote "The Last Thing D Needs"

2014-05-28 Thread anonymous_me via Digitalmars-d-announce
On Wed, 28 May 2014 04:48:09 +, Jesse Phillips wrote:

> On Tuesday, 27 May 2014 at 16:42:35 UTC, Andrei Alexandrescu 
> wrote:
>> http://www.reddit.com/r/programming/comments/26m8hy/scott_meyers_dconf_2014_keynote_the_last_thing_d/
>>
>> https://news.ycombinator.com/newest (search that page, if not 
>> found click "More" and search again)
>>
>> https://www.facebook.com/dlang.org/posts/855022447844771
>>
>> https://twitter.com/D_Programming/status/471330026168651777
>>
>>
>> Andrei
> 
> I did a translation of most of the code in the slides.
> 
> http://dpaste.dzfl.pl/72b5cfcb72e4
> 
> I'm planning to transform it into blog post (or series). Right 
> now it just has some scratch notes. Feel free to let me know 
> everything I got wrong.

The first line:

  int x2; // (at global scope)

The x2 resides in Thread Local Storage (TLS). A __gshared would put it in 
global scope.
Still initialized to int.init which is zero.



Re: Per popular demand, here are Adam D Ruppe's presentation slides

2014-05-28 Thread Adam D. Ruppe via Digitalmars-d-announce

On Tuesday, 27 May 2014 at 05:23:03 UTC, Nick Sabalausky wrote:
I always chalked it up to the whole "nerd" thing: Inverse 
relationship in outgoingness between in-person vs 
semi-anonymous.


I don't think I'm /that/ much different; I rarely start threads, 
for example, but will talk in replies, which is analogous to 
waiting for someone else to approach me in person then having the 
discussion before going back into the shadows once it runs its 
course.


I also lurk on forums for a pretty long time before posting, 
similarly to how I sit quietly in bigger groups until I get to 
know the people (and generally until someone on the inside takes 
me under their wing).


Re: My D book is now officially coming soon

2014-05-28 Thread Adam D. Ruppe via Digitalmars-d-announce

On Wednesday, 28 May 2014 at 08:01:00 UTC, Mike James wrote:
I'm looking at getting the ebook version - does that version 
include the errata described above?


Yeah, those errors were in the .doc I sent in after revisions on 
chapter 1 and we didn't catch them in the final draft. But the 
subsequent chapters did them all right so hopefully people won't 
be turned off by the (IMO fairly weak anyway) first chapter 
before things get interesting later on.




Re: Per popular demand, here are Adam D Ruppe's presentation slides

2014-05-28 Thread Dicebot via Digitalmars-d-announce

On Friday, 23 May 2014 at 19:29:12 UTC, Andrei Alexandrescu wrote:
Adam graciously shared the slides of his DConf 2014 talk with 
us:


http://imgur.com/hHCN3OL


Andrei


This was best marketing for Adam book possible :) Someone who can 
talk for an hour without any visual helpers while still 
maintaining good information structure must be really good at 
writing books ;)


Re: Dconf 2014 talks - when to be available

2014-05-28 Thread Dicebot via Digitalmars-d-announce

On Wednesday, 28 May 2014 at 12:20:34 UTC, Bruno Medeiros wrote:

On 28/05/2014 04:54, Saurabh Das wrote:


I actually prefer the slow release of the videos - it gives me 
enough
time to digest each talk and discuss it before the next one 
grabs mine
and everyone else's attention. I think releasing one video 
every few
days leads to much more in-depth discussion on the forum as 
well.


I agree with this.


video release != video announcement


Re: Scott Meyers' DConf 2014 keynote "The Last Thing D Needs"

2014-05-28 Thread Craig Dillabaugh via Digitalmars-d-announce

On Tuesday, 27 May 2014 at 21:40:00 UTC, Walter Bright wrote:

On 5/27/2014 2:22 PM, w0rp wrote:
I'm actually a native speaker of 25 years and I didn't get it 
at first. Natural

language communicates ideas approximately.


What bugs me is when people say:

   I could care less.

when they mean:

   I couldn't care less.


and:

   If you think that, you have another thing coming.

when they mean:

   If you think that, you have another think coming.


Whats wrong with "If you think that, you have another thing 
coming."?


I've always understood it sort of like say your Father saying:

"If you think that [i.e. you can steal your little brother's ice 
cream cone], then  you have another thing [i.e no ice cream, but 
maybe the leather strap] coming."




Re: My D book is now officially coming soon

2014-05-28 Thread Mike James via Digitalmars-d-announce

On Wednesday, 28 May 2014 at 09:06:12 UTC, Alix Pexton wrote:

On 28/05/2014 9:00 AM, Mike James wrote:


On Tuesday, 27 May 2014 at 14:20:49 UTC, Adam D. Ruppe wrote:

On Tuesday, 27 May 2014 at 13:27:56 UTC, Szymon Gatner wrote:

Will epub version be available too?


Yeah, I think it is already on the packt website.


I'm looking at getting the ebook version - does that version 
include the

errata described above?

--
 I've not checked them side-by-side the whole way through but 
the ePub does have the same triple colons as the PDF.


the ePub uses colour instead of font weight for the keywords in 
the text and the notes and tips are styled differently, but as 
far as I've seen so far the content is the same.


A...


Thanks. As 'early adopters' do we get a chance to upgrade :-)

--


Re: Dconf 2014 talks - when to be available

2014-05-28 Thread Bruno Medeiros via Digitalmars-d-announce

On 28/05/2014 04:54, Saurabh Das wrote:


I actually prefer the slow release of the videos - it gives me enough
time to digest each talk and discuss it before the next one grabs mine
and everyone else's attention. I think releasing one video every few
days leads to much more in-depth discussion on the forum as well.


I agree with this.

--
Bruno Medeiros
https://twitter.com/brunodomedeiros


Re: Scott Meyers' DConf 2014 keynote "The Last Thing D Needs"

2014-05-28 Thread John Colvin via Digitalmars-d-announce

On Tuesday, 27 May 2014 at 21:40:00 UTC, Walter Bright wrote:

On 5/27/2014 2:22 PM, w0rp wrote:
I'm actually a native speaker of 25 years and I didn't get it 
at first. Natural

language communicates ideas approximately.


What bugs me is when people say:

   I could care less.

when they mean:

   I couldn't care less.


and:

   If you think that, you have another thing coming.

when they mean:

   If you think that, you have another think coming.


http://www.youtube.com/watch?v=om7O0MFkmpw&feature=kp


Re: Video of my LDC talk @ FOSDEM'14

2014-05-28 Thread Alix Pexton via Digitalmars-d-announce

On 27/05/2014 1:15 PM, Tommi wrote:

On Monday, 26 May 2014 at 05:59:35 UTC, Kai Nacke wrote:

[..]
http://video.fosdem.org/2014/K4401/Sunday/LDC_the_LLVMbased_D_compiler.webm



I can't watch this on my iPhone.


https://itunes.apple.com/gb/app/vlc-for-ios/id650377962?mt=8


Re: Dconf 2014 talks - when to be available

2014-05-28 Thread Leandro Lucarella via Digitalmars-d-announce
Jacob Carlborg, el 28 de May a las 08:18 me escribiste:
> On 28/05/14 00:15, Leandro Lucarella wrote:
> 
> >I think they should be uploaded all ASAP and then you can do "official"
> >announcements in reddit or wherever you thinks it's best to promote the
> >language. But really, introducing artificial waiting time for people
> >ALREADY interested and using the language in the name of marketing is
> >really annoying!
> 
> Yeah, I completely agree. It's like when movies were first released
> in the movie theaters, then, a year later on DVD. Now days people
> expect them to be released almost at the same time for
> streaming/downloading.

Maybe we need an underground group that leaks D talks in bittorrent so
we can get them fresh 8-)

-- 
Leandro Lucarella (AKA luca) http://llucax.com.ar/
--
No es malo que en la condición humana exista la mentira. Miente el púber
si quiere ponerla.
-- Ricardo Vaporeso. Madrid, 1921.


Re: My D book is now officially coming soon

2014-05-28 Thread Alix Pexton via Digitalmars-d-announce

On 28/05/2014 9:00 AM, Mike James wrote:


On Tuesday, 27 May 2014 at 14:20:49 UTC, Adam D. Ruppe wrote:

On Tuesday, 27 May 2014 at 13:27:56 UTC, Szymon Gatner wrote:

Will epub version be available too?


Yeah, I think it is already on the packt website.


I'm looking at getting the ebook version - does that version include the
errata described above?

--
 I've not checked them side-by-side the whole way through but the ePub 
does have the same triple colons as the PDF.


the ePub uses colour instead of font weight for the keywords in the text 
and the notes and tips are styled differently, but as far as I've seen 
so far the content is the same.


A...


Re: Dconf 2014 talks - when to be available

2014-05-28 Thread Leandro Lucarella via Digitalmars-d-announce
Saurabh Das, el 28 de May a las 03:54 me escribiste:
> On Tuesday, 27 May 2014 at 23:48:44 UTC, currysoup wrote:
> >On Tuesday, 27 May 2014 at 23:08:01 UTC, Leandro Lucarella wrote:
> >>Ali Çehreli, el 27 de May a las 10:40 me escribiste:
> >>>On 05/27/2014 09:18 AM, Suliman wrote:
> >>>
> > apparently to stay on top of reddit for awhile.
>  Explain plz
> >>>
> >>>A benefit of releasing the presentations slowly is to enable
> >>>constant exposure to DConf in the coming weeks, as opposed to
> >>>making
> >>>all of them available and potentially watch interest die in a
> >>>few
> >>>days.
> >>
> >>I think they should be uploaded all ASAP and then you can do
> >>"official"
> >>announcements in reddit or wherever you thinks it's best to
> >>promote the
> >>language. But really, introducing artificial waiting time for
> >>people
> >>ALREADY interested and using the language in the name of
> >>marketing is
> >>really annoying!
> >
> >I agree 100%. Educating people currently interested is as
> >important as marketing.
> 
> I actually prefer the slow release of the videos - it gives me
> enough time to digest each talk and discuss it before the next one
> grabs mine and everyone else's attention. I think releasing one
> video every few days leads to much more in-depth discussion on the
> forum as well.

Nodoby is stopping you from doing that with what I proposed. All you
have to do is still do the one-every-few-days "official" releases, with
a nice announcement. It could be called "featured talk of today" or
whatever.

Just because some people need some time digest talks it makes NO SENSE
to have all the rest of the people that doesn't have that problem FORCED
to wait. Seriously.

-- 
Leandro Lucarella (AKA luca) http://llucax.com.ar/


Re: Scott Meyers' DConf 2014 keynote "The Last Thing D Needs"

2014-05-28 Thread Rene Zwanenburg via Digitalmars-d-announce
On Tuesday, 27 May 2014 at 16:42:35 UTC, Andrei Alexandrescu 
wrote:

http://www.reddit.com/r/programming/comments/26m8hy/scott_meyers_dconf_2014_keynote_the_last_thing_d/

https://news.ycombinator.com/newest (search that page, if not 
found click "More" and search again)


https://www.facebook.com/dlang.org/posts/855022447844771

https://twitter.com/D_Programming/status/471330026168651777


Andrei


I just noticed someone posted a link to the talk at gamedev[0]. I 
don't know who the poster is but the gamedev.net community is 
pretty large; this should result in quite some extra views :)


[0] 
http://www.gamedev.net/topic/657103-scott-meyers-the-last-thing-d-needs/


Re: Dconf 2014 talks - when to be available

2014-05-28 Thread simendsjo via Digitalmars-d-announce
On 05/28/2014 05:54 AM, Saurabh Das wrote:
> On Tuesday, 27 May 2014 at 23:48:44 UTC, currysoup wrote:
>> On Tuesday, 27 May 2014 at 23:08:01 UTC, Leandro Lucarella wrote:
>>> Ali Çehreli, el 27 de May a las 10:40 me escribiste:
 On 05/27/2014 09:18 AM, Suliman wrote:

 >> apparently to stay on top of reddit for awhile.
 > Explain plz

 A benefit of releasing the presentations slowly is to enable
 constant exposure to DConf in the coming weeks, as opposed to making
 all of them available and potentially watch interest die in a few
 days.
>>>
>>> I think they should be uploaded all ASAP and then you can do "official"
>>> announcements in reddit or wherever you thinks it's best to promote the
>>> language. But really, introducing artificial waiting time for people
>>> ALREADY interested and using the language in the name of marketing is
>>> really annoying!
>>
>> I agree 100%. Educating people currently interested is as
>> important as marketing.
> 
> I actually prefer the slow release of the videos - it gives me enough
> time to digest each talk and discuss it before the next one grabs mine
> and everyone else's attention. I think releasing one video every few
> days leads to much more in-depth discussion on the forum as well.

Agree. I find it nice to have each video gaining some time in the
spotlight and the discussions that follow. Even though I'm so exited I
actually want all the videos at once!


Re: My D book is now officially coming soon

2014-05-28 Thread Mike James via Digitalmars-d-announce


On Tuesday, 27 May 2014 at 14:20:49 UTC, Adam D. Ruppe wrote:

On Tuesday, 27 May 2014 at 13:27:56 UTC, Szymon Gatner wrote:

Will epub version be available too?


Yeah, I think it is already on the packt website.


I'm looking at getting the ebook version - does that version 
include the errata described above?


--


Re: Scott Meyers' DConf 2014 keynote "The Last Thing D Needs"

2014-05-28 Thread dennis luehring via Digitalmars-d-announce

woudl be nice to have some sort of example by example comparison
or as an extension to the page http://dlang.org/cpptod.html

Am 28.05.2014 07:40, schrieb Jesse Phillips:

On Wednesday, 28 May 2014 at 05:30:18 UTC, Philippe Sigaud via
Digitalmars-d-announce wrote:

I did a translation of most of the code in the slides.

http://dpaste.dzfl.pl/72b5cfcb72e4

I'm planning to transform it into blog post (or series). Right
now it just
has some scratch notes. Feel free to let me know everything I
got wrong.


That's a good idea. I think most of us did that while listening
to the
talk. I kept telling myself: 'oh wait, that'd simpler in D' or
'that
does not exist in D'.

As for the class inheritance problem, I'd also be interested in
an answer.


When he explained why C++ inferred a const int type as int, he
tripped me up because D does drop const for value types. But D
does the simple to explain thing, may not be the expected thing
(seen questions about it in D.learn), but it is simple to explain.





Re: Scott Meyers' DConf 2014 keynote "The Last Thing D Needs"

2014-05-28 Thread Walter Bright via Digitalmars-d-announce

On 5/27/2014 10:40 PM, Jesse Phillips wrote:

When he explained why C++ inferred a const int type as int, he tripped me up
because D does drop const for value types. But D does the simple to explain
thing, may not be the expected thing (seen questions about it in D.learn), but
it is simple to explain.


We have at times opted for an "easy to explain" rule rather than a semantically 
perfect one. For example, I've rejected several proposals to make function 
overloading more fine-grained on such grounds.


I've rarely met anyone who could explain how C++'s function overloading rules 
actually work, they just try arbitrary things until it selects the function they 
want it to.