🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #11014

Re: oproep aan de programmeurs:wat moet ik kiezen ?

#11014
From: Serve La
Date: Mon, 18 Feb 2002 08:07
83 lines
5255 bytes
"Sjoerd Schreuder" <sa_schreuder@wanadoo.nl> wrote in message
news:3C7047EC.EC6753E0@wanadoo.nl...
> Pieter Philippaerts wrote:
> > Ik weet niet zeker of dat voor IL ook zo is. IL heeft voor zover ik weet
ongeveer
> > alles wat x86 ook heeft en ik zie dus geen probleem om C++ te laten
compilen
> > naar IL (after all, het compiled al naar zoveel verschillende instructie
> > sets).
>
> Ik ben eens wat gaan zoeken in google en wat gaan lezen. Hopelijk krijgen
> we daardoor een discussie op grond van feiten in plaats van
> "gevoelens", "vermoedens", en "90% zeker".
>
> Samenvatting:
> * destructors en/of stack-based variabelen hebben een andere semantiek
>   dan in C++ voorgeschreven is. Daarmee gooi je een belangrijk techniek
>   in C++ (bekend onder de gekke naam RAII) overboord. Zonder RAII zou
>   ik een stuk minder productief in C++ zijn.

Je bedoelt dat een destructor in C# pas aangeroepen wordt als de GC het tijd
vindt om hem echt weg te gooien ipv als ie z'n scope verliest?

> * RTTI (RunTime Type Information) van IL is anders dan die van C++,
>   dus je kunt de C++ RTTI niet gebruiken.

RTTI van IL is uitgebreider, dus dan is die van C++ makkelijker te
implementeren

> * geen non-public inheritance in .NET. Jammer, want dat heeft toch
>   echt wel toepassingen.

da's een goeie inderdaad. Maar dan mag jij me es uitleggen wat je kunt
uitdrukken met protected inheritance

> * const (en volatile) worden niet ondersteund. En "const-correctness"
>   is in C++ toch een zeer belangrijk concept.

Die was ik vergeten in m'n vorige inderdaad

> Dus we houden over: C++ zonder destructors, stack based variabelen,
> templates, const, en RTTI. Probeer maar eens een serieus, modern C++
> programma te vinden dat die onderdelen niet gebruikt.
>
> Mijn conclusie: "managed C++" is geen C++ want te veel onderdelen
> van C++ zijn niet mogelijk.
>
> Details:
> [Alle quotes zijn voorafgegaan door "*", mijn commentaar staat ertussen]
>
>
http://msdn.microsoft.com/msdnmag/nettop.asp?page=/msdnmag/issues/01/07/vsne
t/vsnet.asp&ad=ads.ddj.com/msdnmag/premium.htm
> * Unfortunately, managed classes can't be created on the stack.
> * They have to be created on the managed heap so that the garbage
> * collector can manage them. .NET does have something called value types
> * that can be allocated on the stack but, unfortunately, they are not
allowed
> * to have destructors. In fact, managed types don't really have
destructors
> * (the method that's called when the object goes out of scope) at all in
> * the C++ sense.
> C++ constructors kunnen dus niet in .NET worden gevangen.
>
> Verderop:
> * (.NET doesn't support managed templates yet.)
> Dus ook de C++ templates kunnen we voorlopig nog vergeten.
>
> http://www.gotdotnet.com/team/cplusplus/articles/mcspec.doc
> Hoofdstuk 25 noemt wat beperkingen:
> * There is no verifier for MSIL generated for Managed Extensions
>   for C++ programs.
>   Developers and testers need to check code for conditions that may
>   have adverse effects. These include buffer and stack overflows, type
>   correctness, and pointer operations.
> * The C++ RTTI operators shall not be applied to managed objects.
>   RTTI is not supported.
> * The common language runtime has no representation for non-public
>   inheritance.
> * The const and volatile modifiers on member functions are not supported.

(shit, werkoverleg, gegroet)
Technical Details
Message-ID: <3c70b63f$0$220$4d4ebb8e@news.nl.uu.net>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!isdnet!newsfeed.online.be!195.129.110.18.MISMATCH!bnewspeer00.bru.ops.eu.uu.net!bnewspost00.bru.ops.eu.uu.net!emea.uu.net!news.nl.uu.net!not-for-mail
References: <uXu88.122912$rt4.11582@afrodite.telenet-ops.be> <1013109746.799866@seven.kulnet.kuleuven.ac.be> <3C63C40B.BA1DDAA9@iae.nl> <1013181054.194148@seven.kulnet.kuleuven.ac.be> <3C63EE8A.DEE29046@iae.nl> <1013187868.875791@seven.kulnet.kuleuven.ac.be> <3c6c35f1.5840688@newszilla.xs4all.nl> <1013742119.309832@seven.kulnet.kuleuven.ac.be> <3c6e35cf.1533535@newszilla.xs4all.nl> <1013895537.659605@seven.kulnet.kuleuven.ac.be> <slrna6tm41.3mc.usenet@dolens.mobach.nl> <1013913710.524385@seven.kulnet.kuleuven.ac.be> <3C6FD2B5.1D31CC72@wanadoo.nl> <1013970800.921078@seven.kulnet.kuleuven.ac.be> <rn8z9saqz0.fsf@keyser.soze.com> <3C701E9B.E4E373FF@wanadoo.nl> <DdVb8.28378$ql6.2476775@zwoll1.home.nl> <1013988325.966701@seven.kulnet.kuleuven.ac.be> <3C7047EC.EC6753E0@wanadoo.nl>

Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit
X-Google-Thread: 107324,65d4c4d6a1e8dc39
X-Google-Attributes: gid107324,public
X-Google-Thread: fcea4,65d4c4d6a1e8dc39
X-Google-Attributes: gidfcea4,public
X-Google-ArrivalTime: 2002-02-18 00:07:29 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!isdnet!newsfeed.online.be!195.129.110.18.MISMATCH!bnewspeer00.bru.ops.eu.uu.net!bnewspost00.bru.ops.eu.uu.net!emea.uu.net!news.nl.uu.net!not-for-mail
From: "Serve La" <stay@content.nl>
Newsgroups: be.comp.programming,nl.comp.programmeren
References: <uXu88.122912$rt4.11582@afrodite.telenet-ops.be> <1013109746.799866@seven.kulnet.kuleuven.ac.be> <3C63C40B.BA1DDAA9@iae.nl> <1013181054.194148@seven.kulnet.kuleuven.ac.be> <3C63EE8A.DEE29046@iae.nl> <1013187868.875791@seven.kulnet.kuleuven.ac.be> <3c6c35f1.5840688@newszilla.xs4all.nl> <1013742119.309832@seven.kulnet.kuleuven.ac.be> <3c6e35cf.1533535@newszilla.xs4all.nl> <1013895537.659605@seven.kulnet.kuleuven.ac.be> <slrna6tm41.3mc.usenet@dolens.mobach.nl> <1013913710.524385@seven.kulnet.kuleuven.ac.be> <3C6FD2B5.1D31CC72@wanadoo.nl> <1013970800.921078@seven.kulnet.kuleuven.ac.be> <rn8z9saqz0.fsf@keyser.soze.com> <3C701E9B.E4E373FF@wanadoo.nl> <DdVb8.28378$ql6.2476775@zwoll1.home.nl> <1013988325.966701@seven.kulnet.kuleuven.ac.be> <3C7047EC.EC6753E0@wanadoo.nl>
Subject: Re: oproep aan de programmeurs:wat moet ik kiezen ?
Date: Mon, 18 Feb 2002 09:07:33 +0100
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2600.0000
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000
Lines: 85
Message-ID: <3c70b63f$0$220$4d4ebb8e@news.nl.uu.net>
NNTP-Posting-Host: www.cdeurope.nl
X-Trace: 1014019648 news.nl.uu.net 220 194.229.82.1
X-Complaints-To: abuse@nl.uu.net