说在前面,为啥要码这些,并不是因为喜欢它,恰恰相反,我非常讨厌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. python 如何跳过异常继续执行

    使用try...except...语句,类似于if...else...,可以跳过异常继续执行程序,这是Python的优势 用法如下: 1 2 3 4 5 6 try:            # 可能会 ...

  2. Java基础教程——Object类

    Object类 Object类是Java所有类类型的父类(或者说祖先类更合适) <Thinking in Java(Java编程思想)>的第一章名字就叫"everything i ...

  3. 跨域共享CORS详解及Gin配置跨域

    跨域简介 当两个域具有相同的协议(如http), 相同的端口(如80),相同的host,那么我们就可以认为它们是相同的域(协议,域名,端口都必须相同). 跨域就指着协议,域名,端口不一致,出于安全考虑 ...

  4. std::unique_ptr使用incomplete type的报错分析和解决

    Pimpl(Pointer to implementation)很多同学都不陌生,但是从原始指针升级到C++11的独占指针std::unique_ptr时,会遇到一个incomplete type的报 ...

  5. python 安装第三方库

    找到找到C:\Windows\System32下面的cmd.exe,   以管理员方式运行cmd.exe cd 到自己安装的python目录,这里举个例子      C:\Program Files ...

  6. c++11-17 模板核心知识(十一)—— 编写泛型库需要的基本技术

    Callables 函数对象 Function Objects 处理成员函数及额外的参数 std::invoke<>() 统一包装 泛型库的其他基本技术 Type Traits std:: ...

  7. B. Irreducible Anagrams【CF 1290B】

    思路: 设tx为t类别字符的个数. ①对于长度小于2的t明显是"YES"②对于字符类别只有1个的t明显是"YES"③对于字符类别有2个的t,如左上图:如果str ...

  8. 【2020.12.01提高组模拟】A组反思

    105,rk45 T1 赛时一开始先打了\(m=0\)的情况,也就是普通的卡特兰数,然后打了暴力,样例过了,把样例改改就不行了,原因没有保证是枚举的是合法的出栈序列 得分:\(WA\&TLE1 ...

  9. 【2020.11.30提高组模拟】剪辣椒(chilli)

    剪辣椒(chilli) 题目描述 在花园里劳累了一上午之后,你决定用自己种的干辣椒奖励自己. 你有n个辣椒,这些辣椒用n-1条绳子连接在一起,任意两个辣椒通过用若干个绳子相连,即形成一棵树. 你决定分 ...

  10. day6(celery原理与组件)

    1.Celery介绍 1.1 celery应用举例 Celery 是一个 基于python开发的分布式异步消息任务队列,通过它可以轻松的实现任务的异步处理,如果你的业务场景中需要用到异步任务,就可以考 ...