[erlang-questions] Steve Vinosky interview
Wed Feb 27 20:02:02 CET 2008
On 2/27/08, Ulf Wiger <ulf@REDACTED> wrote:
> My kid brother Pär is starting to complain that Erlang keeps popping
> up everywhere he looks.
> Here's an InfoQ interview with CORBA Guru Steve Vinosky:
> A nice thing about this interview is that it's thoroughly grounded in
> CORBA, C++ and REST, but also ends up saying very good things about
> "In terms of concurrency, if you're writing middleware I think you owe
> it to yourself to look at Erlang. The language itself has the
> primitives, then there are libraries called the Open Telecom Platform
> that come with it, that build on those primitives to make reliable
> software almost simple. It's never simple, but compared to what you
> have to do, jumping through hoops in other languages, it's kind of a
Hi Ulf, thanks for posting this. I worked on CORBA starting in 1991
and still use it for certain integration tasks, and in total I helped
write 6 or 7 different CORBA ORBs in C++ and Java over the years,
including HP ORB Plus and IONA's Orbix 2000 and its underlying
Adaptive Runtime Technology (ART). I worked on other approaches over
the years too, including J2EE stuff and WS-* stuff. Some of these
systems have been, and in the IONA case still are, heavily used by a
variety of large telco, finance, manufacturing, insurance, etc.
companies. Imagine all the issues I've encountered over all those
years with scalability and performance, portability across operating
systems, networking stacks, threads, and different language compilers,
plus all the issues with concurrency, reliability, failover,
replication, etc. for the distributed services we provided.
A little over year ago I began working for a startup (we're in stealth
mode so I can't say what we're working on), and we face many of the
same hard distributed system issues. This time, though, I'm armed with
Erlang. I started looking at it 2-3 years ago, but couldn't convince
my former company to use it, so I joined my current place instead.
Using Erlang continually makes me both smile and cry at the same time.
I smile because of the overall simplicity it brings to solving all
those hard issues I mentioned above, but I also cry knowing how many
hours, days, weeks, and months my former colleagues and I spent trying
to solve all those really hard issues. We did reasonably well, but it
wasn't easy. If we had had Erlang, I know for certain we could have
done so much better.
It all comes back to Robert Virding's First Rule:
"Any sufficiently complicated concurrent program in another language
contains an ad hoc, informally-specified, bug-ridden, slow
implementation of half of Erlang."
I now know based on hard-won experience that you could replace
"concurrent program" with "distributed system" in Robert's rule and it
would still be just as accurate.
More information about the erlang-questions