Erlang最有可能成为下一代的主流语言,由于其并发和分布式特性,完全迎合了多核时代。其特性如下:
(1)变量单一赋值 - 防止状态共享带来死锁
(2)面向函数编程 - 函数可以作为参数,也可以作为返回值
(3)并发 - 基于消息通信机制的轻量级进程,不是Java/C/C++的状态共享机制
(4)分布式 - 并发的进程可以部署在多个机器上即可实现分布和远程调用
(5)容错 - 进程通过相互链接进行监控/异常捕捉
(6)热代码升级 - 函数可以作为参数,动态判断函数版本进行替换升级
(7)多核 - 可以创建适量的进程来利用CPU的多核,但要注意创建进程的粒度,对于小计算避免创建过多进程
与Java/C/C++/PHP语言类似,它也提供了大量的类库,包括:文件、图形、网络、数据库等。
COP=Concurrency Oriented Programging