![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Inventar
![]() Registriert seit: 24.01.2001
Beiträge: 5.631
|
![]() Eine kleine wahre Geschichte:
.NET development and deployment are supposed to be easy, and because I was writing an article about some fairly new technology just making its way into the Windows world, errors about application failures did not cause me to first suspect a corrupted runtime. I tried to make sure my new technology was correct. This failed. I then checked some old applications I knew worked. When they failed, I deduced the root of the problem: a corrupt runtime. After roughly eight hours of chasing my tail and checking the obvious, I finally downloaded the latest runtime from Microsoft. Working on the assumption that Microsoft knows their business, and believing the Web page included with the .NET runtime that says this should fix any problems, I was disheartened when my problems persisted, albeit with a new error message. At this point I was strongly contemplating abandoning the project. Since I was already logged in under the administrative account, I decided to make sure my system was up to date and went to Windows Update. Imagine my surprise when I discovered that my automatic updates weren’t. I found several critical patches which weren’t downloaded and installed, including Service Pack 2 and a critical .NET runtime patch. By the time this was complete I had two more hours invested. This made ten. Finally, my problems were solved and I was ready to start debugging my program. Even at my most charitable rates, this was a few hundred dollars of time I couldn’t bill for. Let’s compare this with the exact same project on UNIX. I had just turned in an article about this technology to another publication. Because the target audience was different, the sample application was (a) written on UNIX, (b) more complex, and (c) written in C. Now, .NET programming is supposed to be easier than C programming. Almost everything is supposed to be easier than C programming on UNIX with vi and a command line. No slick IDEs, no automatic memory allocation or garbage collection. And the C interface library I was using was more complex than the typical .NET data provider. Amazingly, I spent less time writing and debugging this application, and spent almost no time compiling and installing the database system. Total system administration time: less than half an hour. As a business decision the choice was very clear. I couldn’t afford to use .NET. Most Windows developers I know cross themselves and try to locate the exits when the topic of C development comes up, especially for web applications. When that route becomes faster and easier than Microsoft’s current preferred solution, I have to suspect that this preferred solution could be a final solution. I’m not, by the way, suggesting that UNIX computing is trouble free. But, in general, I don’t have to fight the system every time I want to do some development work. Since development is what pays my bills, the choice of operating systems and tools is pretty clear to me. If you’re a manager or own a business, this story should be important to you. Things are not as rosy in the land of .NET as the man behind the curtain would have you believe. The wizard doesn’t have a magic solution that will solve all your problems. Like Dorothy, my solution lay in the real world I was familiar with, not the Technicolor dreamland. I won’t try to fool you into thinking that C development isn’t a skilled activity. C is a language that demands developers know what they’re doing. That knowledge does not come for free. I was fortunate to have tough but skilled teachers in the Systems Programming group at Michigan State University. They made sure I was a much better programmer when I left than when I first came to them. So what’s the answer for your own work? You have to answer that question yourself. It was easy to follow the yellow brick road to the bright shining city that is .NET. Really getting what I wanted meant traveling the dusty back road of C programming. Like any good traveler, I tend to prefer the road that gets me where I’m going with the least hassle. |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|