七周七语言(6)

函数式编程的特点
1 一切都是函数,没有对象的概念
2 给定相同的输入产生相同的输出
3 函数没有内部状态,函数没有副作用

在erlang来说,继承了函数式编程的特点,同时增加了一条,elang函数变量只能赋值一次

erlang继承了prolog的思想,在prolog语言中,有三种元素——原子,变量,列表,erlang也是一样,
同时也继承了其语法和强大的模式匹配功能,这些特色都是来自与prolog
如果说 erlang本身的特色的,主要包括以下几点:
1 没有线程,都是轻量级进程
没有线程就意味无资源共享,极大的简化了并发编程以及增加了并发执行的效率,对于并发实现来说,主要是创建一个轻量级进程。这个我比较好奇,这个和操作系统本身的进程之间的关系。
本身来说,操作系统都是提供进程,erlang这个轻量级进程和操作系统之间的进程不知道有什么关系,是不是自己实现的

2 动态热拔插以及稳定性高
动态语言都有这个都具有热拔插的功能,这个是动态语言的最大优势。但是erlang貌似是编译执行的,难道引用执行的此模块的系统都能够及时感知?
对于稳定性,可能语言核心相对比较小,微内核的,所以有很高的稳定。

3 错误处理机制以及进程自动重启
在遇到错误的时候,java很多语言通过显示定义异常或者在运行时候抛出异常,通过应用程序扑捉来决定如何,erlang则是不处理,进程直接奔溃,然后在重启进程,主要还是因为函数式编程,都是无状态,重试多少次结果都一样

至于强大的并发编程模型,也就是actor模型,和scala很是类似,发送方异步发送消息,接收方通过模式匹配来接受消息

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值