What is Erlang?

Source: Internet
Author: User

What is Erlang?
A "niche" language (ranking more than 50)

A functional language (a variable can be assigned only once)

A dynamic type language (the variable type is determined at runtime,CodeIt must be compiled before execution. It is different from Python and Ruby)

A strong language

A concurrency Oriented Language

 

Storm in a cup (published in 《ProgramClerk, issue 9 and 10), and the large-scale multiplayer online system that easily achieves scalability, fault tolerance, and load balancing are two excellent introductory ArticlesArticle.

 

2. Start learning

 

First download the installation package

To http://www.erlang.org/download the latest Erlang/OTP version

Or download a more easy-to-use release version to the http://cean.process-one.net/download/, only 3 m size

 

Online Resources

Http://www.erlang.org/is an official website and it is recommended to subscribe to its Mail List

Subscribe to RSS http://www.planeterlang.org/

Http://www.trapexit.org/There are good articles and tutorials

There are many Erlang projects in http://www.process-one.net/en/

Http://yaws.hyber.org/A concurrency efficiency far exceeds Apache's Web Server

Http://ejabberd.jabber.ru/an Erlang Jabber server implementation

The http://kl.agile.com/contains potian and T1 which are frequently discussed.

There are some discussions in the http://groups.google.com/group/erlang-china

Http://computebank.spaces.live.com /? _ Signature = blogpartpartqs = cat % 3d % 25e5% 2588% 25e5% 25b8% 2586% 25e5% 25bc % 258f % 25e5% 25b9% 25b6% 25e8% 25a1% 258c % 25e8% 25ae % 25a1% 25e7% 25ae % 2597 this guy translated some Erlang documents, great.

You can also follow the integrated version of javaeye.

 

Editor

Erlide is an eclipse Erlang plug-in. The problem is not stable enough. Be ready to crash at any time.

Vim, after adding the vim-Erlang and taglist plug-ins, it is a good ide

Emacs. We recommend that you try it with Emacs.

Netbeans and dcaoyuan are developing an Erlang plug-in. If you are interested, stay tuned.

Notepad, you are too talented. In fact, there are a lot of C written in a notebook...

 

3. syntax and framework

 

Erlang syntax is not very difficult, but I am used to the OO program. It is quite strange at first glance. Take a look at the documentation and practice. It's easy to get started. When you have mastered the basic syntax, Process Communication, and distributed communication, it is time to enter the OTP (Open telecom platform) platform, if you want to develop a 99.9999999% High Availability System.

 

4.Algorithm, Architecture

 

Erlang, the FP language, provides a very high distributed program development efficiency, and does not need to work hard to use Ace. Nio constructs a communication underlying layer that supports high concurrency, so it no longer needs to carefully use lock, semaphore and so on. However, a more core issue arises. How can we parallel a large-scale computing task through a good algorithm and implement the inter-process communication architecture, this enables the system to achieve load balance and fail over, achieving high availability, robustness, and high performance.

 

In addition, we need to focus on the common bottleneck of Io. Joe Armstrong once wrote a pmap (parallel map) implementation, run a task that needs to interact with IO in parallel on a 32-core sun Niagara server. The following figure shows the performance improvement data.

 

# CPUs speedup

1 0,953

2 1,855

3 2,679

4, 44

5 4,012

6 4,624

7 5,093

8, 46

, 73

11 6,108

12, 47

13, 58

14, 6, 8

15 6, 67

16 7

17, 6, 99

18, 7, 29

19 6, 97

20 6, 97

21, 6, 74

22, 6, 86

23, 7, 07

24, 6, 85
 

It can be seen that I/O becomes a bottleneck after the performance reaches 7%. Whether it is C, Java, Ruby or Erlang, you must look directly at the problems brought about by Io.

 

I talked a lot about it, and the next notes will be written into the code.

This article from the csdn blog, reproduced please indicate the source: http://blog.csdn.net/skyremember/archive/2008/11/10/3265363.aspx

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.