A Measure of Success..

I took a little pride in managed code and the .NET Framework generally today when I popular consultant told me he turned down a big project in the bay area because the client wanted only unmanaged code… How 20th century of them ;-).   Heard any similar stories?

Comments (9)

  1. On the flip-side, I’ve been able to accept contracts for upwards of 150 to 200 dollars and hour for unmanaged code work because everyone else is turning the opportunities down. I will say, pulling down the government contracts, I’ve yet to see any pop up that want managed code. If I see any managed code contracts come out of a naval base, homeland security, or JPL I’ll let you know because that would TRULY be a measure of success.

  2. I’ve done .NET contract work for some contractors who developed apps for the Navy. They’re doing it, but it’s mostly at the departmental/smaller projects level. The Navy is big into J2EE/Oracle, unfortunately.

  3. Jeff Key says:

    I’ve been doing .NET full time (well over 40 hrs a week) since the beta days. We had a client on a Microsoft early adopter program during the beta and have been all .NET since. I remember "back in the day" when .NET was still very new in the enterprise and the press would go on and on about how no one was using it; we couldn’t train our people on .NET fast enough! The best part was that, except for the initial project, we’ve had to do zero interop. I can’t imagine doing anything else. I’ve said it for years now, but it still rings true: .NET made software development fun again.

  4. Rodrigo Strauss says:

    Yes. When you show a simple Winform app consuming 25MB RAM, and Winword consuming 10MB, every client thinks twice.

    I did a ADO.NET app. Some forms, some queries. It was toooo slow. I did it again in VB6, problem solved. Ok, it was Win98, but…

    C++ is hard to develop, but even bad code will not be as slow as .net. If you use CString, str::string, CComVariant, CComBSTR, the code becomes clear and easy. And even if you leak every allocation you will not use more than 30MB.

    .NET is hard to optimize.

  5. Maoni Stephens says:

    Rodrigo, I am curious to know what tools you have used to look at your memory. If you haven’t tried, I’d strongly recommend taking a look at CLRProfiler which you can get at http://www.microsoft.com/downloads/details.aspx?FamilyId=86CE6052-D7F4-4AEB-9B7A-94635BEEBDDA&displaylang=en (comes with a detailed doc that explains how to use it).

  6. doing it since beta 2 in an investment bank

    with Yukon datawarehousing it will become VERY big

  7. Keith Patrick says:

    Rodrigo: I don’t know if I agree with you on the notion that badly-written C++ will still be faster than .Net code. Poorly written assembly code can be slower than .Net code. There was, in fact, a benchmarking done on a bunch of languages, and C# cumulatively came in a very close 2nd to MSVC++ in terms of performance (Actually, Java 1.4 could get 2nd or even first if they optimized just one form of the math tested). .Net is hard to optimize at the low level, but high-level optimizations generally get you bigger boosts. Also, by leveraging a first-party platform, you get free speed boosts as they focus their considerable manpower at optimizing the guts of the framework (same thing happens every time DirectX takes advantage of the newest instruction sets Intel adds)

    Also, a simple app might take 25 MB in memory footprint, but a) does that footprint grow in direct proportion to the complexity of your code? and b) is memory optimization really that important for applications? I don’t mean to trivialize memory, but there is generally a time/speed tradeoff, and perhaps .Net chose speed (which is expensive) over space (which is cheap)