博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
为什么使用Erlang?
阅读量:6241 次
发布时间:2019-06-22

本文共 1143 字,大约阅读时间需要 3 分钟。

hot3.png

主要特性

如果问我觉得Erlang最重要的特性是什么的话,我觉得应该是并发。

并发能够带来的好处是不言而喻的,比如:

  • 性能 现在的计算机由于主频的限制,都在往多核的方式发展,有些比较高端的机器甚至有几十个核心。如果编写的程序都是顺序运行的话将会严重浪费多核计算机的计算能力。Erlang本身是面向并发编程的,如果把之前在单核机器上面跑的Erlang程序放到多核机器上面跑的话,性能将会极大的提高。
  • 扩展性 如果在一台机器上面运行Erlang程序还不能满足性能的要求的话,可以简单的升级机器的CPU核心个数,甚至可以经过简单的改造把不同的进程分配到不同的机器上面运行,通过水平扩展方式来满足高并发的业务需求。
  • 容错性 Erlang内部实现的进程是相互独立的,一个进程的崩溃并不会影响到另外一个进程的运行,同时Erlang内部还OTP框架来保证系统的容错性。
  • 清晰性 Erlang世界观和现实的世界是一样的,在大多数的编程语言里面事情都是顺序发生的,但是在Erlang的世界里面所有的事件都是并发的,在编写程序的时候能够比较清晰的把现实世界事件的并行发生的的特性映射到Erlang的并发编程上面。

简介

快速介绍下Erlang比较与众不认同的特性:

  • Erlang Shell 在编写Erlang程序的过程中会有很多时间花费在Erlang Shell里面,Erlang Shell类似于Linux的Bash,开发者能在Erlang Shell里面运行表达式,通过这种交互方式,开发者能够在Erlang Shell里面调试正在运行的Erlang程序(包括远程的Erlang程序)。
  • = 操作符 在一般的编程语言里面,=表示赋值操作,一个变量能够被多次赋值。但是在Erlang里面变量是不可变的,一旦通过=绑定之后,该变量的值就不能发生改变了,重复绑定会导致异常。
  • 变量和原子 所有Erlang的变量都是以大写字母开头的,比如:One、This和My_baby这些都是变量。以小写字母开头的则是符号常量(被称为原子:atom),比如:person、one和hello_world。
  • 进程 Erlang的进程是Erlang虚拟机内部自己实现的进程,非常轻量级,刚开始创建的时候每个进程的大小也就2KB左右,1GB的内存就可以创建50万个进程。同时进程间没有共享内存,进程间的通信通过消息转发实现。

总结

Erlang的特性决定了它是一门比较另类的语言,相信第一次见到它的人会觉得很吃惊,世界上居然会有这样的一门语言。但正是由于这些看似奇怪的特性,让Erlang能够在当今多核的时代充分的发挥它的能力。

转载于:https://my.oschina.net/zhenggao/blog/2994978

你可能感兴趣的文章
(转)Eclipse新增安卓虚拟机
查看>>
SpringMvc访问Controller去掉do
查看>>
PHPnow升级PHP 5.4与Mysql 5.5
查看>>
正则表达式验证邮箱格式
查看>>
如何围绕企业战略,建设BI驾驶舱?
查看>>
java多线程stop,suspend使用代码实际例子
查看>>
中小型研发团队架构实践三:微服务架构(MSA)
查看>>
Windows动态库学习心得
查看>>
在VMware虚拟机上安装Ubuntu 10.04
查看>>
LDA主题模型简介
查看>>
可拖动的DIV续
查看>>
关于“类型初始值设定项引发异常”
查看>>
MySql 小表驱动大表
查看>>
Redis 数据结构的底层实现 (一) RealObject,embstr,sds,ziplist,quicklist
查看>>
SQL语句注入的问题
查看>>
jQueryEasyUI Messager基本使用
查看>>
【C语言学习趣事】_33_关于C语言和C++语言中的取余数(求模)的计算_有符号和无符号数的相互转换问题...
查看>>
Tensorboard教程:显示计算图中节点信息
查看>>
java 线程基本概念 可见性 同步
查看>>
Java:JUnit包
查看>>