
The A-Z of Programming Languages: Erlang - davidw
http://www.computerworld.com.au/index.php?q=article/307418/-z_programming_languages_erlang
======
davidw
One of the weird things about Erlang is that, rather than being something like
Ruby or Python (or Scala), that was created, and then started to see industry
adoption, Erlang first was adopted by a large company, put in production, then
released, and only later began to see wider adoption. The good side of this
was that Erlang had a lot of resources available that most fledgling languages
didn't have. The bad side is that they can't change it:

> Removing stuff turns out to be painfully difficult. It's really easy to add
> features to a language, but almost impossibly difficult to remove things. In
> the early days we would happily add things to the language and remove them
> if they were a bad idea. Now removing things is almost impossible.

> The main problem here is testing, we have systems with literally millions of
> lines of code and testing them takes a long time, so we can only make
> backwards compatible changes.

> Some things we added to the language were with hindsight not so brilliant.
> I'd happily remove macros, include files, and the way we handle records. I'd
> also add mechanism to allow the language itself to evolve.

------
Kototama
_Instead of having external revision control systems like Git or Subversion
I'd like to see revision control and re-factoring built into the language
itself with fine-grain mechanism for introspection and version control._

Crazy idea :-)

~~~
bitdiddle
Well it does seem like an odd idea, though when one considers the motivating
app, telephony, where the goal is code that runs forever, it's not so far-
fetched. I could imagine using such features to back off minor changes to
running code on the fly. Another domain would be air traffic control systems.

