Browse Definitions:
Definition

Erlang programming language

Contributor(s): Ulf Wiger

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

Start the conversation

Send me notifications when other members comment.

By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy

Please create a username to comment.

-ADS BY GOOGLE

File Extensions and File Formats

Powered by:

SearchCompliance

  • PCAOB (Public Company Accounting Oversight Board)

    The Public Company Accounting Oversight Board (PCAOB) is a Congressionally-established nonprofit that assesses audits of public ...

  • cyborg anthropologist

    A cyborg anthropologist is an individual who studies the interaction between humans and technology, observing how technology can ...

  • RegTech

    RegTech, or regulatory technology, is a term used to describe technology that is used to help streamline the process of ...

SearchSecurity

  • email spam

    Email spam, or junk email, is unsolicited bulk messages sent through email with commercial, fraudulent or malicious intent.

  • distributed denial of service (DDoS) attack

    A distributed denial-of-service attack occurs when an attack originates from multiple computers or devices, usually from multiple...

  • application whitelisting

    Application whitelisting is the practice of identifying applications that have been deemed safe for execution and restricting all...

SearchHealthIT

  • athenahealth Inc.

    Based in Watertown, Mass., athenahealth Inc. is a leading vendor of cloud-based EHRs for small to medium-sized physician ...

  • Affordable Care Act (ACA or Obamacare)

    The Affordable Care Act (ACA) is legislation passed in 2010 that changed how uninsured Americans enroll in and receive healthcare...

  • HIPAA Privacy Rule

    The Standards for Privacy of Individually Identifiable Health Information, commonly known as the HIPAA Privacy Rule, establishes ...

SearchDisasterRecovery

  • disaster recovery as a service (DRaaS)

    One approach to a strong disaster recovery plan is DRaaS, where companies offload data replication and restoration ...

  • data recovery

    Data recovery restores data that has been lost, accidentally deleted, corrupted or made inaccessible. Learn how data recovery ...

  • disaster recovery plan (DRP)

    A company's disaster recovery policy is enhanced with a documented DR plan that formulates strategies, and outlines preparation ...

SearchStorage

  • yottabyte (YB)

    A yottabyte is a measure of theoretical storage capacity and is 2 to the 80th power bytes, or, in decimal, approximately 1,000 ...

  • Kilo, mega, giga, tera, peta, exa, zetta and all that

    Kilo, mega, giga, tera, peta, exa, zetta are among the list of prefixes used to denote the quantity of something, such as a byte ...

  • brontobyte

    A brontobyte is a measure of memory or data storage that is equal to 10 to the 27th power of bytes.

SearchSolidStateStorage

  • PCIe SSD (PCIe solid-state drive)

    A PCIe SSD (PCIe solid-state drive) is a high-speed expansion card that attaches a computer to its peripherals.

  • SSD caching

    SSD caching, also known as flash caching, is the temporary storage of data on NAND flash memory chips in a solid-state drive so ...

  • NVDIMM (Non-Volatile Dual In-line Memory Module)

    An NVDIMM (non-volatile dual in-line memory module) is hybrid computer memory that retains data during a service outage.

SearchCloudStorage

  • RESTful API

    A RESTful application program interface breaks down a transaction to create a series of small modules, each of which addresses an...

  • cloud storage infrastructure

    Cloud storage infrastructure is the hardware and software framework that supports the computing requirements of a private or ...

  • Zadara VPSA and ZIOS

    Zadara Storage provides block, file or object storage with varying levels of compute and capacity through its ZIOS and VPSA ...

Close