July 14, 2003
"Andrew Edwards" <edwardsac@spamfreeusa.com> a écrit dans le message news: be3pk6$22d6$1@digitaldaemon.com...
> 1) What's your name?

Nicolas Repiquet

> 2) What's your programming experience?

five years

> 3) What's your D knowledge?

Beginner

> 4) What programming language are you most familiar with?

Java

> 5) What's your main operating system?

Win2000

> 6) Which type of application you want to develop in D?

Not planned yet. Probably libraries first.

> 7) Top Three Wishes for D?

- An official library repository, like Perl's CPAN.
- Tulpes, handy for multiple return values and so on.
- Sucess of course. D rulez.

-- Nicolas Repiquet


July 15, 2003
"Carlos Santander B." <carlos8294@msn.com> wrote in message news:be4ceh$2kja$1@digitaldaemon.com...
> | 7) Top Three Wishes for D?
> More acceptance

Everyone can help with this by simply talking about D here and in the regular internet newsgroups. Also, if you have some web space, put up a web page on D!


July 15, 2003
"Burton Radons" <loth@users.sourceforge.net> wrote in message news:be4ctn$2l48$1@digitaldaemon.com...
> - A useable template syntax that is integrated into the language as full-blown genericism, rather than appearing, like C++, to be attached on top of it.  In particular, it must be better suited for generic arguments to methods than either C++ or D are.

I'm not sure what you mean here.


July 19, 2003
"Walter" <walter@digitalmars.com> escribió en el mensaje
news:bf1vgj$ql1$2@digitaldaemon.com...
|
| Everyone can help with this by simply talking about D here and in the
| regular internet newsgroups. Also, if you have some web space, put up a
web
| page on D!
|

I tried to do that for a while, but it seems to me like people aren't
interested in trying new things anymore. But I still do what I can: last
week I had an assignment about garbage collection in Java. Well, it kind of
went like this: "GC was first invented for Lisp... Other major languages
that use GC are Java, D, Prolog, Eiffel...".
Eventually this has to stop being a community, and start being something
bigger, something really big, so I agree that we all should contribute with
its growing.

—————————————————————————
Carlos Santander
"Walter" <walter@digitalmars.com> escribió en el mensaje
news:bf1vgj$ql1$2@digitaldaemon.com...
|
| Everyone can help with this by simply talking about D here and in the
| regular internet newsgroups. Also, if you have some web space, put up a
web
| page on D!
|

I tried to do that for a while, but it seems to me like people aren't
interested in trying new things anymore. But I still do what I can: last
week I had an assignment about garbage collection in Java. Well, it kind of
went like this: "GC was first invented for Lisp... Other major languages
that use GC are Java, D, Prolog, Eiffel...".
Eventually this has to stop being a community, and start being something
bigger, something really big, so I agree that we all should contribute with
its growing.

————————————————————————— Carlos Santander


August 01, 2003
Walter wrote:

> "Burton Radons" <loth@users.sourceforge.net> wrote in message
> news:be4ctn$2l48$1@digitaldaemon.com...
> 
>>- A useable template syntax that is integrated into the language as
>>full-blown genericism, rather than appearing, like C++, to be attached
>>on top of it.  In particular, it must be better suited for generic
>>arguments to methods than either C++ or D are.
> 
> 
> I'm not sure what you mean here.

You stated once that one of the tests of a templating syntax is how it
implements min and max.  In D this would be:

   template Min (T)
   {
      T min (T a, T b)
      {
         return a > b ? b : a;
      }
   }

   int c = instance Min (int).min (a, b);

I'm going to overspecify for the next two languages for the purpose of
fair comparison.  In C++ this would be:

   template <class T>
   T min (T a, T b)
   {
      return a > b ? b : a;
   }

   int c = min <int> (a, b);

In both cases, templating is a separate syntax attached on the language
with as minimal mixing as possible to get the job done.  An integrated
syntax makes it part of the language; one is my own:

   $T min (TypeInfo $T, $T a, $T b)
   {
      return a > b ? b : a;
   }

   int c = min (int, a, b);

D is definitely the loser here; I have only used the feature a few
times (not for lack of wanting), but every time there's been this
identifier repetition symbolic of an unnecessary abstraction.  C++ can
do implicit instantiation (by arbitrarily altering the syntax based on usage), but still attaches templating on like the macro processing syntax it was.  An integrated syntax allows me to program with one consistent methodology.

C++ template libraries are the most illegible things I've ever had the
misfortune of dealing with.  D template libraries will be worse (at least, when they finally come around) because of even more syntactual baggage; so much so that it lessens the variety of applications they can be pragmatically used with.  Just take C++ templates, make them take much more typing but be less capable in important ways, and you have D templates.

August 02, 2003
"Burton Radons" <loth@users.sourceforge.net> wrote in message news:bgemr5$19q5$1@digitaldaemon.com...
> Walter wrote:
>
> > "Burton Radons" <loth@users.sourceforge.net> wrote in message news:be4ctn$2l48$1@digitaldaemon.com...
> >
> >>- A useable template syntax that is integrated into the language as full-blown genericism, rather than appearing, like C++, to be attached on top of it.  In particular, it must be better suited for generic arguments to methods than either C++ or D are.
> >
> >
> > I'm not sure what you mean here.
>
> You stated once that one of the tests of a templating syntax is how it implements min and max.  In D this would be:
>
>     template Min (T)
>     {
>        T min (T a, T b)
>        {
>           return a > b ? b : a;
>        }
>     }
>
>     int c = instance Min (int).min (a, b);
>
> I'm going to overspecify for the next two languages for the purpose of fair comparison.  In C++ this would be:
>
>     template <class T>
>     T min (T a, T b)
>     {
>        return a > b ? b : a;
>     }
>
>     int c = min <int> (a, b);
>
> In both cases, templating is a separate syntax attached on the language with as minimal mixing as possible to get the job done.  An integrated syntax makes it part of the language; one is my own:
>
>     $T min (TypeInfo $T, $T a, $T b)
>     {
>        return a > b ? b : a;
>     }
>
>     int c = min (int, a, b);
>
> D is definitely the loser here; I have only used the feature a few times (not for lack of wanting), but every time there's been this identifier repetition symbolic of an unnecessary abstraction.  C++ can do implicit instantiation (by arbitrarily altering the syntax based on usage), but still attaches templating on like the macro processing syntax it was.  An integrated syntax allows me to program with one consistent methodology.
>
> C++ template libraries are the most illegible things I've ever had the misfortune of dealing with.  D template libraries will be worse (at least, when they finally come around) because of even more syntactual baggage; so much so that it lessens the variety of applications they can be pragmatically used with.  Just take C++ templates, make them take much more typing but be less capable in important ways, and you have D templates.
>

> Just take C++ templates, make them take
> much more typing but be less capable in important ways

How would they be less capable, and what do we want to do about it ?  A
Petition maybe (only half joking :) ), walter what do you think ?

Charles


August 02, 2003
Charles Sanders wrote:
> "Burton Radons" <loth@users.sourceforge.net> wrote in message
> news:bgemr5$19q5$1@digitaldaemon.com...
> 
>>Just take C++ templates, make them take
>>much more typing but be less capable in important ways
> 
> 
> How would they be less capable, and what do we want to do about it ?  A
> Petition maybe (only half joking :) ), walter what do you think ?

This is an old argument - my counter-proposal actually predates the templates implementation (a year old next week) by a couple months. Search for the subjects "Templates and matrices", "Serious deficiencies in template mechanism", "C and/or C++ in D" (this one for my proposal), and "Generics in D".

I'd make some tweaks to my proposal now; "$T" instead of "TypeInfo $T" (Craig Black was right - "foo [int $T]" is redundant but better), and C++-style specialisations don't work because no argument can be said to be the owner so constraints should be separated.

Capability-wise there's no implicit instantiation in D templates, default arguments, template methods, or a huge set of hard-to-comprehend abilities.  I don't want them; my proposal isn't as flexible in some ways.  I just want generics, not a template system.

August 04, 2003
On Fri, 01 Aug 2003 14:46:40 -0700, Burton Radons <loth@users.sourceforge.net> wrote:
> Walter wrote:

> In both cases, templating is a separate syntax attached on the language with as minimal mixing as possible to get the job done.  An integrated syntax makes it part of the language; one is my own:
> 
>     $T min (TypeInfo $T, $T a, $T b)
>     {
>        return a > b ? b : a;
>     }
> 
>     int c = min (int, a, b);
> 

It can't be a template -- its readable!

The mere mention of templates was enough to convince me
to not use D.

Karl Bochert



August 04, 2003
"Andrew Edwards" <edwardsac@spamfreeusa.com> ha scritto nel messaggio news:be3pk6$22d6$1@digitaldaemon.com...
> 1) What's your name?

Riccardo De Agostini

> 2) What's your programming experience?

12 years as a professional; 19 since I first put together some lines of
Basic on a Commodore 64 (have rarely played games on it since :-) ).

> 3) What's your D knowledge?

Beginner

> 4) What programming language are you most familiar with?

Delphi, Borland Pascal, Visual Basic, C, C++ excluding templates/STL/RTTI, JavaScript, some assembler (mostly Motorola 68k, some Intel too).

> 5) What's your main operating system?

WinXP as development host; DOS, Win98, WinXP as targets.

> 6) Which type of application you want to develop in D?

Industrial and home automation with embedded systems.

> 7) Top Three Wishes for D?

1) DOS extender support (so I can actually use it at work).
2) Last few language issues: properties, bitfields, better syntax for
constructors /destructors / super.
3) A standard library, built "the D way" and meant to eliminate the need for
the C RTL.

Ric


August 04, 2003
That's funny!

Yes, generics don't have to be a hideous boil on the face of the language. ;)

Sean

"Karl Bochert" <kbochert@copper.net> wrote in message news:1103_1059967426@bose...
> On Fri, 01 Aug 2003 14:46:40 -0700, Burton Radons
<loth@users.sourceforge.net> wrote:
> > Walter wrote:
>
> > In both cases, templating is a separate syntax attached on the language with as minimal mixing as possible to get the job done.  An integrated syntax makes it part of the language; one is my own:
> >
> >     $T min (TypeInfo $T, $T a, $T b)
> >     {
> >        return a > b ? b : a;
> >     }
> >
> >     int c = min (int, a, b);
> >
>
> It can't be a template -- its readable!
>
> The mere mention of templates was enough to convince me
> to not use D.
>
> Karl Bochert