March 21, 2004
larry cowan schrieb:

> Are template files releaseable in any form which does not show the
> entire implementation?  I suppose you could make it depend on a library
> of type-specific routines, but...?

No, it currently isn't. And no to take a further question away, it isn't possible in C++ either, not even with export which is only supported in 1/2 rarely used compilers.

I would imagine Walter has been thinking about providing such a faeture in a commercial compiler implemenatation, but now it's too early to care. D language puts no constraint to it.

-eye
March 21, 2004
> Buzz words are bad, to be sure, but worse is not knowing what to call a concept and trying to pass on knowledge of it (via text postings) without any name for it. IMO, Tag Inheritance is an eminently meaningful term, for an extremely important concept. Please explain what's wrong with my using
it
> in the responses I gave during this thread.

My comment was about if the concept is really needed or not. Of course, if something is useful, it needs some terminology, but you know what goes on: some people like to produce as many buzzwords as possible. Hence the term 'buzzword-compliant', to show that one tries to impress with the use of as many buzzwords as possible.

> The example's not the best, of course, but then it was a made up on the spot, trying to be as simple as possible.

The example had an error in it, and this error made the example not easy to be understood. (That is, If I have understood your example).

> Well, it must not be of any use then. Better tell all those ATL
programmers

ATL sucks.

> who have created literally hundreds of thousands (maybe millions) of

Hold on buddy. Millions ? :-)

COM sucks!!! (at least from good-old C++).

> perfectly useful

Well, give me an example one thing that I can do with ATL and can't do with
Java (for example).

> Oh, and a dash of realism about the
> extent of one's own knowledge is always useful as well, methinks.

That goes both ways.

Featuritis is a serious illness.




March 21, 2004
"Achilleas Margaritis" <axilmar@b-online.gr> wrote in message news:c3k7ej$1gv2$1@digitaldaemon.com...
> > Buzz words are bad, to be sure, but worse is not knowing what to call a concept and trying to pass on knowledge of it (via text postings)
without
> > any name for it. IMO, Tag Inheritance is an eminently meaningful term,
for
> > an extremely important concept. Please explain what's wrong with my
using
> it
> > in the responses I gave during this thread.
>
> My comment was about if the concept is really needed or not. Of course, if something is useful, it needs some terminology, but you know what goes on: some people like to produce as many buzzwords as possible. Hence the term 'buzzword-compliant', to show that one tries to impress with the use of as many buzzwords as possible.

Hard to avoid in this game, though, isn't it. I don't know what to tell you. There are a couple of useful things, and I applied names to them. You don't like that because you don't believe the concepts are of any use and/or that they shouldn't be given names.

I don't know what to tell you. It appears I can do nothing to ameliorate your distress.

> > The example's not the best, of course, but then it was a made up on the spot, trying to be as simple as possible.
>
> The example had an error in it, and this error made the example not easy
to
> be understood. (That is, If I have understood your example).

It didn't have an error, at least AFAIK. It was inept and unconvincing. The two things are quite different.

> > Well, it must not be of any use then. Better tell all those ATL
> programmers
>
> ATL sucks.

Compared to what. Doesn't everything suck?

ATL is the best thing I know of for writing in-process COM servers, when one is balancing robustness, flexibility and development time. What's better

> > who have created literally hundreds of thousands (maybe millions) of
>
> Hold on buddy. Millions ? :-)

Hold on to what?

I said *maybe* millions. I don't know. There are reputed to be 5 million C++ programmers in the world. Let's say 50% of them program on Windows. I would say all the COM programmers I know personally have written probably on average 50-100 COM components each over the last 5-10 years. So to make it into the millions, we only need 10-20,000 out of 2,500,000 Windows programmers to be doing COM. That's 0.8% of them.

Let's say I'm wildly optimistic about how many COM components a C++ Windows programmer might make, and let's say it's only 10. That still only requires 8% of them to have done COM.

Since COM has pervaded most aspects of Windows programming, do you think it's that ridiculous to think that 8% of C++/Windows programmers have been doing it?

> COM sucks!!! (at least from good-old C++).

I don't like to get personal, but that's such a dumb thing to say. COM is an incredibly elegant concept, which has been screwed over by attempts to shoehorn it into things it is not appropriate for, like DCOM and scripting.

Pure COM is wonderful, and widely appreciated ... has it not occured to you to wonder that Walter has made D interfaces and COM interfaces binary compatible? (I confess up front that Walter thinks pretty much the same about COM as I do.)

> > perfectly useful
>
> Well, give me an example one thing that I can do with ATL and can't do
with
> Java (for example).

LOL!

http://www.shellext.com/

Can you write those things in Java, and have them be as small (~50KB) and requiring *nothing* but Win32 system libraries.

I'm sure you could find a million (well, hundred's of thousands, anyway) of
similar examples.

> > Oh, and a dash of realism about the
> > extent of one's own knowledge is always useful as well, methinks.
>
> That goes both ways.
>
> Featuritis is a serious illness.

Quite true, but the proof of the pudding is in the eating. If you still think it's all a waste of time when the DTL's finished, I'll print the entire source out, and eat it raw with a little Cianti.

:)




March 21, 2004
>Quite true, but the proof of the pudding is in the eating. If you still
>think it's all a waste of time when the DTL's finished, I'll print the
>entire source out, and eat it raw with a little Cianti.
>
>:)
>  
>

lol, what is Cianti?

Better make sure the code is short, I Achilleas may be to stubborn to change his mind :)
March 21, 2004
On Mon, 22 Mar 2004 01:46:21 +0800, J Anderson <REMOVEanderson@badmama.com.au> wrote:

>
>>Quite true, but the proof of the pudding is in the eating. If you still think it's all a waste of time when the DTL's finished, I'll print the entire source out, and eat it raw with a little Cianti.
>>
>>:)
>> 
>>
>
>lol, what is Cianti?
>
>Better make sure the code is short, I Achilleas may be to stubborn to change his mind :)

http://www.imdb.com/title/tt0102926/quotes

search for "chianti" (sp?)
March 21, 2004
Do you mean Fava beans and a nice Chianti?

J Anderson wrote:
> 
>> Quite true, but the proof of the pudding is in the eating. If you still
>> think it's all a waste of time when the DTL's finished, I'll print the
>> entire source out, and eat it raw with a little Cianti.
>>
>> :)
>>  
>>
> 
> lol, what is Cianti?
> 
> Better make sure the code is short, I Achilleas may be to stubborn to change his mind :)
March 21, 2004
I do indeed. :)

"Brad Anderson" <brad@sankaty.dot.com> wrote in message news:c3kl96$27o1$1@digitaldaemon.com...
> Do you mean Fava beans and a nice Chianti?
>
> J Anderson wrote:
> >
> >> Quite true, but the proof of the pudding is in the eating. If you still think it's all a waste of time when the DTL's finished, I'll print the entire source out, and eat it raw with a little Cianti.
> >>
> >> :)
> >>
> >>
> >
> > lol, what is Cianti?
> >
> > Better make sure the code is short, I Achilleas may be to stubborn to change his mind :)


March 21, 2004
Ilya Minkov wrote:
> satelliittipupu schrieb:
> 
>> It says in the comparison page that D doesn't have multiple inheritance. This is
>> one of the most usefull and timesaving thing in the way I program C++. All the
>> other stuff about D sound very good, and if the multiple inheritance would be a
>> reality in D, I might consider using it for my apps.
>> Otherwise I have to congratulate you on your courage on making your own
>> language. I like this kind of attitude, that when something isn't perfect and
>> you can't change it, create the perfect thing on your own!
> 
> 
> In D, Multiple inhritance would not work well, since all objects inherit from a common base, as opposed to C++ where they don't.
> 
> As a practical replacement for multiple inheritance, mix-ins and interfaces can hold. If i remember correctly, someone has shown how to implement mix-ins using templates in D.

Can someone point me in the direction of that?

I'm currently rolling an alternative Streams package, and I have to say, I keep thirsting for multiple inheritance. For I/O streams it makes a whole lot more sense, and offers a very elegant solution to splitting input and output. However, it's not going to happen. These mixins seem like they could desolve my frustration, though. But untill they're implemented, I'd love to see if one could work around the problem.

Cheers,
Sigbjørn Lund Olsen
March 21, 2004
Sigbjørn Lund Olsen wrote:
>> As a practical replacement for multiple inheritance, mix-ins and interfaces can hold. If i remember correctly, someone has shown how to implement mix-ins using templates in D.
> 
> Can someone point me in the direction of that?

Certainly: <http://ikagames.com/andy/d/streams.d>

It's not perfect by a longshot, but it's a neat concept, and it works. :)

 -- andy
March 22, 2004
Andy Friesen wrote:

> Sigbjørn Lund Olsen wrote:
> 
>>> As a practical replacement for multiple inheritance, mix-ins and interfaces can hold. If i remember correctly, someone has shown how to implement mix-ins using templates in D.
>>
>>
>> Can someone point me in the direction of that?
> 
> 
> Certainly: <http://ikagames.com/andy/d/streams.d>
> 
> It's not perfect by a longshot, but it's a neat concept, and it works. :)
> 
>  -- andy

Hmm. On the off glance, maybe it's just me needing to look at it more closely, I don't see entirely how it would help me implement the Readable, Writable, and Seekable interfaces separately and then combine them in any sensible fashion. Must play a bit with it, I suppose.

Thanks, though.

Cheers,
Sigbjørn Lund Olsen