🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #13407

Re: C++, object: dynamische array.

#13407
From: Bart.Vanhauwaert
Date: Wed, 25 Jul 2001 00:05
53 lines
3361 bytes
SpaceRunner <xspacerunner@skynet.be> wrote:
> Dat is inderdaad een mogelijkheid, alleen ik gebruik die templates niet 

Dat had ik vroeger ook.

> zo graag. Ze maken alles veel te complex en ze generen soms teveel extra 

Complex? Ja, het is waar dat eens je de echt krachtige functor combinatoren
en zo gaat gebruiken, het resultaat behoorlijk complex kan worden.
Maar dat hoeft niet. Zolang je je beperkt tot de gewone containers,
streams and string class is het toch redelijk eenvoudig me dunkt.

Het argument van de zogenaamd veel code die gegenereerd wordt komt
meer dan eens terug. Er zit dan ook een grond van waarheid in. Je moet
wel weten dat moderne implementaties van de STL uiteraard al het mogelijke
doen om die code-bloat te vermijden. Bijvoorbeeld als je enkel containers
gebruikt met pointers erin, is er geen sprake van code bloat.

In verschillende (toch wel relatief grote) projecten waar ik aan meewerk(te)
w(o/e)rd de STL stevig gebruikt en code bloat is nooit een probleem
geweest.

> code. De templates waren beter als gewone libraries ge�mplementeerd. Dit 
> is wel mijn eigen ervaring ermee.

Dat vind ik net niet. De templates zijn 1. type safe 2. ook van
toepassing op basic types (int/double/..) en 3. veroorzaken
geen enkel performantieverlies @ run time. Met gewone libraries (ik
veronderstel dus dat je op de Java manier bedoeld) houdt men gewoon
void pointers bij en haalt men heksen toeren om te casten uit. Dat
is dus niet 1., niet 2. en ook geen 3. Alledrie de zaken vind ik
persoonlijk alleen al de moeite waard!

Bovendien blijkt vooral 1. zodanig probleem dat het in de Java wereld
bijvoorbeeld een veelgebruikt idioom te zijn om zelf een IdentifierVector
te gaan afleiden van java.lang.vector. Zoiets zou men waarschijnlijk
ook in C++ doen indien de STL geen template library was. Gevolg ->
weer code bloat, maar nu met de hand geschreven.

> Nu ja, ik zie wel, als ik er niks anders op vind dan zullen we de STL 
> manier maar eens proberen.

En tenslotte het allergrootste voordeel van de STL :

Waarschijnlijk zitten er pakken minder bugs in dan in wat je zelf zou
schrijven. Dat is het voordeel dat ik het meest apprecieer. Bovendien
kan je door met STLPort te compileren het correcte gebruik van de STL
gedeeltelijk controleren.

cu bart

-- 
http://www.irule.be/bvh/
Technical Details
Message-ID: <0g2lj9.409.ln@10.0.0.2>
Path: arc1-ca.pugleaf.net!archiver1.google.com!newsfeed.google.com!sn-xit-02!supernews.com!isdnet!nerim.net!fr.clara.net!heighliner.fr.clara.net!news.tele.dk!195.238.2.15!skynet.be!louie!not-for-mail
References: <3B5D9479.7020106@skynet.be> <ndbkj9.78q.ln@10.0.0.2> <3B5DD472.3090601@skynet.be>

Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII
X-Google-Thread: fcea4,341bfcdb6a0f55c4
X-Google-Attributes: gidfcea4,public
X-Google-ArrivalTime: 2001-07-25 02:29:02 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!newsfeed.google.com!sn-xit-02!supernews.com!isdnet!nerim.net!fr.clara.net!heighliner.fr.clara.net!news.tele.dk!195.238.2.15!skynet.be!louie!not-for-mail
Sender: - <bvh@ns1.irule.be>
From: Bart.Vanhauwaert@nowhere.be
Subject: Re: C++, object: dynamische array.
Newsgroups: be.comp.programming
References: <3B5D9479.7020106@skynet.be> <ndbkj9.78q.ln@10.0.0.2> <3B5DD472.3090601@skynet.be>
User-Agent: tin/1.4.4-20000803 ("Vet for the Insane") (UNIX) (Linux/2.2.17-21mdksecure (i686))
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
Date: Wed, 25 Jul 2001 02:05:20 +0200
Message-ID: <0g2lj9.409.ln@10.0.0.2>
Lines: 53
NNTP-Posting-Host: 194.78.202.248
X-Trace: 996053334 reader0.news.skynet.be 4382 194.78.202.248
X-Complaints-To: abuse@skynet.be