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. Why Microsoft dropped COM

Why Microsoft dropped COM

Scheduled Pinned Locked Moved The Lounge
csharpcomagentic-aiquestion
24 Posts 12 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.
  • J Offline
    J Offline
    Joao Vaz
    wrote on last edited by
    #1

    Nice read to understand the reasoning behind no deterministic finalization and garbage collection that Microsoft uses with .NET . The Why of GC Cheers, Joao Vaz Unhappy TCL programmer

    N C T P T 7 Replies Last reply
    0
    • J Joao Vaz

      Nice read to understand the reasoning behind no deterministic finalization and garbage collection that Microsoft uses with .NET . The Why of GC Cheers, Joao Vaz Unhappy TCL programmer

      N Offline
      N Offline
      Nish Nishant
      wrote on last edited by
      #2

      Thanks Joao. I only ran through it as I couldn't really understand all the hard theoiry. But good reading anyway. Nish_


      One little CD gone, Then two CDs gone, Then 5 more gone, For a total 7 gones, If I was a CD R, I'd wanna cry, Cause I'd be just a goner, For a nasty CD burner. [funny how frustration wakes up the poet in me]_

      J 1 Reply Last reply
      0
      • J Joao Vaz

        Nice read to understand the reasoning behind no deterministic finalization and garbage collection that Microsoft uses with .NET . The Why of GC Cheers, Joao Vaz Unhappy TCL programmer

        C Offline
        C Offline
        Chris Losinger
        wrote on last edited by
        #3

        my head hurts. ouch. COM sucks. i'm glad MS is finally de-emphasizing it. -c


        Conscience is what hurts when everything else feels good. Smaller Animals Software, Inc.

        J M J S 4 Replies Last reply
        0
        • N Nish Nishant

          Thanks Joao. I only ran through it as I couldn't really understand all the hard theoiry. But good reading anyway. Nish_


          One little CD gone, Then two CDs gone, Then 5 more gone, For a total 7 gones, If I was a CD R, I'd wanna cry, Cause I'd be just a goner, For a nasty CD burner. [funny how frustration wakes up the poet in me]_

          J Offline
          J Offline
          Joao Vaz
          wrote on last edited by
          #4

          Nish, check this Garbage Collection Faq and on MSDN specifically for GC on NET by Jeffrey Ritcher ... GC Part 1 GC Part 2 This articles are more approachable to understand GC on .NET . Cheers, Joao Vaz Unhappy TCL programmer

          A 1 Reply Last reply
          0
          • J Joao Vaz

            Nice read to understand the reasoning behind no deterministic finalization and garbage collection that Microsoft uses with .NET . The Why of GC Cheers, Joao Vaz Unhappy TCL programmer

            T Offline
            T Offline
            Tom Archer
            wrote on last edited by
            #5

            Hi Joao, As you know, Brian added this to the first edition of Inside C# - we've since gone into more detail in the second edition. However, it's definitely still relevant and something that people new to .NET need to understand. Great post!! Cheers, Tom Archer Author, Inside C# Please note that the opinions expressed in this correspondence do not necessarily reflect the views of the author.

            J 1 Reply Last reply
            0
            • C Chris Losinger

              my head hurts. ouch. COM sucks. i'm glad MS is finally de-emphasizing it. -c


              Conscience is what hurts when everything else feels good. Smaller Animals Software, Inc.

              J Offline
              J Offline
              Joao Vaz
              wrote on last edited by
              #6

              Chris Losinger wrote: COM sucks Well, telling the truth, I don't dislike COM , but well I don't dislike GC either(neither I love it), but it will help the lazy programmers that didn't like to call delete neither using auto_ptr neither smart pointers neither ... but one thing for certain, it will help to end referencing counting debugging nightmares ... Cheers, Joao Vaz Unhappy TCL programmer

              1 Reply Last reply
              0
              • T Tom Archer

                Hi Joao, As you know, Brian added this to the first edition of Inside C# - we've since gone into more detail in the second edition. However, it's definitely still relevant and something that people new to .NET need to understand. Great post!! Cheers, Tom Archer Author, Inside C# Please note that the opinions expressed in this correspondence do not necessarily reflect the views of the author.

                J Offline
                J Offline
                Joao Vaz
                wrote on last edited by
                #7

                Tom Archer wrote: we've since gone into more detail in the second edition Nice :) Tom Archer wrote: Great post!! Stop ! I'm blushing :-O Cheers, Joao Vaz Unhappy TCL programmer

                1 Reply Last reply
                0
                • C Chris Losinger

                  my head hurts. ouch. COM sucks. i'm glad MS is finally de-emphasizing it. -c


                  Conscience is what hurts when everything else feels good. Smaller Animals Software, Inc.

                  M Offline
                  M Offline
                  Michael P Butler
                  wrote on last edited by
                  #8

                  Chris Losinger wrote: COM sucks. i'm glad MS is finally de-emphasizing it. Really? I love COM, but it took me a while to get to grips with it. It finally all made sense after reading Essential COM. I'm sad to see it go, but as least it has evolved rather than been made extinct. Michael :-)

                  S 1 Reply Last reply
                  0
                  • J Joao Vaz

                    Nice read to understand the reasoning behind no deterministic finalization and garbage collection that Microsoft uses with .NET . The Why of GC Cheers, Joao Vaz Unhappy TCL programmer

                    P Offline
                    P Offline
                    Paul A Howes
                    wrote on last edited by
                    #9

                    I was under the impression that COM has not disappeared, but that ".NET" is actually based on COM+? Am I wrong? -- Paul "I drank... WHAT?"

                    J 1 Reply Last reply
                    0
                    • C Chris Losinger

                      my head hurts. ouch. COM sucks. i'm glad MS is finally de-emphasizing it. -c


                      Conscience is what hurts when everything else feels good. Smaller Animals Software, Inc.

                      J Offline
                      J Offline
                      James R Twine
                      wrote on last edited by
                      #10

                      Chris Losinger wrote: COM sucks.    Is it that COM itself sucks, or that the ways in which it is most commonly (mis)used sucks?  IME, it has usually been more of the latter.     Peace! -=- James.

                      C 1 Reply Last reply
                      0
                      • J Joao Vaz

                        Nice read to understand the reasoning behind no deterministic finalization and garbage collection that Microsoft uses with .NET . The Why of GC Cheers, Joao Vaz Unhappy TCL programmer

                        T Offline
                        T Offline
                        Tim Smith
                        wrote on last edited by
                        #11

                        It should read "Why MS didn't use COM's ref counting for GC" Tim Smith I know what you're thinking punk, you're thinking did he spell check this document? Well, to tell you the truth I kinda forgot myself in all this excitement. But being this here's CodeProject, the most powerful forums in the world and would blow your head clean off, you've got to ask yourself one question, Do I feel lucky? Well do ya punk?

                        J 1 Reply Last reply
                        0
                        • P Paul A Howes

                          I was under the impression that COM has not disappeared, but that ".NET" is actually based on COM+? Am I wrong? -- Paul "I drank... WHAT?"

                          J Offline
                          J Offline
                          Joao Vaz
                          wrote on last edited by
                          #12

                          If I'm correct it only uses COM+ in System.Enterprise Services using the interop services and in fewer windows apis ... Now unless you use a global shared assembly, to deploy your project you simply need to xcopy the files(in theory)..., no more registration errors ... Also since the .NET framework uses GC , using a generational algorithm , it simply doesn't need the IUnknown methods at all , so no COM, unless it needs to interact with COM apis ... Cheers, Joao Vaz Unhappy TCL programmer

                          1 Reply Last reply
                          0
                          • J James R Twine

                            Chris Losinger wrote: COM sucks.    Is it that COM itself sucks, or that the ways in which it is most commonly (mis)used sucks?  IME, it has usually been more of the latter.     Peace! -=- James.

                            C Offline
                            C Offline
                            Chris Losinger
                            wrote on last edited by
                            #13

                            i dislike the fact that it's not a real OO system - no virtual functions, in particular. the ref counting stuff is a nightmare, even with smart pointers. blah. get rid of it. -c


                            Conscience is what hurts when everything else feels good. Smaller Animals Software, Inc.

                            J 1 Reply Last reply
                            0
                            • T Tim Smith

                              It should read "Why MS didn't use COM's ref counting for GC" Tim Smith I know what you're thinking punk, you're thinking did he spell check this document? Well, to tell you the truth I kinda forgot myself in all this excitement. But being this here's CodeProject, the most powerful forums in the world and would blow your head clean off, you've got to ask yourself one question, Do I feel lucky? Well do ya punk?

                              J Offline
                              J Offline
                              Joao Vaz
                              wrote on last edited by
                              #14

                              Yup, you have right, my title is incomplete, but I confess that I was lazy to write the rest... but although, the title well is incomplete ... it worked well, since some people fully readed the article and one guy rightly claimed that was incomplete, so it achieved his goals ... Cheers, Joao Vaz Unhappy TCL programmer

                              T 1 Reply Last reply
                              0
                              • J Joao Vaz

                                Nice read to understand the reasoning behind no deterministic finalization and garbage collection that Microsoft uses with .NET . The Why of GC Cheers, Joao Vaz Unhappy TCL programmer

                                F Offline
                                F Offline
                                Fazlul Kabir
                                wrote on last edited by
                                #15

                                Though I understand why MS had to adopt GC (and drop deterministic finalization) for inter-language interoperability, I will equally miss a lot the plain C++ style deterministic finalization through creating class instances on the stack (such as CMyDialog dlg; instead of CMyDialog* pDlg = new CMyDialog(); ). It’s just so handy. With .NET, the only way I can use a class object is by creating that using 'new' operator. // Fazlul


                                Get RadVC today! Play RAD in VC++ http://www.capitolsoft.com

                                J 1 Reply Last reply
                                0
                                • J Joao Vaz

                                  Yup, you have right, my title is incomplete, but I confess that I was lazy to write the rest... but although, the title well is incomplete ... it worked well, since some people fully readed the article and one guy rightly claimed that was incomplete, so it achieved his goals ... Cheers, Joao Vaz Unhappy TCL programmer

                                  T Offline
                                  T Offline
                                  Tim Smith
                                  wrote on last edited by
                                  #16

                                  Heh Tim Smith I know what you're thinking punk, you're thinking did he spell check this document? Well, to tell you the truth I kinda forgot myself in all this excitement. But being this here's CodeProject, the most powerful forums in the world and would blow your head clean off, you've got to ask yourself one question, Do I feel lucky? Well do ya punk?

                                  1 Reply Last reply
                                  0
                                  • C Chris Losinger

                                    my head hurts. ouch. COM sucks. i'm glad MS is finally de-emphasizing it. -c


                                    Conscience is what hurts when everything else feels good. Smaller Animals Software, Inc.

                                    S Offline
                                    S Offline
                                    Stan Shannon
                                    wrote on last edited by
                                    #17

                                    Chris Losinger wrote: COM sucks I agree. COM was a hack from the start. Not without its uses perhaps, but certianly over sold and over used. If .Net manages to kill it, all the better. "There's a slew of slip 'twixt cup and lip"

                                    1 Reply Last reply
                                    0
                                    • C Chris Losinger

                                      i dislike the fact that it's not a real OO system - no virtual functions, in particular. the ref counting stuff is a nightmare, even with smart pointers. blah. get rid of it. -c


                                      Conscience is what hurts when everything else feels good. Smaller Animals Software, Inc.

                                      J Offline
                                      J Offline
                                      James R Twine
                                      wrote on last edited by
                                      #18

                                      Chris Losinger wrote: i dislike the fact that it's not a real OO system    Maybe I am being a bit pedantic here, but I was under the impression that COM was supposed to be a Component system (and a binary-hack at that), not a full-blown OO system... :)    Methinks problems start when people treat COM like a full-blown OO system. Chris Losinger wrote: the ref counting stuff is a nightmare, even with smart pointers. [...] blah. get rid of it.    True as hell!  I agree on both points! :)    Peace! -=- James.

                                      1 Reply Last reply
                                      0
                                      • F Fazlul Kabir

                                        Though I understand why MS had to adopt GC (and drop deterministic finalization) for inter-language interoperability, I will equally miss a lot the plain C++ style deterministic finalization through creating class instances on the stack (such as CMyDialog dlg; instead of CMyDialog* pDlg = new CMyDialog(); ). It’s just so handy. With .NET, the only way I can use a class object is by creating that using 'new' operator. // Fazlul


                                        Get RadVC today! Play RAD in VC++ http://www.capitolsoft.com

                                        J Offline
                                        J Offline
                                        Joao Vaz
                                        wrote on last edited by
                                        #19

                                        Fazlul Kabir wrote: I will equally miss a lot the plain C++ style deterministic finalization Me too, and dealing with MC++ is tricky enough to get a ****** feeling ... Cheers, Joao Vaz Unhappy TCL programmer

                                        1 Reply Last reply
                                        0
                                        • M Michael P Butler

                                          Chris Losinger wrote: COM sucks. i'm glad MS is finally de-emphasizing it. Really? I love COM, but it took me a while to get to grips with it. It finally all made sense after reading Essential COM. I'm sad to see it go, but as least it has evolved rather than been made extinct. Michael :-)

                                          S Offline
                                          S Offline
                                          SimonS
                                          wrote on last edited by
                                          #20

                                          Michael P Butler wrote: Essential COM After reading David Chappell's Understanding ActiveX and OLE I had to go on sabatical for 3 months... ;P Cheers, Simon "I get paid for my brain and my thinking in several obscure worlds", Olli, The Lounge

                                          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