Re: a pre-beginner's question: what is the pros and cons of .net, compared to ++

From: Gerry Hickman (gerry666uk_at_yahoo.co.uk)
Date: 01/19/05


Date: Wed, 19 Jan 2005 22:48:47 +0000

Hi Daniel,

>>OK, try deleting all the COM interface CLSIDs from the registry of a test
>>workstation, then run a full-featured fully managed .NET application on
>>it. Does it work?

> Likely not, as the windows forms architecture wraps a number of activex
> controls,

OK, now we're getting somewhere.

> if memory serves(also, fwiw, on some systems the system may well
> be using COM to host the CLR). Outside of that, a pretty large portion of
> code can be run without using COM,

OK.

> Now, tell me, does what one would call a full featured C++ app run? Not one
> written to avoid using COM,

No, but the difference is that C++ does not pretend to be "new" or
"different" or "cutting edge" or "independent of COM", whereas .NET
does. Someone recently commented in this group "COM must die", so I just
want to get the facts straight.

> Of course a large part of it is a facade

OK, that's my point.

> (I mean come on, half of the STL is
> a facade for underlying interfaces as well).

Again, the difference is, that it does not claim to be otherwise...

> Are there any specific classes\functions you are curious about?

Not really, but thanks for letting me know about String.

>>examples of it's use for video capture. All I can find are examples that
>>use C++.

> I don't recall if there are any examples or not, I was toying with it ages
> ago and I'm pretty sure I got managed code to work with it. Again, if your
> definition of "pure" is no COM interop,

Yes of course I'm excluding COM interop! If you say "C#.NET can do this
and C#.NET can do that", then obviously we're talking about what Nick
calls the "cutting edge" - fire up VS.NET and pretend it's just like VB6
- drag and drop a few "controls" and double click to add some event
handlers. I agree I should have stated that more clearly, but any fool
can make calls to COM and get COM functionality, but suddenly the whole
teddy-bear land of .NET comes crashing to a halt, and if you're going to
use COM interop, you may as well cut out all the nonsense, bloat and
middle-layers and make the calls in C++.

The bottom line is back to where we started. .NET is "limited". It can't
do video capture and it can't manage Local Security Policy and it would
not surprise me if v2.0 is just as bad.

> PURE as in no unmanaged code? If that is your definition of pure a managed
> executable couldn't even execute, since the JIT is written in unmanaged
> code.

Obviously I'm talking about "within the .NET environment", not what goes
on behind the scenes. What use is it, if you have to keep making calls
to COM and unmanaged code everytime you need to do something useful?
There's also too much of it that's dependent of certain operating
systems being installed (e.g. WIA on XP).

> Anyway, the DirectX capture mechanism is COM based, thus you cannot really
> avoid using COM. However, it is quite possible to interop the required COM
> interfaces.

OK, well that's clear now.

> Sure. And some of us have to write applications that will fit in 256k of
> memory along with any libraries, etc. Some of your arguments thus far have
> been almost like "Its not good for what I do so it must suck".

Not my intention, and I didn't say it sucks, I just said it was limited
and gave examples.

> I did expect you'd figure out that it was a commercial product and actually
> *download* the trial and examine it.

You mean reverse engineer it? I actually received Cleaner with Adobe
Premiere but quickly uninstalled it as I disliked it in quite a serious
way. I prefer open source tools for encoding/decoding.

> developers had for a long time, the concept of C++ ever becoming irrelevent
> was pretty far fetched up until right about the 2ghz barrier was
> broken(atlesat for me). At this point you can see that eventually it will
> die off, perhaps even in your lifetime

That's fine with me if it dies off, provided we have a viable
alternative - at present we do not. For example do you think we'll be
seeing the next version of Adobe InDesign or Photoshop written in .NET,
or how about Quake v4?? You are claiming that .NET is just as powerful
and just as fast so the above should work just fine...

> Anyway, the question is not can .NET operate without C++, but can .NET
> replace C++ in some of its old domains(in other words, is it relevent?).

I think it was really good for server side web, but even that's becoming
more of a mess than it should be, due to disparate framework versions
and certain features being tied to certain o/s versions.

> It can, and it will, and as time goes on more and more of C++'s strongholds
> will fall to .NET, java, python and others.

Don't forget PERL, but you are forgetting this is Microsoft. Java,
python and PERL do not exist, and currently Microsoft's own core SDK and
the very heart of what makes Windows tick, is still only accessible from
C++, and I'm talking here about the Jan 2005 SDK docs, not something
from years ago. There's been no serious windows development since 2001,
everything since is veneer. Scratch away the surface and it's NT 3.51 at
the core, and if you need any really useful information about windows,
you'll actually have to load up the NT 3.51 docs, because that's the
last place it was properly documented. Where is the resource kit for
Windows Server 2003 and why is it that this so-called "enterprise"
server forces the installation of security risk teddy-bear components
such as IE and Media Player?

Not only that, but have you noticed Microsoft have started to silently
remove pages from the MSDN they consider to be "a bit too complicated"
for the new breed of XP and VB.NET heads? For example in Jan 2005 MSDN
they've taken down the resource kits which include chapters on things
like Active Directory domain and forest strategy.

People like me (who work on big networks) are getting the message that
Microsoft are losing interest in this market sector and I understand why
- It's much more profitable to have home users downloading pay-per-view
movies EVERY night than worry about a few volume license customers who
only upgrade once a year.

-- 
Gerry Hickman (London UK)


Relevant Pages

  • SecurityFocus Microsoft Newsletter #49
    ... Subject: SecurityFocus Microsoft Newsletter #49 ... Microsoft Windows NNTP Denial of Service Vulnerability ... Microsoft IIS SSI Buffer Overrun Privelege Elevation Vulnerability ... Microsoft ISA Server H.323 Memory Leak Denial of Service... ...
    (Focus-Microsoft)
  • SecurityFocus Microsoft Newsletter #154
    ... MICROSOFT VULNERABILITY SUMMARY ... ISS RealSecure Server Sensor SSL Denial Of Service Vulnerabi... ... Roger Wilco Remote Server Side Buffer Overrun Vulnerability ... available for Microsoft Windows operating systems. ...
    (Focus-Microsoft)
  • SecurityFocus Microsoft Newsletter #77
    ... MICROSOFT VULNERABILITY SUMMARY ... Novell GroupWise Web Root Disclosure Vulnerability ... Microsoft Windows NT Security Policy Bypass Vulnerability ... CVS Server Global Variable Denial Of Service Vulnerability ...
    (Focus-Microsoft)
  • Re: after installing KB011829 OWA is not working anymore
    ... Windows Vista or IE 7.0 no longer includes support for the ActiveX control ... The resolution for this issue is to install hotfix KB 911829. ... and to the back-end server. ... Microsoft CSS Online Newsgroup Support ...
    (microsoft.public.exchange.connectivity)
  • SecurityFocus Microsoft Newsletter #153
    ... MICROSOFT VULNERABILITY SUMMARY ... ZoneAlarm Random UDP Flood Denial Of Service Vulnerability ... FloosieTek FTGatePro Mail Server Path Disclosure Vulnerabili... ... Microsoft Windows NetBIOS Name Service Reply Information Lea... ...
    (Focus-Microsoft)