Re: Reading great code
- From: "Kevin Spencer" <spam@xxxxxxx>
- Date: Mon, 16 Oct 2006 13:56:21 -0400
..Net is used by the U.S. Military. Is that mission-critical enough for you?
--
HTH,
Kevin Spencer
Microsoft MVP
Chicken Salad Shooter
http://unclechutney.blogspot.com
A man, a plan, a canal, a palindrome that has.. oh, never mind.
"Tim Rowe" <tim@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:45339969$0$8721$ed2619ec@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Kevin Spencer wrote:
I use it as a hobbyist. As I said, professionally I don't use C#. I'm
not aware of any mission-critical applications that use .NET (or Mono),
and the more critical applications use specialist operating systems (and
compilers, and libraries) or no operating system at all (except perhaps
as a loader), for just the reason you've spotted.
I'm afraid you're just plain wrong here. First of all, if you use *any*
programming language above the Assembler level (which is, in fact, a
library of reusable machine code), you use various libraries (DLLs), as
well as your own custom code. The C language, for example, can't be used
without at the very least the stdio library. C++ has the MFC library.
Java has the J2SE library. The .Net platform is no different.
None of those languages is used for the sort of application I am dealing
with, at least not at the higher criticalities. Nor are their associated
libraries. And even when the languages used do have code libraries
available, those libraries are generally not used unless they have been
specifically designed with mission-critical applications in mind.
Second, there are *lots* of mission-critical applications out there
written with the .Net platform. It is not a prototyping platform, any
more than Java is a prototyping platform.
I'm not suggesting that .net is a prototyping platform; I know it's better
than that. There's a distinction between real-world applications in
general and mission-critical applications in particular. I'm dealing with
applications that can kill a few hundred people at a time if they go wrong
(and I work with people who are dealing with applications that can kill a
few thousand people at a time). I'm not aware of .net being in used that
sort of application, and I'd be very worried if it were, not because
there's anything wrong with .net but because that's not what .net is
designed to be good at. There's a lot of complexity in .net and in MS
Windows which gives the richness that AFAICS is a great help in the
cost-effective development of commercial-strength applications but which
is a problem for mission-critical. The hazards can't be completely
eliminated, but the more of them that are taken out of the system the
better.
Yes, as soon as I use a compiler I'm doing some code reuse courtesy of the
compiler's code generator. I was careful not to say that there was no
reuse, just that it's treated with a great deal of caution. Oh, and on the
more critical projects I've worked on, the I/O routines /have/ been
custom-written in assembler. Before you ask, the correctness of the
microprocessor is a continuing issue, but it's a question of eliminating
unnecessary risks and being aware of (and managing) the risks that are
left.
.
- Follow-Ups:
- Re: Reading great code
- From: Ian Semmel
- Re: Reading great code
- From: Tim Rowe
- Re: Reading great code
- References:
- Reading great code
- From: gt8887b
- Re: Reading great code
- From: John Browning
- Re: Reading great code
- From: Jon Skeet [C# MVP]
- Re: Reading great code
- From: John Browning
- Re: Reading great code
- From: Kevin Spencer
- Re: Reading great code
- From: Tim Rowe
- Re: Reading great code
- From: Kevin Spencer
- Re: Reading great code
- From: Tim Rowe
- Re: Reading great code
- From: Kevin Spencer
- Re: Reading great code
- From: Tim Rowe
- Reading great code
- Prev by Date: Re: Application.Run() problem
- Next by Date: Re: Copy files backgroundworker with progressbar
- Previous by thread: Re: Reading great code
- Next by thread: Re: Reading great code
- Index(es):
Relevant Pages
|