Entries:
Comments:
Posts:

Loading User Information from Channel 9

Something went wrong getting user information from Channel 9

Latest Achievement:

Loading User Information from MSDN

Something went wrong getting user information from MSDN

Visual Studio Achievements

Latest Achievement:

Loading Visual Studio Achievements

Something went wrong getting the Visual Studio Achievements

Eric Lippert - Isn't .NET cool because you don't need to know a lot about how the underlying system

Download

Right click “Save as…”

Eric Lippert, Microsoft's "scripting guy," opines on what makes .NET better than, say, old-style Visual C++.

Follow the Discussion

  • electricninjaelectricnin​ja "I just had the coolest idea..."

    For writing "ordinary" applications, fine. Rock on, .NET.

    But any time we need to write a complex, speed-sensitive subsystem, whether an OS emulator, a game, a 3D modeller, or anything else of sufficient size, the performance demanded by consumers will always lie somewhere between the best that .NET can give us and the absolute limits of the machine.  And that's why we will always need "open reign on the 32-bit memory space", right up until the unlikely moment that .NET is hardcoded in hardware.

  • LwatsonLwatson One ugly mug...
    Electricninja wrote

    But any time we need to write a complex, speed-sensitive subsystem, whether an OS emulator, a game, a 3D modeller...

    This is true perhaps but most applications, indeed most of the applications where the kind of problems caused by forgetting to free some memory, or not checking that you have enough room for the stream of data, or even making sure that you are reading the stuff you think you are reading, are not overly complex or speed sensitive, or an os emulator, or a 3d modeler, or for that matter a game. They are the run of the mill 'CRUD' (Create, Update, and Delete) applications that act as the glue holding together almost everything in the modern day business world.
     
    These applications, the ones that often enough need to be maintained on a weekly basis as they are asked to do new things in different ways.

    These are the applications that benefit from code management. Shaving boatloads of time from their management cycles, making it feasable to have customization available to small and mid sized busines again. 

    You are right, run of the mill applications, the boring stuff that 99% of us work with day in and out. Managed code is just what the doctor ordered.

    my 2c 
  • Need a tripod please, or a warning: "hand-held footage, take your anti-nausea pills now!"
  • "Isn't .NET cool because you don't need to know a lot about how the underlying system works?"

    It's cool because it enables me to choose if I want to ignore things I may not care about at that time.

    I found Java much more restrictive in this way back in its early days. It felt much more like do it their way - not at all. With the InterOP I can choose. COM and Win32 is still down there, somewhere. 

    In most business applications the majority of surprises are of the kind - "Wow! It will take care of that for me too?" I just love it.

    /Lars.
  • codeRonincodeRonin the acquisition of wealth is not my driving force
    Oh, great idea! Can I look forward to more memory leaks, unnessary resource gobbling, and fragemented stacks?

    Guess there is only one more solution for that, more hardware, more to spend money!

    Sometimes more innovation is more choking. Fine, give us the option, but we also want the option to get into the nitty gitty hardare if we need to.

    Its a great beginners tool, not an expert tool.
  • scobleizerscobleizer I'm the video guy
    Sorry, that was our first interview and we were trying out different things. You'll see in other videos that I do, indeed, use a tripod.
  • I dont agree with some of the arguments presented.
    The .net arcitechture as such are not slower than native c or c++ code, but the current implementation is..
    Your code dont execute directly on the hardware. Its managed by a "man in the middle", the jit compiler during runtime. And thats why you have the 10 % or so, performance hit.
    Microsoft actually has some of the componets in the gac precompiled to native code suited for your
    underlaying hardware..You can argue that precomileing makes a less versetile system, cuz if your precompiled component relies on 3 other components, and one of those breakes  your precomiled component are made useless.(windows update)
    But as I see it, this is the direction of the .net execution model for the future.

    Second. The .net runtime knows more about the underlaying hardware than usual c and c++ compilers, and can in theory produce faster code than a c/c++ compilers today.
    That is years off, but the arcitechture supports it.

    Third, the argument that a c/c++ programmer automatically produce faster and better code than .net programmer is false.
    There is few programmers that actually posess memory optimization knowlege on a high level. And those who do, are much less productive than a "normal" .net programmer.
    And when you know that 85% of development projects are not finished in due time, most companies will perfer cutting costs with less development time with .net

    Forth, .net does not exclude the underlaying hardware. You can use it directly with managed c++ and c#.

    Fifth, 85 % of web applications has buffer overflows and for each hotfix one issue, 3 more errors will be introduced.
    Costs will be less with a safer execution model.

    Sixt, the desktop machines of today are fat clients with speed and memory just waiting to be used.
    So here it is..and people are complaining of speed issues.

    But there is no such thing as free lunch..So yea, today .net are slower. Ultimatly the project design and choosing the right tools for the right job wil decide.

  • "Eric Lippert - Isn't .NET cool because you don't need to know a lot about how the underlying system works?"

    Furthermore, I bevelieve Don Box has mentioned somewhere that, the main job of a programmer is to create more and more abstractions on top of existing ones.

    The .NET framework has done programmers the favor in abstracting a lot of the Hardware from our code consequently production will increase as control over the underlying systems decreases. I believe this is great since history may be able to repeat itself again. Remember when thousands of transistors together used to be public available in a circuit? Now they are all abstracted and closed in an IC lowering cost of manufactoring and increasing productivity. I strongly believe that managed code may also abstract underlying systems (or logical systems) in order to increase productivity or maybe even field replacement, who knows?

    Erick.

  • ClarkeClarke Up Up and Away
    AnitaR wrote:
    Need a tripod please, or a warning: "hand-held footage, take your anti-nausea pills now!"


    I disagree!

    The rawness of this format gives the viewer a real sense of being in the room.

    I love it!
  • bugsy_malonebugsy_malone Gibraltar
    I'll put my vote with you - the handheld is very personable.  Now, if i were watching these videos with VR goggles...that might be different, but on a tiny media player screen I think i'll be able to handle it. Smiley
  • CharlesCharles Welcome Change
    ErickS wrote:

    "Eric Lippert - Isn't .NET cool because you don't need to know a lot about how the underlying system works?"

    Furthermore, I bevelieve Don Box has mentioned somewhere that, the main job of a programmer is to create more and more abstractions on top of existing ones.

    The .NET framework has done programmers the favor in abstracting a lot of the Hardware from our code consequently production will increase as control over the underlying systems decreases. I believe this is great since history may be able to repeat itself again. Remember when thousands of transistors together used to be public available in a circuit? Now they are all abstracted and closed in an IC lowering cost of manufactoring and increasing productivity. I strongly believe that managed code may also abstract underlying systems (or logical systems) in order to increase productivity or maybe even field replacement, who knows?

    Erick.



    You are spot on.


    Charles

Remove this comment

Remove this thread

close

Comments Closed

Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums,
or Contact Us and let us know.