Newsroom

The Latest New/Old Language: Erlang

I was poking around the interweb for some interesting technical books to purchase.  I decided to head on over to the Pragmatic Programmers website because I’ve purchased their books in the past and have, in general, been quite happy with the books they put out.  One of the most recent books they’ve released is called “Programming Erlang: Software for a Concurrent World” (http://www.pragmaticprogrammer.com/titles/jaerlang/index.html).  I was intrigued, so I bought the book.

It came in the mail the other day and I started to read it.  I’m not that far into it, but a few things really strike me about the language.

  • It’s been around for awhile.  The Wikipedia entry (http://en.wikipedia.org/wiki/Erlang_%28programming_language%29) indicates that it first appeared in 1987 and was created at Ericsson, the cell phone company.
  • It’s designed for concurrent, highly parallel, and fault-tolerant systems.
  • Syntactically, it feels somewhat like Ruby and Scheme (or Lisp).
  • It’s a functional language.  It feels more purely functional than Ruby does.
  • Arbitrary length integers.  Ahh… finally, no need to worry about overflows!
  • Variables are single-assignment.  You cannot change the value of a “variable” once it has been assigned a value.
  • The equals operator (=) is NOT an assignment operator.  It’s a pattern matching operator.  But, when used with a variable that has not been assigned a value, the value gets assigned.  This one got a “Whoa” (insert Keanu Reeves here) from me.

I really think that I’m starting to enjoy dynamically typed, functional languages.  It’s quite a departure from standard object-oriented imperative programming.  It’s really interesting to not have to deal with objects all the time and to work with the elegance that functional programming brings to the table.

The little devil on my shoulder that likes to keep me programming in Java keeps asking me “But what is it good for?” to every new and old language that I encounter.  It’s a question that I like to keep in mind when evaluating different languages.

I can’t answer that question about Erlang yet.  I’m not that far into the book.  But, it’s definitely an interesting language.

Filed in: Team Member Blog Comments (0)languages

Comments

There are no comments for this entry.

Commenting is not available in this section entry.