Google
 
   
Login
Username:

Password:


Lost Password?

Register now!
Search
Main Menu
service
top books
Polls
What do you think about php-deluxe.net?
Excellent!
Cool
Hmm..not bad
What the hell is this?
encyclopedia
recommendation
Freenet DSL
Who's Online
9 user(s) are online (6 user(s) are browsing encyclopedia)

Members: 0
Guests: 9

more...
partner

Erlang programming language

Erlang is a general-purpose concurrent programming language and Runtime system. The sequential subset of Erlang is a functional language, with strict evaluation, single assignment, and dynamic typing. It was designed in the company Ericsson to support distributed, fault-tolerant, soft-real-time, non-stop applications. It supports hot swapping so code can be changed without stopping a system. Erlang was originally a proprietary language within Ericsson, but was released as open source in 1998. The Ericsson implementation is primarily interpreted, but also includes a compiler called HiPE (not supported on all platforms).

Creating and managing processes is trivial in Erlang, whereas threads are considered as complicated and error prone topic in most languages.

Erlang is named after Agner Krarup Erlang. It is sometimes mistakenly thought that its name is an abbreviation of ERicsson LANGuage, owing to its heavy use inside Ericsson.

=Functional language=

Code looks like this:

-module(fact). -export([fac/1]). fac(0) -> 1; fac(N) where N > 0 -> N * fac(N-1).

Below is an implementation of a Quicksort algorithm.

%% quicksort(List) %% Sort a list of items -module(quicksort). -export([qsort/1]). qsort([]) -> []; qsort([Pivot|Rest]) -> qsort([ X || X do_something end.

Concurrency supports primary method of error-handling in Erlang. When a process crashes, it neatly exits and sends a message to the controlling process who can take action. This way of error handling may increase maintainability and reduce complexity of code.

=Distribution=

Erlang was released by Ericsson as open-source to ensure its independence from a single vendor and to increase awareness of the language. Distribution of the language together with libraries and real-time distributed database ( Mnesia ) is known as the Open Telecom Platform , or OTP. Ericsson and a few other companies offer commercial support for Erlang.

Since taking the open-source path in 1998, it became used by several companies world-wide, including Nortel Networks and T-Mobile. However, it hasn t yet become a wide-spread mainstream programming language.

As of 2005, Erlang is under active development with regular releases. It is available for several Unix-like operating systems and Microsoft Windows.

= See also =

*Erlang Telecommunications Unit *Ejabberd, an XMPP/Jabber instant messaging server written in Erlang. *Wings 3D, 3D modeller written in Erlang. *YAWS (software) (YAWS, fully featured Web server written in Erlang)

= External links =

*[http://www.erlang.org/white_paper.html Erlang white paper] *[http://www.erlang.org/ Open-source implementation] *[http://erlang.org/faq.html Mailing Lists and FAQ for the Erlang Community] *[http://www.erlang-projects.org/ A collaborative portal for the Erlang community] *[http://www.erlang-consulting.com/ Worldwide training and consulting services]