erlang is a programming language that is supposed to be very scalable. It encourages a form of design that is naturally scalable and as such requires some degree of adjustment for many programmers. The whole idea doesn’t sit well with me.
For the technical among you, you probably already know that erlang utilizes a “shared nothing” architecture to facilitate its scalability. When you get tired of passing around the whole program context to meet this goal, you’re back to a shared global hash. Can you believe that? To me, it means that erlang doesn’t really solve anything. Instead, they have baked distributed processing into the language itself and I don’t know what that has over any language with metaprograming capabilities. erlang assumes a world of infinite-core computers, and in such a world, would work very well. But when it comes to network-distributed computing, erlang doesn’t really do much to help you that you don’t already get from something like DRb.
Here’s what I think would work better: a grid programming language. I don’t mean a library like PVM, I mean a programming language whose axiomatic commands (atoms) are distributed in nature. Then you can still specify sequential jobs, but you’ll be doing so at a level where each “instruction” can be executed in a cloud.
Some of you know that I am already developing such a language, and now you might see my motivation. Forcing everyone to write their own cloud plumbing, even with something as nice as erlang, seems to miss a big part of why cloud computing is appealing: managed infrastructure.
0 responses so far ↓
There are no comments yet...Kick things off by filling out the form below.
Leave a Comment