From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,e28ffe0eaf31d1b6 X-Google-Attributes: gid103376,public From: Brian Rogoff Subject: Re: Ada vs C++ Date: 1997/09/05 Message-ID: #1/1 X-Deja-AN: 270107079 References: <34090462.4652@easystreet.com> <340C47F8.670B@osc.edu> Newsgroups: comp.lang.ada Date: 1997-09-05T00:00:00+00:00 List-Id: On 5 Sep 1997, Robert Dewar wrote: <... discussion of C++ template metaprograms deleted...> > So, we see from the above (if you believe it), that C++ is the way to > go if you want something that is incredibly powerful, incredibly complicated > and incredibly ugly. Lets not forget that there are lots of other features of C++ that interact to make it complicated and ugly, from an Ada perspective. So the experience of C++ templates, while helpful, is not entirely convincing. There are some good ideas in C++, though I agree that this (very specific case of embedding a little language in the template system) is not one of them. > Seriously, I think this quest after "power" in languages, rather than > basic functionality, is misguided. I agree that you can waste a lot of time playing with features that may seem powerful but may end up not being worthwhile for practical development. However, I don't know of any good way other than experience to decide what is "basic functionality", and even then we'll always have disagreements (modules, MI, assertions, ...). > An important ingrediant in achieving reliability is to keep things simple > at all levels. You are the last person in the world who needs to be reminded that the concept of "simplicity" is heavily overloaded! What do you think about the idea of automatically instantiating generic subprograms by inferring parameters but *not* values, i.e., none of this "template metaprogram" stuff, but a simple :-) generalization of Ada overloading? Any difference in perspective as a user vs as a compiler writer? -- Brian