October 09, 2015
On Friday, 9 October 2015 at 04:15:42 UTC, Ali Çehreli wrote:
> Semi-relatedly, a colleague who has heard many D sales pitches from me over the years is recently "looking at Go" and liking it very much. He came to me today telling me about this awesome Go feature where you just type a dot after a pointer and the language is so great that it works! You don't need to type (*p).member. Isn't Go awesome!
>
> I responded "yep, it's a great feature and those gostards will never admit that they took that feature from D." (There is probably earlier precedence but it felt great to say it to my friend. :) )
>
> Ali

Stole from D? You mean java right?
October 09, 2015
On 09-Oct-2015 21:44, Freddy wrote:
> On Friday, 9 October 2015 at 04:15:42 UTC, Ali Çehreli wrote:
>> Semi-relatedly, a colleague who has heard many D sales pitches from me
>> over the years is recently "looking at Go" and liking it very much. He
>> came to me today telling me about this awesome Go feature where you
>> just type a dot after a pointer and the language is so great that it
>> works! You don't need to type (*p).member. Isn't Go awesome!
>>
>> I responded "yep, it's a great feature and those gostards will never
>> admit that they took that feature from D." (There is probably earlier
>> precedence but it felt great to say it to my friend. :) )
>>
>> Ali
>
> Stole from D? You mean java right?

There is no value type objects in Java so no. More likely C#.

-- 
Dmitry Olshansky
October 09, 2015
On Friday, 9 October 2015 at 18:44:50 UTC, Freddy wrote:
> On Friday, 9 October 2015 at 04:15:42 UTC, Ali Çehreli wrote:
>> Semi-relatedly, a colleague who has heard many D sales pitches from me over the years is recently "looking at Go" and liking it very much. He came to me today telling me about this awesome Go feature where you just type a dot after a pointer and the language is so great that it works! You don't need to type (*p).member. Isn't Go awesome!
>>
>> I responded "yep, it's a great feature and those gostards will never admit that they took that feature from D." (There is probably earlier precedence but it felt great to say it to my friend. :) )
>>
>> Ali
>
> Stole from D? You mean java right?

Java doesn't have pointers.
October 09, 2015
On Friday, 9 October 2015 at 19:54:19 UTC, Jeremy DeHaan wrote:
> On Friday, 9 October 2015 at 18:44:50 UTC, Freddy wrote:
>> On Friday, 9 October 2015 at 04:15:42 UTC, Ali Çehreli wrote:
>>> Semi-relatedly, a colleague who has heard many D sales pitches from me over the years is recently "looking at Go" and liking it very much. He came to me today telling me about this awesome Go feature where you just type a dot after a pointer and the language is so great that it works! You don't need to type (*p).member. Isn't Go awesome!
>>>
>>> I responded "yep, it's a great feature and those gostards will never admit that they took that feature from D." (There is probably earlier precedence but it felt great to say it to my friend. :) )
>>>
>>> Ali
>>
>> Stole from D? You mean java right?
>
> Java doesn't have pointers.

-_-

Yeah reference are definitively not pointer. No they aren't. No I told you they aren't. Nope. Not even a little ! No way ! That's not true ! I told you that's not true. Nope !

October 09, 2015
On Friday, 9 October 2015 at 21:21:10 UTC, deadalnix wrote:
> On Friday, 9 October 2015 at 19:54:19 UTC, Jeremy DeHaan wrote:
>> On Friday, 9 October 2015 at 18:44:50 UTC, Freddy wrote:
>>> On Friday, 9 October 2015 at 04:15:42 UTC, Ali Çehreli wrote:
>>>> [...]
>>>
>>> Stole from D? You mean java right?
>>
>> Java doesn't have pointers.
>
> -_-
>
> Yeah reference are definitively not pointer. No they aren't. No I told you they aren't. Nope. Not even a little ! No way ! That's not true ! I told you that's not true. Nope !

I guess you could argue it that way, but I don't see references and pointers as the same. Similar, yes, but not the same.
October 10, 2015
On Friday, 9 October 2015 at 23:57:28 UTC, Jeremy DeHaan wrote:
> On Friday, 9 October 2015 at 21:21:10 UTC, deadalnix wrote:
>> On Friday, 9 October 2015 at 19:54:19 UTC, Jeremy DeHaan wrote:
>>> On Friday, 9 October 2015 at 18:44:50 UTC, Freddy wrote:
>>>> On Friday, 9 October 2015 at 04:15:42 UTC, Ali Çehreli wrote:
>>>>> [...]
>>>>
>>>> Stole from D? You mean java right?
>>>
>>> Java doesn't have pointers.
>>
>> -_-
>>
>> Yeah reference are definitively not pointer. No they aren't. No I told you they aren't. Nope. Not even a little ! No way ! That's not true ! I told you that's not true. Nope !
>
> I guess you could argue it that way, but I don't see references and pointers as the same. Similar, yes, but not the same.

Java references (as well as C# references and D references) are managed pointers. Their only real differences from "normal" pointers are that they're managed by the GC, you can't assign an address to them (except by assigning another reference to them), and that you can't dereference them except when accessing one of their members. There's no question that per the computer science definition of a pointer, they qualify. They just aren't quite what you get in C/C++ or from D's pointers which aren't class references.


- Jonathan M Davis
October 10, 2015
On Friday, 9 October 2015 at 19:48:39 UTC, Dmitry Olshansky wrote:
> On 09-Oct-2015 21:44, Freddy wrote:
>>
>> Stole from D? You mean java right?
>
> There is no value type objects in Java so no. More likely C#.

Delphi / Object Pascal had it in the mid 90s IIRC. Long before C#, and possibly before Java was released.
October 11, 2015
On Saturday, 10 October 2015 at 22:54:15 UTC, Warwick wrote:
> On Friday, 9 October 2015 at 19:48:39 UTC, Dmitry Olshansky wrote:
>> On 09-Oct-2015 21:44, Freddy wrote:
>>>
>>> Stole from D? You mean java right?
>>
>> There is no value type objects in Java so no. More likely C#.
>
> Delphi / Object Pascal had it in the mid 90s IIRC. Long before C#, and possibly before Java was released.

Simula is the origin, it came about in the 60s.

October 11, 2015
On 10/9/2015 12:48 PM, Dmitry Olshansky wrote:
> On 09-Oct-2015 21:44, Freddy wrote:
>> Stole from D? You mean java right?
>
> There is no value type objects in Java so no. More likely C#.

Since C# was an internal Microsoft project at the time this was developed for D, no.
October 11, 2015
On Friday, 9 October 2015 at 19:48:39 UTC, Dmitry Olshansky wrote:
> On 09-Oct-2015 21:44, Freddy wrote:
>> On Friday, 9 October 2015 at 04:15:42 UTC, Ali Çehreli wrote:
>>> Semi-relatedly, a colleague who has heard many D sales pitches from me
>>> over the years is recently "looking at Go" and liking it very much. He
>>> came to me today telling me about this awesome Go feature where you
>>> just type a dot after a pointer and the language is so great that it
>>> works! You don't need to type (*p).member. Isn't Go awesome!
>>>
>>> I responded "yep, it's a great feature and those gostards will never
>>> admit that they took that feature from D." (There is probably earlier
>>> precedence but it felt great to say it to my friend. :) )
>>>
>>> Ali
>>
>> Stole from D? You mean java right?
>
> There is no value type objects in Java so no. More likely C#.

Nope - C# uses -> to access member of a struct referenced by a pointer. See https://msdn.microsoft.com/en-us/library/50sbeks5.aspx

The difference between reference types and pointers is that with reference types, THERE ARE NO value varaiables. So it's safe to use . instead of -> for accessing member through a reference because there is no value type, because there is no such a thing as accessing a member of a reference type without dereferencing it. So it's safe to do so on classes in C#, but not on structs.

This is the innovation in D(regarding this issue) - that on struct types, the same operator is used for BOTH the value type and the pointer to it.