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=-0.9 required=5.0 tests=BAYES_00,FORGED_GMAIL_RCVD, FREEMAIL_FROM autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,5af5c381381ac5a7 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,CP1252 Path: g2news1.google.com!postnews.google.com!e5g2000yqn.googlegroups.com!not-for-mail From: Maciej Sobczak Newsgroups: comp.lang.ada Subject: Re: Ada requires too much typing! Date: Wed, 9 Jun 2010 00:50:17 -0700 (PDT) Organization: http://groups.google.com Message-ID: References: <03f84a0a-e070-43a9-9b68-920345f64f94@r27g2000yqb.googlegroups.com> <1c704c1e-1b2e-427f-ae0e-3b2a0f976c7c@y4g2000yqy.googlegroups.com> NNTP-Posting-Host: 137.138.182.236 Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable X-Trace: posting.google.com 1276069817 12015 127.0.0.1 (9 Jun 2010 07:50:17 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Wed, 9 Jun 2010 07:50:17 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: e5g2000yqn.googlegroups.com; posting-host=137.138.182.236; posting-account=bMuEOQoAAACUUr_ghL3RBIi5neBZ5w_S User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3,gzip(gfe) Xref: g2news1.google.com comp.lang.ada:11495 Date: 2010-06-09T00:50:17-07:00 List-Id: On 8 Cze, 10:53, "Martin Krischik" wrote: > > In other words, you have been exposed to the overly object-oriented > > style. > > And how is that any better then the over templatized way used today? You mean - how is that any worse. :-) The overly object-oriented style (OOO (tm)) promotes or even relies on overly dynamic memory management model. This naturally leads to Pointers Everywhere Driven Development (PEDD). The overly templatized way has its disadvantages, but at least allows to preserve the value-oriented design approach, which is simply safer. With a reasonable use of typedefs (type renamings) I find it very appropriate and readable. > > As I've already said - this design approach is representative for > > '80s. There is a reason for why today's most acknowledged libraries > > are not designed this way. > > Yes, but it's speed over everything again. No. I perceive it as safety over everything. (yes, I'm intentionally provocative here, but there is a point, really) > This is why the why the STL =A0 > =93classes=94 have no virtual destructor. No. The STL classes have no virtual destructors, because they also have no virtual functions and as such it makes absolutely no sense to derive from them. In other words, they are not intended for polymorphic use. For comparison, think about IOStreams - this *is* a polymorphic framework with lots of virtual functions. Take it as a proof that design decisions in C++ are not "speed over everything". Polymorphism just makes sense for IOStreams and it just does not for containers. Or at least this is what C++ thought. > vector<> had to be as fast as the =A0 > build in array. Not really - it uses the dynamic memory, while built-in arrays do not have to. > Any =A0 > design compromise acceptable as long as speed is not compromised. See IOStreams for contradiction of your claims. > I don't like the STL much. The designers of Ada.Containers did. ;-) > The reason is that foremost I see myself as an =A0 > OO programmer and the language is just a tool. I see myself as a software engineer and the paradigm is just a tool. (again intentionally provocative here) > Reading the rest of you post I wonder if C++ has given up on being an =A0 > object orientated language? It has not given up anything, as the OO was never the focus. C++ is a multi-paradigm language, like Ada. It supports OO but does not force it. -- Maciej Sobczak * http://www.inspirel.com YAMI4 - Messaging Solution for Distributed Systems http://www.inspirel.com/yami4