说在前面,为啥要码这些,并不是因为喜欢它,恰恰相反,我非常讨厌Erlang(真香警告)这位二郎神(Erlang的谐音),讨厌它的语法,讨厌它不变的变量,讨厌它的一切。

  曾经的我,一听到这个语言,我就打心眼不服,一看到它的写法,我就不爽,C++和Java不香吗?特别香,特别好用,随便百度谷歌一搜,到处都是技术分享博客,想找啥找啥,啥资料都有,一抓一大把。话说想找一些Erlang资料,技术文章少得可怜,而且还是很零散,不过就在博客园这个神圣的地方,就有很多坚持编写Erlang技术博主,打心眼欣赏他们,我就说吧,瞧,他们心态真好。

  刚开始写Erlang的时候,特别别扭,那些奇怪的模式匹配,列表推导,简直无法跟面向对象语言对比。既然如此无奈,还在这里罗唆它干吗。我对它是没感觉,因为俺已经心有所属了,但是没感觉并不代表不需要。咱们还是先探讨学习下它,就当是让自己多学点手艺,俗话说得好,技多不压身,它无关政治民生,关乎的只是咱们的需要。

  先把这老古董的前世今生,英文原版的链接放到这里来:《twenty-years-of-open-source-erlang

  Erlang 编程语言在 1998 年 12 月 8 号星期二开源发布,原文还放了一张当时发布的网站图片,我也贴一张,这张图片就跟现在的官网长得差不多,没什么变化,果然是老古董了:

  虽然Erlang发布很长时间了,只是开源的时间比较晚,看那本经书上写的:“Erlang大约与Perl同年,比C艹年轻四岁,长Java十岁。但是这个被扔在角落里二十多载无人理睬的老家伙却像是突然吃了返老还童丹似的在二十多岁的高龄又火了一把,吸引了很多少男少女们”。

  Erlang人老心不老,支持高并发,充分利用CPU多核,轻量级进程,消息传递,热更新,虽然语法看着跟臭豆腐一样臭,但是它的内功(特性)一亮出来,就真香,特别是对于24小时不停机的应用,那就很方便了。

  

  使用Erlang的时光会把你雕刻成你应有的样子。

  Author:snowcicada

  URL:https://www.cnblogs.com/snowcicada/p/14152889.html

Erlang那些事儿之正儿八经的前言的更多相关文章

  1. Erlang那些事儿第3回之我是函数(fun),万物之源MFA

    Erlang代码到处都是模式匹配,这把屠龙刀可是Erlang的看家本领.独家绝学,之前在<Erlang那些事儿第1回之我是变量,一次赋值永不改变>文章提到过,Erlang一切皆是模式匹配. ...

  2. Erlang那些事儿第1回之我是变量,一次赋值永不改变

    第1回先从不变的变量说开来,学过其他编程语言的人都知道,变量之所以叫变量,是因为它会经常变,被修改.假设原本X  = 10,后来再执行X = 24,那么X就从10变成了24,这对于程序新手和老鸟来说, ...

  3. Erlang那些事儿第2回之我是模块(module),一文件一模块

    前几篇文章会写得比较基础,但是既然要写一系列的文章,还是得从基础开始写.我刚学Erlang碰到最大的问题是,想网上搜索下语法,结果却是寥寥无几,而且介绍得不是很系统,对我了解一些细节是有影响的,正好我 ...

  4. 翻译连载 |《你不知道的JS》姊妹篇 |《JavaScript 轻量级函数式编程》- 引言&前言

    原文地址:Functional-Light-JS 原文作者:Kyle Simpson-<You-Dont-Know-JS>作者 译者团队(排名不分先后):阿希.blueken.brucec ...

  5. 总结iOS开发中的断点续传那些事儿

    前言 断点续传概述 断点续传就是从文件赏赐中断的地方重新开始下载或者上传数据,而不是从头文件开始.当下载大文件的时候,如果没有实现断点续传功能,那么每次出现异常或者用户主动的暂停,都会从头下载,这样很 ...

  6. [Maven]Maven 那点事儿

    0. 前言 Jason Van Zyl,在 Java 十大风云人物排行榜上或许会看到他. 这兄弟是干嘛的? 他就是 Maven 的创始人,人们都尊称他为"Maven 他爸". 毋庸 ...

  7. Erlang 101 Erlang环境和顺序编程

    笔记系列 Erlang环境和顺序编程 Erlang并发编程 Erlang分布式编程 Yaws Erlang/OTP 日期              变更说明2014-10-12 A outline, ...

  8. 【黑金原创教程】【FPGA那些事儿-驱动篇I 】连载导读

    前言: 无数昼夜的来回轮替以后,这本<驱动篇I>终于编辑完毕了,笔者真的感动到连鼻涕也流下来.所谓驱动就是认识硬件,还有前期建模.虽然<驱动篇I>的硬件都是我们熟悉的老友记,例 ...

  9. Block编程值得注意的那些事儿

    [深入浅出Cocoa]Block编程值得注意的那些事儿   [深入浅出Cocoa]Block编程值得注意的那些事儿 罗朝辉 (http://www.cnblogs.com/kesalin/) 本文遵循 ...

随机推荐

  1. jQuery 第五章 实例方法 事件

    .on() .one() .off() .trigger() .click / keydown / mouseenter ...    .hover() ----------------------- ...

  2. 重新认识Lombok

    Lombok插件 简介 那么lombok到底是个什么呢,lombok是一个可以通过简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 Java 代码的工具,简单来说,比如我们新建了一个类,然后 ...

  3. JUC并发工具包之CountDownLatch

    1.介绍 本文将介绍CountDownLatch并给出实践中的几个例子,通过使用CountDownLatch我们可以让一个线程阻塞直到其他一个或多个线程执行完成. A synchronization ...

  4. framework中的sentinel

    引入切面: 切面+sentinel-web-servlet private void initDataSource() { String zkUrl = zaSentinelConfig.getDat ...

  5. SpringBoot中JPA的学习

    SpringBoot中JPA的学习 准备环境和项目配置 写一下学习JPA的过程,主要是结合之前SpringBoot + Vue的项目和网上的博客学习一下. 首先,需要配置一下maven文件,有这么两个 ...

  6. Istio 之ServiceEntry

    使用服务条目资源(ServiceEntry)可以将条目添加到 Istio 内部维护的服务注册表中.添加服务条目后,Envoy 代理可以将流量发送到该服务,就好像该服务条目是网格中的服务一样.通过配置服 ...

  7. AgileConfig-轻量级配置中心 1.1.0 发布,支持应用间配置继承

    AgileConfig轻量级配置中心自第一个版本发布不知不觉已经半年了.在并未进行什么推广的情况下收到了250个star,对我有很大的鼓舞,并且也有不少同学试用,并且给出了宝贵的意见,非常感谢他们.其 ...

  8. mysql建表和建数据库语句

    一.数据库操作语言 数据库在操作时,需要使用专门的数据库操作规则和语法,这个语法就是 SQL(Structured Query Language) 结构化查询语言. SQL 的主要功能是和数据库建立连 ...

  9. oracle 流程控制句式

    --for loop declare val number(10):=0; begin for val in 0..10 loop dbms_output.put_line('val='||val); ...

  10. uwsgi+nginx的三种配置方式

    第一种 vi /etc/uwsgi.ini uwsgi --reload uwsgi.pid vi /etc/nginx/conf.d/iot.conf service nginx restart 第 ...