erlang学习半个月的心得
序
当初,为erlang介绍中的并发、分布式、可用性、软实时特性所吸引,开始入手erlang。目标是想了解erlang是怎么做到这些特性,对开发效率的提升有多大,我目前项目中碰到的并发、分布式、实时的困境他能否解决?怎么解决?
主要还是通过网络上下载的《Erlang程序设计中文版(完整书签).pdf》来学习,pdf大都是图片版,文字版的很少,找到的内容也不全。
首先看了顺序编程一章,算是入了门,我想真写起程序来,除了变量单次赋值比较麻烦,其他跟C等命令式语言也不会差太大,估计需要个把月的转变期。
erlang的优缺点
一、OTP
按目前的了解,我认为erlang真正比其他语言好的地方,erlang最大的优点,不是语言,而是他的OTP部分。爱立信用这个语言成功开发了ATM交换机,这个成功项目的框架连同erlang语言一起开源出来,框架就叫OTP。也就是说,如果你的项目需求跟ATM交换机类似,那用erlang非常好,完整的框架摆这了,节约大量的成本。
更重要的是,OTP不是提供底层的类库,他的理念是非功能性需求和功能性需求的代码分离,也就是说这个系统的一半已经开发好了,代码热加载、分布、系统管理、系统监控 等等,你只要专注于功能需求的实现。
OTP中还带有一个分布式数据库Mnesia,类键值数据库,erlang语言的元组等可直接存入取出,这对开发效率应该是有非常大帮助的。
二、可用性
erang在错误处理方面想法很独到,详细可以参看创始者之一写的论文《面对软件错误构建可靠的分布式系统.pdf》
erlang常说的可用性n个9,在创始者论文中也提到,他是从爱立信的官方宣传文档中找到的,怎么算出来的不知道,他自己没有数据,因为各项目的人都是告诉他很好,很稳定,但是没具体统计。我们意会一下,这表示erlang不同于其他开源产品,他的稳定性可用性很优秀。但是我们自己开发的产品,稳定性可用性还是要靠自己的能力去保障。
常有人把erlang开发的web服务器Yaws跟Apache对比,有个经典的对比图,erlang超级大牛余峰博文中有一篇就是分析这次的测试,结果是这个测试方法不公平。
所以erlang不是银弹,不是用了它产品就一定可以分布式、高可用性。但确实会帮助你在这方面有很大提升。
三、分布式、并行性
erlang让你写代码的时候,很容易实现并发和分布式,而且代码书写的时候,多机分布和单机并行的代码写法一致,本来是单机的,数据量提升以后,加一台机器,代码不用改。当然,前提是你按erlang的OTP设计思路来开发。
四、erlang的缺点
erlang语言如果不是函数式语言,我想erlang现在已经大红大紫,目前的开发人员,99%是命令式语言开发的,这个学习成本是一个很高的门槛,特别是如果某个项目想用erlang,到哪里找三四个开发人员,这是个很大的问题。
学习推荐
erlang的中文教材,不管电子版的还是印刷出来的,都非常少,但是都很经典。前面提到的创始者写的两个文章,基本上是必看的。
用erlang OTP写一个完整项目,细节的东西还是很多的, 所以这本书是做实际项目前必看的《Erlang/OTP并发编程实战[平装] 》~洛根(Martin Logan) (作者),梅里特(Eric Merritt) (作者),卡尔森(Richard Carlsson) (作者),连城 (译者)
国内erlang的高价值的博文,有一大半是来自余峰,所以他的博客和博客合集《erlang深度分析.pdf》,是需要经常看的。pdf在他的新博客上有下载链接。
新博客地址: http://blog.yufeng.info/
旧博客地址: http://mryufeng.iteye.com/
erlang学习半个月的心得相关推荐
- 三星Android p 卡,购买经历 篇二:三星S10 半个月使用心得
购买经历 篇二:三星S10 半个月使用心得 2019-06-18 10:03:08 0点赞 0收藏 0评论 结论 这是一部让人难以割舍的手机,我想拥有也想放弃. 我之前一直是苹果全家桶用户,用的是7P ...
- 【免费学习半个月】强烈推荐你学习这个《机器学习与推荐系统实训强化课》...
前几天,我给朋友推荐一个课程,跟他说认真学能拿到头条offer,一开始还说我吹牛,看完介绍,结果直接就报名了.就是下面这个 <机器学习与推荐系统实训强化课> 「Machine Learni ...
- agx 安装ros opencv_史上最全的OpenCV入门教程!这篇够你学习半个月了!万字长文入门...
一.Python OpenCV 入门 欢迎阅读系列教程,内容涵盖 OpenCV,它是一个图像和视频处理库,包含 C ++,C,Python 和 Java 的绑定. OpenCV 用于各种图像和视频分析 ...
- 史上最全的OpenCV入门教程!这篇够你学习半个月了!万字长文入门
推荐下我自己建的人工智能Python学习群:[809160367],群里有我整理的一份关于pytorch.python基础,图像处理opencv\自然语言处理.机器学习.数学基础等资源库,想学习人工智 ...
- SSM学习半个月后的笔记整理,希望对你有帮助
在Typora上写完搬上来的.格式可能有点怪,见谅. 目录 一.Spring 1.IOC容器----Inversion of Control Containers and the Dependency ...
- 半个月爆肝,Python学习指南:学习方法、路径图、资料都备齐了!
1.6米长,八年Python使用经验,耗时半月,制作了这张Python学习路径图! 视频大纲: 自己的课代表 1.为什么学习python 00:43 2.python学习路径图和python备忘手册( ...
- 21 张思维导图,柠檬哥肝了半个月的「后端技术学习路线」长啥样?
珍惜当下,因为每一天都不平凡.1915 年的今天,爱因斯坦向普鲁士科学院展示广义相对论的方程式. 大家好,我是柠檬. 柠檬哥最近在思考公众号的内容方向问题,如何让公众号持续提供有价值的内容给大家,之所 ...
- 这21 张思维导图,足足让我肝了半个月的「后端技术学习路线」长啥样?(附全套Java资料)
写的文章也都是围绕着这个主题,这位读者的问题让我突然意识,我忽略了读者群体里有很多是初学编程,或者刚接触计算机的同学. 作为一个普通大学非计算机专业,自学后端技术进入腾讯从事后端开发工作,我自己也是非 ...
- python时间比较好_花了半个月时间,终于找到了一款最适合的python教程
最近会有一些广告主来找想在星佳的这个个人公众号上投放广告,但偏偏有些内容确实不能推,哪怕赚钱,其实也并不是自己多有良心,只是去帮那些产品站台带来的风险和他们给的那点广告费比,完全没在一个数量级,说这个 ...
最新文章
- 关于(++i)+(++i)+(++i)与(++i)+(i++)与(i++)+(++i)
- 六十一、Python中的smtplib和email实现邮件发送
- jzoj100042-保留道路【最小生成树,图论】
- CNN框架的搭建及各个参数的调节
- easyexcel 填充模板 格式变了_Qamp;A | 如何制作规范的电子合同模板?
- Android Studio的快捷键图文并茂
- update yum 到指定版本_centos使用yum update升级到指定小版本
- 2021某宝上的千月五级分润源码影视小说源码
- 安卓案例:使用AChartEngine绘制折线图
- 001mongodb数据库介绍002mongodb的增删改查003数据导入导出
- php的setinc方法,thinkphp3.2.0 setInc方法 源码全面解析
- jQuery 3D圆盘旋转焦点图 支持鼠标滚轮
- GUN/LINUX的文件类型
- 企业微信怎么统计客户数量
- Kafka入门经典教程
- 1134: 字符串转换 C语言
- 光耦p621引脚图_TOSHIBA光耦TLP系列的部分光耦的应用
- 计算机程序设计员初级pdf,计算机程序设计员(实摩)国家职业标准.pdf
- 不得不使用的百度快照优化seo技巧
- python实现骚操作,表白神技:整个朋友圈都是爱你的样子