Erlang (programming language): Difference between revisions

From Citizendium
Jump to navigation Jump to search
imported>Eric Evers
(New page: {{subpages}} ''For other uses, see erlang (disambiguation).'' '''erlang''' is a general-purpose, functional computer programming language which shares more with prolog than an...)
 
imported>Eric Evers
No edit summary
Line 3: Line 3:


'''erlang''' is a general-purpose, functional [[computer]] [[programming language]] which shares more with prolog than any other language. It was designed specificly to do parallel programming.  
'''erlang''' is a general-purpose, functional [[computer]] [[programming language]] which shares more with prolog than any other language. It was designed specificly to do parallel programming.  
which is still in use more than thirty years after its creation.  '''erlang''' was developed in 1987 by [[Joe Armstrong]] and others (then of [[Eriksonn]]) for use to program telephone networks. Ref: Joe Armstrong (2003). "Making reliable distributed systems in the presence of software errors". Ph.D. Dissertation. http://www.erlang.org/download/armstrong_thesis_2003.pdf
which is used than twenty years after its creation.  '''erlang''' was developed in 1987 by [[Joe Armstrong]] and others (then of [[Eriksonn]]) for use to program telephone networks. Ref: Joe Armstrong (2003). "Making reliable distributed systems in the presence of software errors". Ph.D. Dissertation. http://www.erlang.org/download/armstrong_thesis_2003.pdf
New versions are released by Ericsson on a yearly basis.
New versions are released by Ericsson on a yearly basis. A present there is increased interest in parallel programming languages because of the spread of [[multicore]] microprocessor based personal computers.


==Syntax==
==Syntax==
Line 26: Line 26:
<code> start() -> </code> tells the compiler that there is a [[function]] named start with no arguments.  
<code> start() -> </code> tells the compiler that there is a [[function]] named start with no arguments.  


<code>io:format("Hello, world!\n").</code> will make the program output <code>Hello, world!</code> and a new line (<code>\n</code>) on the screen. <code>printf</code> is itself a function similar to <code>main</code> but predefined in a library (io) and [[linker|linked]] into the program at compile time or runtime. The trailing period is the end of function marker in erlang.
<code>io:format("Hello, world!\n").</code> will make the program output <code>Hello, world!</code> and a new line (<code>\n</code>) on the screen.
   
   
==See also==
==See also==

Revision as of 13:50, 29 January 2008

This article is developing and not approved.
Main Article
Discussion
Related Articles  [?]
Bibliography  [?]
External Links  [?]
Citable Version  [?]
Tutorials [?]
 
This editable Main Article is under development and subject to a disclaimer.

For other uses, see erlang (disambiguation).

erlang is a general-purpose, functional computer programming language which shares more with prolog than any other language. It was designed specificly to do parallel programming. which is used than twenty years after its creation. erlang was developed in 1987 by Joe Armstrong and others (then of Eriksonn) for use to program telephone networks. Ref: Joe Armstrong (2003). "Making reliable distributed systems in the presence of software errors". Ph.D. Dissertation. http://www.erlang.org/download/armstrong_thesis_2003.pdf New versions are released by Ericsson on a yearly basis. A present there is increased interest in parallel programming languages because of the spread of multicore microprocessor based personal computers.

Syntax

Hello World

-module(hello).
-export([start/0]).

start() ->
   io:format("Hello, world!\n").

Analysis of the example

The Hello World program (see above) appears in many programming languages books and articles as a cursory introduction into a language's syntax. It was introduced in the book The C Programming Language[1].

-module(hello) tells the precompiler to create a new module(library) called hello. This also tells us the name of the file: hello.erl.

-export([start/0]). exports a function named start with 0 arguments to the world outside of this module called hello.

start() -> tells the compiler that there is a function named start with no arguments.

io:format("Hello, world!\n"). will make the program output Hello, world! and a new line (\n) on the screen.

See also

References

  1. Cite error: Invalid <ref> tag; no text was provided for refs named K&R