[转] InfoQ 对 CORBA Guru Steve Vinoski 的采访
InfoQ 上的[这篇]采访相当有价值。在这个采访中我们能了解到 CORBA 界的大牛 Steve Vinoski 对 CORBA, REST, C++ 的独到看法,很有营养价值。在采访的结尾, Steve 大牛还顺便说了一车 Erlang 的好话。
这一车话用“土磕啦转换器”翻译为大白话,大牛的意思就是“让他老人家在 CORBA 框架中绞尽脑汁试图解决的难题,在 Erlang 中根本就是小菜,浩叹浪费了许多青春云云。”以下内容来自 maillist (有删节):
Ulf Wiger 在推荐这篇访谈时提及:
“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 no-brainer.”
稍后 Steve Vinoski 大牛亲自现身,回复:
… 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.
以上即另一位来自“长期战斗在另一条分布式战线”上的大拿对 Erlang 的只言片语,供参考。
另,知悉各位,在一个寒冷而糟糕的漫长春节休假之后,我幸存,并完整无缺的回来了。


Write a Comment