English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Erlang in1991Year, Ericsson launched the first version, and after continuous improvement, improvement, and development, in1996Year, Ericsson provided a very practical and stable OTP software library for all Erlang users and in1998Year, the first open-source version was released. Currently, Erlang supports operating systems such as Linux, Windows, Unix, and can be said to be suitable for mainstream operating systems, especially its support for multi-core is very suitable for modern multi-core CPUs, and its distributed characteristics can also be well integrated with various distributed clusters currently available.
Erlang is general, or you can say it is a functional programming language and runtime environment. Its construction method makes it inherently supportive of concurrency, distribution, and fault tolerance. Erlang was originally developed for use in multiple large telecommunication systems. However, it has gradually entered different fields such as e-commerce, computer telephony, and banking.
Erlang has developed rapidly in China in recent years, mainly used for game server system development. Erlang is easy to learn, has a high fault tolerance rate, and is suitable for rapid iteration, which is very suitable for the development of web games and mobile games. Especially in some medium and small game companies in Guangzhou, Shenzhen, and other places, almost all of them use Erlang. With c++As a basic language for game server systems requires long-term technical accumulation, and also c++The development efficiency is not as good as Erlang, and the high recruitment cost is also a huge challenge for new companies. But small and medium-sized companies focus more on products than technology, which is unfavorable for the development of Erlang in China. Most companies use the same mature Erlang framework, focusing on handling specific business logic while neglecting underlying optimization. This is extremely unfavorable for the development of Erlang.
Erlang has been developing abroad for a long time and has been proven to be a mature language. It is currently applied to hundreds of major development projects including Ericsson's broadband, GPRS and ATM switching solution systems, with rich project experience. The programming framework (OTP) provides a set of tools and libraries for robustness and fault tolerance and a complete structured framework for the Erlang system. However, compared to domestic game development, it is mainly used abroad for web services, computer telephony, messaging systems, and commercial banks. At the beginning of this century, the Erlang.org website had36000 web pages, and ten years later, this number rose to28000, which indicates that the Erlang community is constantly expanding, including commercial, research and open-source projects, viral marketing, a combination of books and blogs, of course, all of which are derived from the original design of Erlang-The demand for solving specific domain problems and the promotion.
For most programming languages, the first code for beginners is 'Hello World!', and the following code is used to output 'Hello World!' in Erlang:
% Hello World program -module(helloworld). -export([start/0]). start() -> io:fwrite("Hello, world!\n").Test it out ‹/›
This tutorial is designed for professionals who are keen to work in the fields of gaming, telecommunications, banking, instant messaging, e-commerce, and computer telephony. This tutorial will give you a sufficient understanding of this programming language and can also help you build scalable soft real-time systems with higher requirements for scalability.
Before continuing with this tutorial, you must be familiar with the use of the following languages (such as C or C ++Some basic knowledge of programming in languages such as Java, Python, Ruby, etc. In addition, some practical programming knowledge of functional programming languages (such as Clojure, Haskell, Scala, or OCaml) may also be helpful for advanced programming in Erlang.