Tuesday, March 31, 2009

Erlang, Scala

What is the problem? Is the problem real?

Desire for functional programming language for distributed systems.

What is the solution's main idea (nugget)?

All of the introductions to the language state early on that Erlang provides many of the features that an OS does such as garbage collection, scheduling and concurrent processes. They are aiming at systems with these properties:
  • Soft real time
  • Millions of lines of code
  • 0% downtime
  • portable (I wonder why?)
  • Lots of parallel processes
  • IPC
  • Clustered environment
  • JIT code loading
  • Rostbustness via 3 error detection primitives

Why is solution different from previous work? (Is technology different?, Is workload different?, Is problem different?)

This is the first programming language I have studied which incorporates so many features of an operating system.

Hard Tradeoffs

  • level of abstraction vs. flexibility

Will it be influential in 10 years?

With millions of lines of code written it and much of the telecom network depending on it, it is already influential.

1 comment:

Ion said...

How about Scala? Would you write a distributed system in Erlang?