Re: Interview with InformIT part 2/3

2010-08-19 Thread ponce
In the meantime that Reddit thread is one of the worst I've seen on that usually interesting site. Some C++ programmers seem to hate D a lot. In my experience, convincing someone who have personally invested a lot in C++ is _hard_. People who care about big teams are not convinced at all by

Re: Interview with InformIT part 2/3

2010-08-19 Thread Leandro Lucarella
Walter Bright, el 18 de agosto a las 12:25 me escribiste: Leandro Lucarella wrote: Walter Bright, el 18 de agosto a las 10:08 me escribiste: bearophile wrote: Currently in the D2 GC there is no notion of pinned/unpinned class instances, but eventually an attribute as @pinned may be added to

Re: Interview with InformIT part 2/3

2010-08-19 Thread Leandro Lucarella
Walter Bright, el 18 de agosto a las 15:31 me escribiste: bearophile wrote: Walter Bright: There is no need for a pin attribute, the gc can determine if a class needs pinning or not. The same is probably true for pure functions too, the compiler can determine what functions are pure and

Re: Interview with InformIT part 2/3

2010-08-19 Thread Walter Bright
Leandro Lucarella wrote: With the precise heap scanning patch for DMD the GC can automatically pin memory, because it has enough information to differentiate between real pointers and words which types are not really known, so a block can be moved *only* if is only pointed to by real pointers,

Re: Interview with InformIT part 2/3

2010-08-19 Thread Leandro Lucarella
Walter Bright, el 19 de agosto a las 13:08 me escribiste: Leandro Lucarella wrote: With the precise heap scanning patch for DMD the GC can automatically pin memory, because it has enough information to differentiate between real pointers and words which types are not really known, so a block

Interview with InformIT part 2/3

2010-08-18 Thread Andrei Alexandrescu
http://www.informit.com/articles/article.aspx?p=1622265 Andrei

Re: Interview with InformIT part 2/3

2010-08-18 Thread Andrei Alexandrescu
On 08/18/2010 05:13 AM, Andrei Alexandrescu wrote: http://www.informit.com/articles/article.aspx?p=1622265 Andrei Now on reddit: http://www.reddit.com/r/programming/comments/d2j8n/d_programming_language_interview_with_andrei/ Thanks davebrk! Andrei

Re: Interview with InformIT part 2/3

2010-08-18 Thread Vladimir Panteleev
On Wed, 18 Aug 2010 13:13:25 +0300, Andrei Alexandrescu seewebsiteforem...@erdani.org wrote: http://www.informit.com/articles/article.aspx?p=1622265 Thanks, that was an interesting read. It's possible that I'm missing something, but I think that C++'s default constructors +

Re: Interview with InformIT part 2/3

2010-08-18 Thread Andrei Alexandrescu
On 08/18/2010 06:46 AM, Vladimir Panteleev wrote: On Wed, 18 Aug 2010 13:13:25 +0300, Andrei Alexandrescu seewebsiteforem...@erdani.org wrote: http://www.informit.com/articles/article.aspx?p=1622265 Thanks, that was an interesting read. It's possible that I'm missing something, but I think

Re: Interview with InformIT part 2/3

2010-08-18 Thread bearophile
Andrei Alexandrescu: http://www.reddit.com/r/programming/comments/d2j8n/d_programming_language_interview_with_andrei/ I will need time to digest this interesting second part of your interview, you say many complex things. In the meantime that Reddit thread is one of the worst I've seen on that

Re: Interview with InformIT part 2/3

2010-08-18 Thread Walter Bright
bearophile wrote: Currently in the D2 GC there is no notion of pinned/unpinned class instances, but eventually an attribute as @pinned may be added to D3, plus its related semantics. It adds complexity to the language and it needs to interact with the GC, so it will get useful as the D GC

Re: Interview with InformIT part 2/3

2010-08-18 Thread Michel Fortin
On 2010-08-18 06:13:25 -0400, Andrei Alexandrescu seewebsiteforem...@erdani.org said: http://www.informit.com/articles/article.aspx?p=1622265 Andrei Quoting: The most difficult scenario here is a class that has a struct as a member. If the struct has a destructor, it will be run

Re: Interview with InformIT part 2/3

2010-08-18 Thread Jonathan M Davis
On Wednesday, August 18, 2010 09:59:27 bearophile wrote: Andrei Alexandrescu: http://www.reddit.com/r/programming/comments/d2j8n/d_programming_language _interview_with_andrei/ I will need time to digest this interesting second part of your interview, you say many complex things. In the

Re: Interview with InformIT part 2/3

2010-08-18 Thread Leandro Lucarella
Walter Bright, el 18 de agosto a las 10:08 me escribiste: bearophile wrote: Currently in the D2 GC there is no notion of pinned/unpinned class instances, but eventually an attribute as @pinned may be added to D3, plus its related semantics. It adds complexity to the language and it needs to

Re: Interview with InformIT part 2/3

2010-08-18 Thread Walter Bright
Leandro Lucarella wrote: Walter Bright, el 18 de agosto a las 10:08 me escribiste: bearophile wrote: Currently in the D2 GC there is no notion of pinned/unpinned class instances, but eventually an attribute as @pinned may be added to D3, plus its related semantics. It adds complexity to the

Re: Interview with InformIT part 2/3

2010-08-18 Thread Andrei Alexandrescu
On 08/18/2010 11:59 AM, bearophile wrote: Andrei Alexandrescu: http://www.reddit.com/r/programming/comments/d2j8n/d_programming_language_interview_with_andrei/ I will need time to digest this interesting second part of your interview, you say many complex things. In the meantime that

Re: Interview with InformIT part 2/3

2010-08-18 Thread bearophile
Walter Bright: There is no need for a pin attribute, the gc can determine if a class needs pinning or not. The same is probably true for pure functions too, the compiler can determine what functions are pure and what are not pure. But the purpose of a @pinned is that: 1) The default becomes

Re: Interview with InformIT part 2/3

2010-08-18 Thread Walter Bright
bearophile wrote: Walter Bright: There is no need for a pin attribute, the gc can determine if a class needs pinning or not. The same is probably true for pure functions too, the compiler can determine what functions are pure and what are not pure. But the purpose of a @pinned is that: 1)

Re: Interview with InformIT part 2/3

2010-08-18 Thread bearophile
Walter Bright: The other problem with a pinned/notpinned object is the object itself cannot control who or how someone is pointing to it. The type system may tell apart three kinds of pointers/references: 1) hand-managed pointers, to GC memory or C heap memory; 2) GC-managed pointers to pinned

Re: Interview with InformIT part 2/3

2010-08-18 Thread Walter Bright
bearophile wrote: Walter Bright: The other problem with a pinned/notpinned object is the object itself cannot control who or how someone is pointing to it. The type system may tell apart three kinds of pointers/references: 1) hand-managed pointers, to GC memory or C heap memory; 2) GC-managed

Re: Interview with InformIT part 2/3

2010-08-18 Thread bearophile
Walter Bright: Microsoft's managed C++ on .net comes with multiple pointer types - managed and unmanaged pointers - as far as I know, this was a technical success yet a massive failure with users. How do you define failure? Maybe for D2 multiple pointer types are a failure as you say, but

Re: Interview with InformIT part 2/3

2010-08-18 Thread Walter Bright
bearophile wrote: Walter Bright: Microsoft's managed C++ on .net comes with multiple pointer types - managed and unmanaged pointers - as far as I know, this was a technical success yet a massive failure with users. How do you define failure? Nobody wanted to use it. Maybe for D2 multiple

Re: Interview with InformIT part 2/3

2010-08-18 Thread Nick Sabalausky
Walter Bright newshou...@digitalmars.com wrote in message news:i4hvjh$91...@digitalmars.com... Being forced to use something doesn't make that thing a success. Unfortunately, I can think of a lot of counterexamples (any monopoly or oligopoly, for instance). But I agree in spirit :)