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
CODE PROJECT For Those Who Code
  • Home
  • Articles
  • FAQ
Community
  1. Home
  2. The Lounge
  3. Is COM an 'outdated' technology?

Is COM an 'outdated' technology?

Scheduled Pinned Locked Moved The Lounge
comdesignquestiondiscussion
29 Posts 13 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.
  • K krumia

    Is COM an 'outdated' technology? If it is, what are the technologies that replace COM? And how? If it is not, why such an old technology is still there? (I understand the basic design of COM and I understand why it was needed back then.) I am hoping to see a discussion emerging about this, in the hope that I will be able to learn a lot. p.s.: I asked this in COM forum and was hinded[^] to post it here.

    D Offline
    D Offline
    Dave Kerr
    wrote on last edited by
    #8

    COM is rather long in the tooth nowadays, but by no means an outdated technology. It is one of the most successful and long-lasting mechanisms that allow different programming languages to share objects and functionality - as well as allowing programmatic access to a variety of applications and system resources. Almost everything you do with the Windows Shell (i.e. not creating Win32 programs but accessing the task bars, folder icons etc etc) uses COM. And as mentioned in a later post Windows 8 will be using it even more - as COM interfaces can be used by C++ apps, Managed Apps etc etc. It is interesting as well to note the influence of com in managed applications - does the entry point of a C# app look familiar?

    [STAThread]
    static void Main(string[] args)
    {
    }

    As a hint, STA stands for single thread apartment model...

    My Blog: www.dwmkerr.com My Charity: Children's Homes Nepal

    1 Reply Last reply
    0
    • P Pete OHanlon

      krumia wrote:

      Is COM an 'outdated' technology?

      Hardly. Microsoft is agressively moving back to COM with Windows 8, although it never really went away. The problem is, there's a whole generation of programmers who know nothing of COM. Ah, the beauty of IQueryInterface and IUnknown.

      *pre-emptive celebratory nipple tassle jiggle* - Sean Ewington

      "Mind bleach! Send me mind bleach!" - Nagy Vilmos

      My blog | My articles | MoXAML PowerToys | Mole 2010 - debugging made easier - my favourite utility

      C Offline
      C Offline
      clientSurfer
      wrote on last edited by
      #9

      Pete O'Hanlon wrote:

      Ah, the beauty of IQueryInterface and IUnknown.

      Indeed! I wrote the first Web app for Dell Financial Services back in '98 in 1500 lines of Visual C++ 6.0 code using mostly IQueryInterface and IUnknown to control MS Word as a COM server fueled by Oracle 6.1/OWAS. Uphill both ways. Man those reference counts used to trip me up every time. Not to mention all the old Win32API methods that are available (all I know for sure is they were up through Vista) and are actually necessary to do any kind of low-level WinForms development, even in C#...

      "... having only that moment finished a vigorous game of Wiff-Waff and eaten a tartiflet." - Henry Minute  "...who gives a tinker's cuss?" - Dalek Dave  "Let's face it, after Monday and Tuesday, even the calendar says WTF!" - gavindon   It's plain that they do not yet know what true fear really is. - JSOP 2011

      1 Reply Last reply
      0
      • K krumia

        Is COM an 'outdated' technology? If it is, what are the technologies that replace COM? And how? If it is not, why such an old technology is still there? (I understand the basic design of COM and I understand why it was needed back then.) I am hoping to see a discussion emerging about this, in the hope that I will be able to learn a lot. p.s.: I asked this in COM forum and was hinded[^] to post it here.

        CPalliniC Online
        CPalliniC Online
        CPallini
        wrote on last edited by
        #10

        krumia wrote:

        Is COM an 'outdated' technology?

        Nope. :)

        Veni, vidi, vici.

        In testa che avete, signor di Ceprano?

        1 Reply Last reply
        0
        • P Pete OHanlon

          krumia wrote:

          Is COM an 'outdated' technology?

          Hardly. Microsoft is agressively moving back to COM with Windows 8, although it never really went away. The problem is, there's a whole generation of programmers who know nothing of COM. Ah, the beauty of IQueryInterface and IUnknown.

          *pre-emptive celebratory nipple tassle jiggle* - Sean Ewington

          "Mind bleach! Send me mind bleach!" - Nagy Vilmos

          My blog | My articles | MoXAML PowerToys | Mole 2010 - debugging made easier - my favourite utility

          CPalliniC Online
          CPalliniC Online
          CPallini
          wrote on last edited by
          #11

          Pete O'Hanlon wrote:

          IQueryInterface

          Do you mean QueryInterface?

          Veni, vidi, vici.

          In testa che avete, signor di Ceprano?

          P 1 Reply Last reply
          0
          • L Lost User

            I never thought COM offered anything better than properly designed dlls, but I guess it got replaced with .NNet stuff. But yeah, I think it died.

            ============================== Nothing to say.

            CPalliniC Online
            CPalliniC Online
            CPallini
            wrote on last edited by
            #12

            Erudite_Eric wrote:

            I never thought COM offered anything better than properly designed dlls

            It actually did.

            Erudite_Eric wrote:

            but I guess it got replaced with .NNet stuf

            Nope.

            Erudite_Eric wrote:

            But yeah, I think it died.

            Nope.

            Veni, vidi, vici.

            In testa che avete, signor di Ceprano?

            L A 2 Replies Last reply
            0
            • CPalliniC CPallini

              Pete O'Hanlon wrote:

              IQueryInterface

              Do you mean QueryInterface?

              Veni, vidi, vici.

              P Offline
              P Offline
              Pete OHanlon
              wrote on last edited by
              #13

              I do indeed, and shows I shouldn't rush my answers when typing. I was going for IUnkown originally then threw in QueryInterface. This is the problem when posting from your phone.

              *pre-emptive celebratory nipple tassle jiggle* - Sean Ewington

              "Mind bleach! Send me mind bleach!" - Nagy Vilmos

              My blog | My articles | MoXAML PowerToys | Mole 2010 - debugging made easier - my favourite utility

              K 1 Reply Last reply
              0
              • P Pete OHanlon

                I do indeed, and shows I shouldn't rush my answers when typing. I was going for IUnkown originally then threw in QueryInterface. This is the problem when posting from your phone.

                *pre-emptive celebratory nipple tassle jiggle* - Sean Ewington

                "Mind bleach! Send me mind bleach!" - Nagy Vilmos

                My blog | My articles | MoXAML PowerToys | Mole 2010 - debugging made easier - my favourite utility

                K Offline
                K Offline
                krumia
                wrote on last edited by
                #14

                Is your phone an 'i' prefixed one? Nowadays they prefix everything with 'i'. See for yourself.[^]

                1 Reply Last reply
                0
                • L Lost User

                  I never thought COM offered anything better than properly designed dlls, but I guess it got replaced with .NNet stuff. But yeah, I think it died.

                  ============================== Nothing to say.

                  D Offline
                  D Offline
                  Dalek Dave
                  wrote on last edited by
                  #15

                  What is .NNet?

                  --------------------------------- I will never again mention that I was the poster of the One Millionth Lounge Post, nor that it was complete drivel. Dalek Dave CCC Link[^] English League Tables - Live

                  CPalliniC 1 Reply Last reply
                  0
                  • D Dalek Dave

                    What is .NNet?

                    --------------------------------- I will never again mention that I was the poster of the One Millionth Lounge Post, nor that it was complete drivel. Dalek Dave CCC Link[^] English League Tables - Live

                    CPalliniC Online
                    CPalliniC Online
                    CPallini
                    wrote on last edited by
                    #16

                    A managed typo.

                    Veni, vidi, vici.

                    In testa che avete, signor di Ceprano?

                    D 1 Reply Last reply
                    0
                    • CPalliniC CPallini

                      A managed typo.

                      Veni, vidi, vici.

                      D Offline
                      D Offline
                      Dalek Dave
                      wrote on last edited by
                      #17

                      Manage this upvote I gave you!

                      --------------------------------- I will never again mention that I was the poster of the One Millionth Lounge Post, nor that it was complete drivel. Dalek Dave CCC Link[^] English League Tables - Live

                      CPalliniC 1 Reply Last reply
                      0
                      • D Dalek Dave

                        Manage this upvote I gave you!

                        --------------------------------- I will never again mention that I was the poster of the One Millionth Lounge Post, nor that it was complete drivel. Dalek Dave CCC Link[^] English League Tables - Live

                        CPalliniC Online
                        CPalliniC Online
                        CPallini
                        wrote on last edited by
                        #18

                        ...Collected! :-D

                        Veni, vidi, vici.

                        In testa che avete, signor di Ceprano?

                        1 Reply Last reply
                        0
                        • K krumia

                          Is COM an 'outdated' technology? If it is, what are the technologies that replace COM? And how? If it is not, why such an old technology is still there? (I understand the basic design of COM and I understand why it was needed back then.) I am hoping to see a discussion emerging about this, in the hope that I will be able to learn a lot. p.s.: I asked this in COM forum and was hinded[^] to post it here.

                          R Offline
                          R Offline
                          RugbyLeague
                          wrote on last edited by
                          #19

                          I seem to recall Don Box sitting on stage at Tech-Ed in Barcelona some years ago writing .Net code and saying something along the lines of "What the hell was I thinking for all those years"

                          1 Reply Last reply
                          0
                          • CPalliniC CPallini

                            Erudite_Eric wrote:

                            I never thought COM offered anything better than properly designed dlls

                            It actually did.

                            Erudite_Eric wrote:

                            but I guess it got replaced with .NNet stuf

                            Nope.

                            Erudite_Eric wrote:

                            But yeah, I think it died.

                            Nope.

                            Veni, vidi, vici.

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

                            CPallini wrote:

                            It actually did.

                            Yeah, it stopped idiot programers making a mess of the system I suppose.

                            ============================== Nothing to say.

                            CPalliniC 1 Reply Last reply
                            0
                            • L Lost User

                              CPallini wrote:

                              It actually did.

                              Yeah, it stopped idiot programers making a mess of the system I suppose.

                              ============================== Nothing to say.

                              CPalliniC Online
                              CPalliniC Online
                              CPallini
                              wrote on last edited by
                              #21

                              Nope, it is all about binary components re-using (as the name suggests).

                              Veni, vidi, vici.

                              In testa che avete, signor di Ceprano?

                              L 1 Reply Last reply
                              0
                              • K krumia

                                Is COM an 'outdated' technology? If it is, what are the technologies that replace COM? And how? If it is not, why such an old technology is still there? (I understand the basic design of COM and I understand why it was needed back then.) I am hoping to see a discussion emerging about this, in the hope that I will be able to learn a lot. p.s.: I asked this in COM forum and was hinded[^] to post it here.

                                E Offline
                                E Offline
                                Eytukan
                                wrote on last edited by
                                #22

                                COM is dead? But ask "where?". COM is dead in user applications. There used to be tons of classic Asp, VB6.0 & even VC 6++ solutions that made extensive use of COM, DCOM, ActiveX etc.In these places, for example COM is literally dead. If a clients requests for a solution for their business, the application developers would no more need to look out for COM. So much has evolved in the managed world. Microsoft took pain to carry all those complex COM on their shoulders. Giving you the option to develop in much simpler tools. For example, DCOM is replaced by remoting in Dotnet, WCF & so many new frameworks give you much cleaner interface for your distributed apps. If you look at COM generated marshalling code, it'd look like it's done by a drunk php coder ;P. But COM is still there in every other places. For example, UMDF (driver framework, uses COM). So the idea is this, if you really need COM, it's there.

                                Starting to think people post kid pics in their profiles because that was the last time they were cute - Jeremy.

                                L 1 Reply Last reply
                                0
                                • CPalliniC CPallini

                                  Nope, it is all about binary components re-using (as the name suggests).

                                  Veni, vidi, vici.

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

                                  CPallini wrote:

                                  Nope, it is all about binary components re-using (as the name suggests).

                                  I was always told it was a way to avoid DLL hell. Of course if people renamed funcs when they changed the parameters in dlls we wouldnt have had that problem. I have used COM, never found it any better that a dll, and the installation is a PITA.

                                  ============================== Nothing to say.

                                  CPalliniC 1 Reply Last reply
                                  0
                                  • L Lost User

                                    CPallini wrote:

                                    Nope, it is all about binary components re-using (as the name suggests).

                                    I was always told it was a way to avoid DLL hell. Of course if people renamed funcs when they changed the parameters in dlls we wouldnt have had that problem. I have used COM, never found it any better that a dll, and the installation is a PITA.

                                    ============================== Nothing to say.

                                    CPalliniC Online
                                    CPalliniC Online
                                    CPallini
                                    wrote on last edited by
                                    #24

                                    Erudite_Eric wrote:

                                    I was always told it was a way to avoid DLL hell.

                                    That's a really naive point.

                                    Veni, vidi, vici.

                                    In testa che avete, signor di Ceprano?

                                    1 Reply Last reply
                                    0
                                    • D Dalek Dave

                                      No.

                                      --------------------------------- I will never again mention that I was the poster of the One Millionth Lounge Post, nor that it was complete drivel. Dalek Dave CCC Link[^] English League Tables - Live

                                      E Offline
                                      E Offline
                                      Espen Harlinn
                                      wrote on last edited by
                                      #25

                                      Succinct ;)

                                      Espen Harlinn Senior Architect, Software - Goodtech Projects & Services My LinkedIn Profile

                                      1 Reply Last reply
                                      0
                                      • E Eytukan

                                        COM is dead? But ask "where?". COM is dead in user applications. There used to be tons of classic Asp, VB6.0 & even VC 6++ solutions that made extensive use of COM, DCOM, ActiveX etc.In these places, for example COM is literally dead. If a clients requests for a solution for their business, the application developers would no more need to look out for COM. So much has evolved in the managed world. Microsoft took pain to carry all those complex COM on their shoulders. Giving you the option to develop in much simpler tools. For example, DCOM is replaced by remoting in Dotnet, WCF & so many new frameworks give you much cleaner interface for your distributed apps. If you look at COM generated marshalling code, it'd look like it's done by a drunk php coder ;P. But COM is still there in every other places. For example, UMDF (driver framework, uses COM). So the idea is this, if you really need COM, it's there.

                                        Starting to think people post kid pics in their profiles because that was the last time they were cute - Jeremy.

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

                                        :thumbsup: Well said :)

                                        Computers have been intelligent for a long time now. It just so happens that the program writers are about as effective as a room full of monkeys trying to crank out a copy of Hamlet.

                                        1 Reply Last reply
                                        0
                                        • CPalliniC CPallini

                                          Erudite_Eric wrote:

                                          I never thought COM offered anything better than properly designed dlls

                                          It actually did.

                                          Erudite_Eric wrote:

                                          but I guess it got replaced with .NNet stuf

                                          Nope.

                                          Erudite_Eric wrote:

                                          But yeah, I think it died.

                                          Nope.

                                          Veni, vidi, vici.

                                          A Offline
                                          A Offline
                                          adityarao31
                                          wrote on last edited by
                                          #27

                                          I am new to COM,DCOM,I am a MFC Programmer. Is it wise to study COM,DCOM at this time? Does microsoft will remove the support for this architecture in near future? Please help me on this issue as its very important for my career

                                          Be Happy

                                          CPalliniC 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