Browse Definitions :
Definition

Erlang programming language

Also see erlang , a unit of telephone traffic.

Erlang is a programming language designed for developing robust systems of programs that can be distributed among different computers in a network. Named for the Danish mathematician Agner Krarup Erlang, the language was developed by the Ericsson Computer Sciences Lab to build software for its own telecommunication products. In use for a number of years at Ericsson and other companies, Erlang is taught in over 80 universities and colleges world-wide and is freely available as Open Source code.

Erlang is similar to Java in that it uses a virtual machine and supports Multithreading . However, whereas the Java development community focuses on Web applications, Erlang is aimed at the market for extremely robust servers and embedded systems.

Erlang is described as a functional programming language, meaning that it emphasizes the evaluation of expressions rather than the execution of commands. The expressions use functions to derive basic values. (Two other well-known programming models are procedural and object-oriented .)

Here are some features of Erlang:

  • Because the location of program threads can be either explicitly specified or invisible to the program, a program can easily be distributed and run at any point in a network.
  • Erlang provides dynamic data type s, allowing programmers to develop system components (such as message dispatchers) that do not care what type of data they are handling and others that strongly enforce data type restrictions or that decide how to act based on the type of data they receive.
  • Pattern matching allows for extremely compact and clear programs (about 5-10 times shorter than equivalent programs in C or Java ).
  • Like Java, Erlang provides garbage collecting ; programmers do not have to worry about returning allocated memory space.
  • Upgrades to the Erlang software don't require stopping the system.
  • Interfaces to other programming languages, such as C, C++ and Java, are provided.
  • Erlang comes with design patterns or templates for client-server design, state machines, event distribution, and thread supervision.
  • Erlang provides a framework that supports distribution of programs across a pool of servers, with automatic recovery and redistribution whenever a server fails.
  • It also includes powerful components for a network system, including an HTTP server, a Simple Network Management Protocol ( SNMP ) agent, a Common Object Request Broker Architecture ( CORBA ) interface, an OAM subsystem, and a fully distributed database engine.
  • Erlang's bytecode is identical on all platforms, and a network of Erlang nodes may consist of any mix of NT, UNIX, or other supported platforms.
  • Erlang is relatively easy to learn compared to C, C++, and Java.

The proponents of Erlang claim that it is superior to Java when developing back-end systems that require: fault tolerance, distributed processing, a large amount of concurrent activity, real time response times in milliseconds, and non-stop operation.

This was last updated in September 2007

Continue Reading About Erlang programming language

SearchCompliance
  • ISO 31000 Risk Management

    The ISO 31000 Risk Management framework is an international standard that provides businesses with guidelines and principles for ...

  • pure risk

    Pure risk refers to risks that are beyond human control and result in a loss or no loss with no possibility of financial gain.

  • risk reporting

    Risk reporting is a method of identifying risks tied to or potentially impacting an organization's business processes.

SearchSecurity
  • Twofish

    Twofish is a symmetric-key block cipher with a block size of 128 bits and variable-length key of size 128, 192 or 256 bits.

  • walled garden

    On the internet, a walled garden is an environment that controls the user's access to network-based content and services.

  • potentially unwanted program (PUP)

    A potentially unwanted program (PUP) is a program that may be unwanted, despite the possibility that users consented to download ...

SearchHealthIT
SearchDisasterRecovery
  • What is risk mitigation?

    Risk mitigation is a strategy to prepare for and lessen the effects of threats faced by a business.

  • fault-tolerant

    Fault-tolerant technology is a capability of a computer system, electronic system or network to deliver uninterrupted service, ...

  • synchronous replication

    Synchronous replication is the process of copying data over a storage area network, local area network or wide area network so ...

SearchStorage
  • Remote Direct Memory Access (RDMA)

    Remote Direct Memory Access (RDMA) is a technology that enables two networked computers to exchange data in main memory without ...

  • storage (computer storage)

    Data storage is the collective methods and technologies that capture and retain digital information on electromagnetic, optical ...

  • storage medium (storage media)

    In computers, a storage medium is a physical device that receives and retains electronic data for applications and users and ...

Close