Re: a pre-beginner's question: what is the pros and cons of .net, compared to ++
From: Nick Malik [Microsoft] (nickmalik_at_hotmail.nospam.com)
Date: 01/15/05
- Next message: Jay B. Harlow [MVP - Outlook]: "Re: Operator Overload question for VB 2005"
- Previous message: Nick Malik [Microsoft]: "Re: Large solution"
- In reply to: Gerry Hickman: "Re: a pre-beginner's question: what is the pros and cons of .net, compared to ++"
- Next in thread: Cor Ligthert: "Re: a pre-beginner's question: what is the pros and cons of .net, compared to ++"
- Reply: Cor Ligthert: "Re: a pre-beginner's question: what is the pros and cons of .net, compared to ++"
- Reply: Gerry Hickman: "Re: a pre-beginner's question: what is the pros and cons of .net, compared to ++"
- Messages sorted by: [ date ] [ thread ]
Date: Sat, 15 Jan 2005 09:33:08 -0800
In my opinion, you are not correct in your assertion.
In my opinion, C++ is much _less_ powerful that C# with the .Net framework.
C++ is more portable (for now), but also more expensive to use. The code is
considerably more difficult to read and understand, making maintenance costs
much higher. Libraries are needed to perform fairly basic things, and the
libraries are not available cross-platform in many cases. This effectively
defeats any advantage you have with a cross-platform language. Your comment
about asking 500,000 users what framework they have, is magnified if you
have to ask them if their platform will support 12 different libraries from
four vendors.
The code runs fast in C++, but the adding support for web services or third
party controls is expensive... and adoption is slow. C# code is very fast
as well, since it is compiled to the machine level by the framework. C++ is
faster, and isn't tied to the Garbage Collector, but it is far more prone to
memory leaks and security holes that can't be fixed easily.
C++ hasn't gone away, and it shouldn't (just yet). So many interfaces were
design for C++ that many new bits of code that have to talk to those
interfaces still should be written in C++. Those interfaces include device
drivers. However, if the OS has fundamental support for interfaces in .Net,
there is no reason that a device driver cannot be written in C#. C# is fast
enough to write device drivers.
> Even Microsoft's own technology is incompatible with .NET - for example,
> see if you can write a video capture application, or a tool to
> manipulate the LSA of a remote machine in .NET
I've heard this argument before... in 1992, when I was working at IBM on
OS/2. IBM wanted the new OS to have all the newest technology and a better
API. Microsoft insisted that backward compatibility was important for
adoption. The partnership between the two, that had originally launched MS
into its dominant position, ended on this disagreement. IBM went the way
that you are recommending: trash the old stuff and start over with the new
technology. Microsoft produced two lines of Operating systems that allowed
better management on the server, and fast applications on the client.
Microsoft won that battle in the marketplace. OS/2 was a huge failure for
IBM, as was the PS/2 (the same argument, only in hardware instead of
software).
I was there. Microsoft made the right choice then, and they made it again
with .Net. New stuff should filter in, but old stuff has to keep running.
Oh, and to your own point, the Local Security Authority (LSA) is managed by
the LSASS service. This model is a left over from NT4. Windows server 2003
leverages the Active Directory, as does XP. If you are still using the LSA,
you are about seven years behind the times. There is no need for Microsoft
to write new APIs in .Net to support an antiquated model. Anyone who wants
to use the old API can still do so (as you know), but new users will use a
new object model that leverages new technology... a model that is secure
from hacking. Perhaps the problem is really that your enterprise has
decided not to keep up with best practices in security, and you are taking
that out on Microsoft's technology.
--
--- Nick Malik [Microsoft]
MCSD, CFPS, Certified Scrummaster
http://blogs.msdn.com/nickmalik
Disclaimer: Opinions expressed in this forum are my own, and not
representative of my employer.
I do not answer questions on behalf of my employer. I'm just a
programmer helping programmers.
--
"Gerry Hickman" <gerry666uk@yahoo.co.uk> wrote in message
news:OjpPWKq%23EHA.1564@TK2MSFTNGP09.phx.gbl...
> Hi Lester,
>
> > a pre-beginner's question:
> > what is the pros and cons of .net, compared to C++
>
> The first thing to understand, is that C++ is much more powerful than .NET
>
> With C++ you can program any hardware/platform/os from the most
> low-level device drivers right through to the most complex user
> interface (UI) such as a professional grade drawing package, a video
> editor, or a high performance game. There are also libraries available
> that work cross-platform; windows/linux/solaris/mac.
>
> .NET (other than MONO - another story) will only work on windows, is
> slower, and can only be used for high-level programming. It's also
> fallen into the old Java trap of having multiple vulnerable frameworks
> that are incompatible with each other, meaning you can't just deploy
> your project world-wide without dozens of issues related to "what
> framework are your 500,000 users running?"
>
> .NET is good for beginners, in the same way Visual Basic allowed you to
> drag and drop "controls" onto "forms", you can also do this in .NET but
> it's become a mess with WebForms being incompatiible with WinForms and
> now they're dropping WinForms alltogether. Like any framework, the price
> of being tied to the framework is often too high and can cause more
> problems than it's worth - look into Longhorn and .NET 2.0 if you don't
> believe me.
>
> Even Microsoft's own technology is incompatible with .NET - for example,
> see if you can write a video capture application, or a tool to
> manipulate the LSA of a remote machine in .NET
>
> If you live in the teddy-bear land of "Macromedia XP" then you'll LOVE
> .NET, but if you live in the real world of Enterprise Computing, you'll
> have to think twice...
>
> --
> Gerry Hickman (London UK)
- Next message: Jay B. Harlow [MVP - Outlook]: "Re: Operator Overload question for VB 2005"
- Previous message: Nick Malik [Microsoft]: "Re: Large solution"
- In reply to: Gerry Hickman: "Re: a pre-beginner's question: what is the pros and cons of .net, compared to ++"
- Next in thread: Cor Ligthert: "Re: a pre-beginner's question: what is the pros and cons of .net, compared to ++"
- Reply: Cor Ligthert: "Re: a pre-beginner's question: what is the pros and cons of .net, compared to ++"
- Reply: Gerry Hickman: "Re: a pre-beginner's question: what is the pros and cons of .net, compared to ++"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|