Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Interesting blog post on asynchronous exceptions in .NET

Interesting blog post on asynchronous exceptions in .NET

Scheduled Pinned Locked Moved The Lounge
csharpvisual-studiocomtoolsarchitecture
8 Posts 7 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S Offline
    S Offline
    S Senthil Kumar
    wrote on last edited by
    #1

    Here[^]. I've especially been bitten by the soft vs hard OOM exceptions problem.

    Regards Senthil [MVP - Visual C#] _____________________________ My Home Page |My Blog | My Articles | My Flickr | WinMacro

    M C 2 Replies Last reply
    0
    • S S Senthil Kumar

      Here[^]. I've especially been bitten by the soft vs hard OOM exceptions problem.

      Regards Senthil [MVP - Visual C#] _____________________________ My Home Page |My Blog | My Articles | My Flickr | WinMacro

      M Offline
      M Offline
      M dHatter
      wrote on last edited by
      #2

      You know what is more interesting? think about this... Is there such thing as true async processing? How do you make a loop that can be interupted at any level or process instruction or kernel pass at anytime? Thats why i started back to basics and relearning asm and c. Although oop sounds great it is full of bugs and uses way too many resources. With c and asm i have way more control over my code and os, and if i write bad code its my fault not some mid level developer writing undocumented classes at ms. How many here actually truely know how or why their .net clr runs? Seriously, to me .net is nothing more than a control tool to keep you away from seeing whats behind the curtain.

      KISS "Keep It Simple, Stupid"

      S M L G 4 Replies Last reply
      0
      • M M dHatter

        You know what is more interesting? think about this... Is there such thing as true async processing? How do you make a loop that can be interupted at any level or process instruction or kernel pass at anytime? Thats why i started back to basics and relearning asm and c. Although oop sounds great it is full of bugs and uses way too many resources. With c and asm i have way more control over my code and os, and if i write bad code its my fault not some mid level developer writing undocumented classes at ms. How many here actually truely know how or why their .net clr runs? Seriously, to me .net is nothing more than a control tool to keep you away from seeing whats behind the curtain.

        KISS "Keep It Simple, Stupid"

        S Offline
        S Offline
        S Senthil Kumar
        wrote on last edited by
        #3

        VectorX wrote:

        Is there such thing as true async processing? How do you make a loop that can be interupted at any level or process instruction or kernel pass at anytime?

        Pre-emptive multitasking? You don't need to write code to do that, unless you're writing an OS.

        VectorX wrote:

        How many here actually truely know how or why their .net clr runs? Seriously, to me .net is nothing more than a control tool to keep you away from seeing whats behind the curtain.

        Isn't that the reason for any framework or library to exist - to hide complexity and present a higher level of functionality for developers?

        VectorX wrote:

        With c and asm i have way more control over my code and os, and if i write bad code its my fault not some mid level developer writing undocumented classes at ms.

        Well, even C has a standard library for IO. What about code in the operating system? Device drivers? Come to think of it, why leave out the microcode/machine language execution logic in the processor? That isn't written by you either. My opinion - it is good to know how things work behind the scenes, but that doesn't mean everyone should reinvent the wheel.

        Regards Senthil [MVP - Visual C#] _____________________________ My Home Page |My Blog | My Articles | My Flickr | WinMacro

        1 Reply Last reply
        0
        • M M dHatter

          You know what is more interesting? think about this... Is there such thing as true async processing? How do you make a loop that can be interupted at any level or process instruction or kernel pass at anytime? Thats why i started back to basics and relearning asm and c. Although oop sounds great it is full of bugs and uses way too many resources. With c and asm i have way more control over my code and os, and if i write bad code its my fault not some mid level developer writing undocumented classes at ms. How many here actually truely know how or why their .net clr runs? Seriously, to me .net is nothing more than a control tool to keep you away from seeing whats behind the curtain.

          KISS "Keep It Simple, Stupid"

          M Offline
          M Offline
          Mycroft Holmes
          wrote on last edited by
          #4

          VectorX wrote:

          How many here actually truely know how or why their .net clr runs?

          Not me that's for sure, can't fix a car engine either but I love to drive. I'm more than happy to work with a tool set, you con keep all your low level stuff.

          Never underestimate the power of human stupidity RAH

          1 Reply Last reply
          0
          • M M dHatter

            You know what is more interesting? think about this... Is there such thing as true async processing? How do you make a loop that can be interupted at any level or process instruction or kernel pass at anytime? Thats why i started back to basics and relearning asm and c. Although oop sounds great it is full of bugs and uses way too many resources. With c and asm i have way more control over my code and os, and if i write bad code its my fault not some mid level developer writing undocumented classes at ms. How many here actually truely know how or why their .net clr runs? Seriously, to me .net is nothing more than a control tool to keep you away from seeing whats behind the curtain.

            KISS "Keep It Simple, Stupid"

            L Offline
            L Offline
            Lost User
            wrote on last edited by
            #5

            VectorX wrote:

            How many here actually truely know how or why their .net clr runs?

            I do my best to know as much as I can about it. Especially for threading I think it is very important to know what the actual native code will be. And in any case people should not just blindly jump into a .NET language (or Java, and even C++ and probably others) without knowing anything about what it does or how it works - the people who do that usually end up being very lousy programmers. For example some people may assume that assignment of any primitive type in Java is atomic, which is definitely not true.

            S 1 Reply Last reply
            0
            • L Lost User

              VectorX wrote:

              How many here actually truely know how or why their .net clr runs?

              I do my best to know as much as I can about it. Especially for threading I think it is very important to know what the actual native code will be. And in any case people should not just blindly jump into a .NET language (or Java, and even C++ and probably others) without knowing anything about what it does or how it works - the people who do that usually end up being very lousy programmers. For example some people may assume that assignment of any primitive type in Java is atomic, which is definitely not true.

              S Offline
              S Offline
              Sathesh Sakthivel
              wrote on last edited by
              #6

              harold aptroot wrote:

              some people may assume that assignment of any primitive type in Java is atomic, which is definitely not true.

              Well Said Harold

              Sathesh. Blessed is the season which engages the whole world in a conspiracy of love.

              1 Reply Last reply
              0
              • M M dHatter

                You know what is more interesting? think about this... Is there such thing as true async processing? How do you make a loop that can be interupted at any level or process instruction or kernel pass at anytime? Thats why i started back to basics and relearning asm and c. Although oop sounds great it is full of bugs and uses way too many resources. With c and asm i have way more control over my code and os, and if i write bad code its my fault not some mid level developer writing undocumented classes at ms. How many here actually truely know how or why their .net clr runs? Seriously, to me .net is nothing more than a control tool to keep you away from seeing whats behind the curtain.

                KISS "Keep It Simple, Stupid"

                G Offline
                G Offline
                Gary R Wheeler
                wrote on last edited by
                #7

                VectorX wrote:

                Although oop sounds great it is full of bugs and uses way too many resources.

                I think you've confused 'managed programming' and 'object-oriented programming'. Managed programming, as provided by Java and .NET, is based upon an ideal virtual machine that runs on top of a real environment. Applications are developed using the facilities of the virtual machine. It is the VM's responsibility to efficiently translate application actions into real machine operations. Object-oriented programming is a method for decomposing the problem space for an application into units that you, the developer, can actually implement and test. You can do OOP development in any programming language, including assembler and C. Some languages simply provide better support for OOP than others.

                VectorX wrote:

                if i write bad code its my fault not some mid level developer writing undocumented classes at ms

                The only environment I know of where you are guaranteed that the only code executing is yours is in the smallest, lowest-level microcontrollers. A lot of embedded applications are developed now on processors that include a comprehensive kernel and support facilities, up to full operating systems. You can't escape the need to understand the environment your application is running in.

                VectorX wrote:

                Seriously, to me .net is nothing more than a control tool to keep you away from seeing whats behind the curtain.

                You make it sound like it's a conspiracy. It isn't. The intent is for you to be able to design against the managed environment's ideal machine, and not need to worry excessively about the underlying details.

                Software Zen: delete this;
                Fold With Us![^]

                1 Reply Last reply
                0
                • S S Senthil Kumar

                  Here[^]. I've especially been bitten by the soft vs hard OOM exceptions problem.

                  Regards Senthil [MVP - Visual C#] _____________________________ My Home Page |My Blog | My Articles | My Flickr | WinMacro

                  C Offline
                  C Offline
                  code frog 0
                  wrote on last edited by
                  #8

                  This is fantastic and as I read it I'm now madly aware of how this situation proliferates a system to bring it down. What I'm struck with is the sheer heavy-lifting and in-depth knowledge it would require to avoid the proliferation. He makes zero suggestions on best practices for these situations and it sounds almost as if he's saying "Look try, catch, and finally are great but only use them for your own code exceptions and ignore the thought elsewhere..." (paraphrasing of course). But in my world this is like watching a hand grenade tumble into the workings and nobody really knows if the pin is pulled and the thing is armed, if it has been pulled but there's a routine to put the pin back in (huge no-no with grenades) or it's just going to explode and kill everyone so plan for that. Is there any way to "harden" in practical terms? I do for sure have cases in systems where I'm now convinced this is what is going on as a restart is the *ONLY* thing that fixes the problem and that's irritatingly unacceptable in my book.

                  1 Reply Last reply
                  0
                  Reply
                  • Reply as topic
                  Log in to reply
                  • Oldest to Newest
                  • Newest to Oldest
                  • Most Votes


                  • Login

                  • Don't have an account? Register

                  • Login or register to search.
                  • First post
                    Last post
                  0
                  • Categories
                  • Recent
                  • Tags
                  • Popular
                  • World
                  • Users
                  • Groups