Thread overview
Re: Interview with InformIT part 2/3
Aug 18, 2010
bearophile
Aug 18, 2010
Walter Bright
Aug 19, 2010
bearophile
Aug 19, 2010
Walter Bright
Aug 19, 2010
Nick Sabalausky
August 18, 2010
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
August 18, 2010
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.

August 19, 2010
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
August 19, 2010
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.

August 19, 2010
"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 :)