POV-Ray : Newsgroups : povray.off-topic : Visual C# .net (and XNA) first impressions : Re: Visual C# .net (and XNA) first impressions Server Time
5 Sep 2024 09:24:54 EDT (-0400)
  Re: Visual C# .net (and XNA) first impressions  
From: Darren New
Date: 12 Oct 2009 17:54:39
Message: <4ad3a59f@news.povray.org>
Warp wrote:
> Darren New <dne### [at] sanrrcom> wrote:
>> I don't know. C# does it by not having header files.
> 
>   Well, nothing stops you from implementing everything *in* the class
> declaration in C++. (Well, except if you want to keep some degree of
> modularity.)

Right.

>> I'm merely pointing out that it's hypocritical to claim that it's better to 
>> *have* to maintain something manually because then you're not dependent on a 
>> tool to maintain it.
> 
>   I don't see separate declarations and implementations as such a big problem
> as you seem to.

I don't either. I'm just pointing out that it's silly to say not *having* to 
do that is a *problem.*  I'm not bashing C++. I'm saying it's silly to say 
that C++ is superior in the aspect that it *makes* you manually maintain a 
separate file with the information in it that C# programs can generate 
automatically. At least because you can *also* maintain that information 
manually in C#.

>   How do you stop someone from adding a new private function to your class
> from the outside, then?

Because you have to compile all the parts of the class at the same time in 
C#. If you're *really* worried about it, you sign the result. :-)

>> That doesn't work for instance methods, does it?  An instance method 
>> actually has to be a member of the class in the class declaration, yes? (I'm 
>> just double-checking I understand that part.)
> 
>   Well, if everything is public, what do you need private methods for?

Where did I say everything is public?  I just said that the private methods 
wind up being visible in the public "interface" file in C++.  Again, I was 
just commenting in terms of people complaining there was too much "visible" 
in the C# way of doing things.

> You can replace them with
> local functions (ie. local to the compilation unit, ie. in a nameless
> namespace).

Hmm. But you don't get a "this" pointer, right? You need to start being 
explicit about everything that OO is supposed to make implicit, like 
accessing member variables from inside the function and all?

-- 
   Darren New, San Diego CA, USA (PST)
   I ordered stamps from Zazzle that read "Place Stamp Here".


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.