www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - Re: Interview with InformIT part 2/3

reply bearophile <bearophileHUGS lycos.com> writes:
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 memory; 3) GC-managed pointers to unpinned memory. But this is a long story, I have already discussed this topic a bit, there are problems with pointers on the stack: http://www.digitalmars.com/webnews/newsgroups.php?art_group=digitalmars.D&article_id=108544 I am not yet able to design a thing so complex alone, so sorry for the noise :-) I need to learn more and improve, first. Bye, bearophile
Aug 18 2010
parent reply Walter Bright <newshound2 digitalmars.com> writes:
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 pointers to pinned memory; 3) GC-managed pointers to unpinned memory. But this is a long story, I have already discussed this topic a bit, there are problems with pointers on the stack: http://www.digitalmars.com/webnews/newsgroups.php?art_group=digitalmars.D&article_id=108544 I am not yet able to design a thing so complex alone, so sorry for the noise :-) I need to learn more and improve, first.

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. I have plenty of experience with multiple pointer types coming from my 16 bit compiler work. I prefer to run screaming from that path.
Aug 18 2010
parent reply bearophile <bearophileHUGS lycos.com> writes:
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 in my opinion "managed C++" is not a language, it's not designed to write complete programs, it's designed to build bridges between C# (dotnet) and C++ (and C, etc). I know people that use managed C++ professionally, no one of them likes to use it, but it seems they will keep using it. So I don't think managed C++ is a failure. Bye, bearophile
Aug 18 2010
parent reply Walter Bright <newshound2 digitalmars.com> writes:
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 pointer types are a failure
 as you say, but in my opinion "managed C++" is not a language,

It meets every definition of one.
 it's not designed to write complete programs,

Yes, it is. It was intended to be a big deal. It fell way short of that with users.
 it's designed to build bridges between
 C# (dotnet) and C++ (and C, etc). I know people that use managed C++
 professionally, no one of them likes to use it, but it seems they will keep
 using it. So I don't think managed C++ is a failure.

Please revisit the "no one of them likes to use it". Being forced to use something doesn't make that thing a success.
Aug 18 2010
parent "Nick Sabalausky" <a a.a> writes:
"Walter Bright" <newshound2 digitalmars.com> wrote in message 
news:i4hvjh$91i$1 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 :)
Aug 18 2010