Re: Reading great code
- From: Tim Rowe <tim@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
- Date: Mon, 16 Oct 2006 15:38:22 +0100
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: Arne Vajhøj
- Re: Reading great code
- From: Kevin Spencer
- 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
- Reading great code
- Prev by Date: Re: Figure out when mouse cursor enters/leaves form
- Next by Date: Binding Datasource to an object ?
- Previous by thread: Re: Reading great code
- Next by thread: Re: Reading great code
- Index(es):
Relevant Pages
|