现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

Erlang语言介绍

2020-01-11 13:14 工业·编程 ⁄ 共 1563字 ⁄ 字号 暂无评论

1、Erlang介绍

Erlang是一种通用的面向并发的编程语言,它由瑞典电信设备制造商爱立信所辖的CS-Lab开发,目的是创造一种可以应对大规模并发活动的编程语言和运行环境。Erlang问世于1987年,经过十年的发展,于1998年发布开源版本。Erlang是运行于虚拟机的解释性语言,但是现在也包含有乌普萨拉大学高性能Erlang计划(HiPE)开发的本地代码编译器,自R11B-4版本开始,Erlang也开始支持脚本式解释器。在编程范型上,Erlang属于多重范型编程语言,涵盖函数式、并发式及分布式。顺序执行的Erlang是一个及早求值, 单次赋值和动态类型的函数式编程语言。

Erlang 是一个结构化,动态类型编程语言,内建并行计算支持。最初是由爱立信专门为通信应用设计的,比如控制交换机或者变换协议等,因此非常适 合于构建分布式,实时软并行计算系统。使用Erlang编写出的应用运行时通常由成千上万个轻量级进程组成,并通过消息传递相互通讯。进程间上下文切换对 于Erlang来说仅仅只是一两个环节,比起C程序的线程切换要高效得多得多了。

使用Erlang来编写分布式应用要简单的多,因为它的分布式机制是透明的:对于程序来说并不知道自己是在分布式运行。Erlang运行时环境是一个虚拟机,有点像Java虚拟机,这样代码一经编译,同样可以随处运行。它的运行时系统甚至允许代码在不被中断的情况下更新。另外如果需要更高效的话,字节代码也可以编译成本地代码运行。

2、Erlang语言特点

1)并发性 - Erlang支持超大量级的并发进程,并且不需要操作系统具有并发机制。

2)分布式 - 一个分布式Erlang系统是多个Erlang节点组成的网络(通常每个处理器被作为一个节点)

3)健壮性 - Erlang具有多种基本的错误检测能力,它们能够用于构建容错系统。

4)软实时性- Erlang支持可编程的“软”实时系统,使用了递增式垃圾收集技术。

5)热代码升级-Erlang允许程序代码在运行系统中被修改。旧代码能被逐步淘汰而后被新代码替换。在此过渡期间,新旧代码是共存的。

6)递增式代码装载-用户能够控制代码如何被装载的细节。

7)外部接口-Erlang进程与外部世界之间的通讯使用和在Erlang进程之间相同的消息传送机制。

8)Fail-fast(中文译为速错),即尽可能快的暴露程序中的错误。

9)面向并发的编程(COP concurrency-oriented programming)

10)函数式编程

11)动态类型

12)及早求值或严格求值

13)脚本语言

3、Erlang源码安装

安装依赖包

yum -y install gcc glibc-devel make ncurses-devel openssl openssl-devel autoconf gcc-c++ kernel-devel m4  unixODBC unixODBC-devel

yum -y install wxGTK wxGTK-devel fop libxslt libxslt-devel

wget http://www.erlang.org/download/otp_src_18.0.tar.gz

tar xzvf otp_src_18.0.tar.gz

cd otp_src_18.0

./configure \

--enable-threads \

--enable-smp-support \

--enable-kernel-poll \

--enable-native-libs \

--without-javac

make && make install

配置erlang环境

vi /etc/profile

export PATH=$PATH:/usr/local/erlang/bin

# whereis erlang

erlang: /usr/local/erlang

给我留言

留言无头像?