Live data from Hacker News

The Rise and Fall of CORBA (2006)

queue.acm.org

71–80 of 156 posts

Re: The Rise and Fall of CORBA (2006)

#71
post #2

The Wikipedia page says the most recent version of the standard is 3.4, published in 2021: https://en.wikipedia.org/wiki/Common_Object_Request_Broker_A... In my 25+ year career I haven't seen it in use anywhere. I only ever encountered it while getting my CS degree.

I worked at a defense contractor small business for a short while that used CORBA in some of its products. Previous engineers declared it impossible to update, so they asked me to do it. I had to upgrade the C++ version for the first time in a decade. I didn't find it very fun, but it was satisfying to see an ancient program compile on a more modern toolchain.

Re: The Rise and Fall of CORBA (2006)

#72

I remember how CORBA was all going to be the future. I wrote dozens of programs in C++ and Python using IDL. Funny, though, that we now find ourselves doing the exact same thing but it is "an API", has no type-checking, no error handling, requires more work, is limited to particular languages and is slower. Distributed objects were ahead of their time by maybe 15 years. Now we're stuck in async API-over-JSON hell for…

In practice, SOAP was the one that brought the best functionality.

What is telling because it's a badly defined beast that mostly doesn't work. But it did the type checking, automatic (client) endpoint creation, self-documentation, reflection-based (server) endpoints, support for lots and lots of languages (as long as you don't use something like an array)...

People keep promising new protocols that do one or two of those things on the modern world, but they always fail to deliver. AFAIK, the last promise was grpc, but doesn't even use a widely supported subset of HTTP so it has no chance of ever going anywhere.

Re: The Rise and Fall of CORBA (2006)

#74
I still use CORBA with huge success. For example, it is a backbone of several commercial systems that connect vending units in different regions and even countries.

For what it's worth, CORBA is hard to use from languages without a proper reflection. But with something like Java or .NET - it's a breeze.

And before you start asking questions why - no, REST or gRPC do not cut it. They are too primitive and come with poorly defined semantics. Their HTTP/1.1 transport is rudimental, though HTTP/2.0 made it better by allowing multiplex streams with an elusive possibility of a proper bidirectional communication. But CORBA already had all that, and more, since 2005! And I use it to the fullest extent in the distributed systems my company designs.

Re: The Rise and Fall of CORBA (2006)

#75
There have been many Silver Bullets in software development, and they probably all had some real value. But it seems they get latched onto and over-hyped, particularly for decision makers and funders.

In reality, what is probably most missing is consistent effort toward better organization and complexity management of problems (leading to effective solutions).

Without naming current 2-letter hype trains, we're doing it again after the blockchain stuff finally fizzled. Blockchain didn't magically solve our organizational and complexity problems, and so we need a new great hope.

New tech and patterns are exciting (probably mostly because of the promise of making our lives easier), but eventually one stops accepting them with big expectations. Ultimately it seems like instead of addressing the real difficulty in our technical solution development we create new distractions and use them to hide ourselves from the bigger problem that we can't seem to deal with.

Re: The Rise and Fall of CORBA (2006)

#76
My father's business partner was one of the founders of Iona Technologies, the makers of the Orbix Corba Request Broker. Back in the mid 1990s they had visions of being bigger than Microsoft, but events and progress overtook them, and the company was sold for a pittance in the mid 2000s.

Re: The Rise and Fall of CORBA (2006)

#77

I still use CORBA with huge success. For example, it is a backbone of several commercial systems that connect vending units in different regions and even countries. For what it's worth, CORBA is hard to use from languages without a proper reflection. But with something like Java or .NET - it's a breeze. And before you start asking questions why - no, REST or gRPC do not cut it. They are too primitive and come with po…

gRPC is tightly coupled with HTTP/2 so the way you’re grouping it with REST doesn’t really make sense.

Re: The Rise and Fall of CORBA (2006)

#78

I remember how CORBA was all going to be the future. I wrote dozens of programs in C++ and Python using IDL. Funny, though, that we now find ourselves doing the exact same thing but it is "an API", has no type-checking, no error handling, requires more work, is limited to particular languages and is slower. Distributed objects were ahead of their time by maybe 15 years. Now we're stuck in async API-over-JSON hell for…

We've finally come full circle with gRPC, which is basically a simplified CORBA. I went through the whole cycle, and while I don't exactly miss CORBA, I do wonder why it took us so long to get back to that baseline of functionality.

> I do wonder why it took us so long to get back to that baseline of functionality.

Scaling networks provided more value, and HTTP over networks was always going to work so protocols over HTTP just had to catch up, feature-wise.

Re: The Rise and Fall of CORBA (2006)

#79

I still use CORBA with huge success. For example, it is a backbone of several commercial systems that connect vending units in different regions and even countries. For what it's worth, CORBA is hard to use from languages without a proper reflection. But with something like Java or .NET - it's a breeze. And before you start asking questions why - no, REST or gRPC do not cut it. They are too primitive and come with po…

gRPC is tightly coupled with HTTP/2 so the way you’re grouping it with REST doesn’t really make sense.

gRPC-esque protocols started to appear as protobuf serialization (for procedure calls) on top of a REST endpoint (for tunneling). It officially became gRPC and "coupled" with HTTP/2 much later.
Post reply on HN