Erlang 入坑指南

程序君按:小山是一个很勤勉,求知欲很强的工程师,硬磕了不少 erlang 的底层实现 —— 前一段时间他搞懂了整个 erlang release 的过程,喜滋滋给我这种还活在 distillery 荫庇下的小确幸讲解。这篇文章是他在《程序人生》的处女稿,从另一个角度跟大家介绍一下 erlang。虽然我之前也也写过一篇介绍 上帝说:要有一门面向未来的语言,于是有了 erlang。但那篇过于笼统,没有专精一点,而他这篇,从六个基础函数讲起,深入浅出,拨开紫烟,把一座神秘美妙的香炉峰呈现在你的面前。

[本文来自:www.11jj.com]

以下正文。

[本文来自:www.11jj.com]

想了半天憋出这么个题目来,这也的确只是一篇入坑文。之前程序君写过一篇 Erlang 文章,我用谷歌翻译出来给 Joe Armstrong 老爷子看,老爷子看后大加赞赏,说这家伙搞懂 Erlang 了,我要和他约一组,于是就有了程序君与Joe老爷子对话这篇文章。这篇入坑指南很短,尝试从另一个角度认识 Erlang 。

Erlang 难吗?

难,也不难。

大部分人学习编程是从面向对象过来的。 Erlang 是一门函数式编程语言。写码时候的思维方式和传统的面向对象还是有很大差别的。这算是第一个挑战。

第二个挑战是, Erlang 的语法比较奇怪。当然这点因人而异,不过对于看惯了 Java / C++ / Ruby 的我们来说,第一次看见 Erlang 的程序是有些少许不适应。 Erlang 是 Joe 老爷子和他的两个同事 1986 年做的项目,受到一个叫做 Prolog 的语言的影响很深。Prolog 大部分人可能都没听过,更别说用过了,我特地搜了下 Prolog,跟 Erlang 绝对是一个亲妈生的。我问 Joe 为啥是 Prolog,老爷子说因为他 C 写特烂所以就用 Prolog 实现的初版 Erlang 。。。对于我来说, Erlang 的语法看着真是有点晕菜,所以一直特意没去碰它。不过之后用了一段时间 Erlang 之后,语法渐渐变得亲切可爱起来了,毕竟他只是一个语法,熟悉了就没那么可怕了。

接下来的挑战是并发。并发概念不难,但要把它搞对很难,尤其在 C 中。而并发在 Erlang 中巨简单,只要你理解了 Erlang 的核心(下面会讲)。我们的大脑会将我们不了解的东西无限放大,会觉得怎么都搞不定。但是一旦静下心来去了解,就会慢慢变得简单起来。

当我们花了很多时间熟悉函数式编程,看懂 Erlang 语法并且明白其并发模型后,一个词总是不停跳出来—— OTP。不论什么语言,总有其一套管用写法来写码。而 Erlang 的惯用写法就是OTP。绝大部分 Erlang 项目都会遵守这套设计模式,那么下一个挑战则是理解OTP这套设计模式,并且用这套设计模式来写 Erlang 代码。

又过了一段时间,当我们掌握了 OTP,写了很牛的 Erlang 程序,将其发布到生产环境中,然后服务器挂了,不得不调试找 bug,看erl_crash.dump。这时候会不可避免的发现必须要更深入了解 Erlang 的内核才能明白为啥会宕机——这个内核就是 Erlang 的虚拟机,也叫 BEAM。而这玩意是用 C 实现的,我去。

标签:Erlang 入坑 指南
自媒体 微信号:11jj 扫描二维码关注公众号
爱八卦,爱爆料。

小编推荐

  1. 1

    数字易经0到9代表什么卦(数字易经测算)

    大家好,小伟今天来为大家解答数字易经0到9代表什么卦以下问题,数字易经测算很多人还不知道,现在让我们一起来看看吧!1、数字1代表坎水、数

  2. 2

    苹果手机呼叫转移怎么设置(苹果手机呼叫转移怎么设置无法接通)

    大家好,小乐今天来为大家解答苹果手机呼叫转移怎么设置以下问题,苹果手机呼叫转移怎么设置无法接通很多人还不知道,现在让我们一起来看看

  3. 3

    中国红十字会标志简笔画(中国红十字会标志简笔画)

    大家好,小豪今天来为大家解答中国红十字会标志简笔画以下问题,中国红十字会标志简笔画很多人还不知道,现在让我们一起来看看吧!1、保护性

  4. 4

    八年级下册语文书人教版电子书(八年级下册语文书人教版电子书2022)

    大家好,小美今天来为大家解答八年级下册语文书人教版电子书以下问题,八年级下册语文书人教版电子书2022很多人还不知道,现在让我们一起来看

  5. 5

    古伊尔(魔兽古伊尔)

    大家好,小丽今天来为大家解答古伊尔以下问题,魔兽古伊尔很多人还不知道,现在让我们一起来看看吧!1、古伊尔是魔兽世界里面部落的一个酋长

  6. 6

    唯一极值点问题

    在高档数学的进修中,我们经常会碰着独一驻点的问题,在非常宽松的前提下,这个独一的驻点也就是极值点。今天我们稍微改变一下前提,商量如

  7. 7

    三公九卿制是什么(三公九卿制是什么朝代的制度)

    大家好,小乐今天来为大家解答三公九卿制是什么以下问题,三公九卿制是什么朝代的制度很多人还不知道,现在让我们一起来看看吧!1、三公九卿

  8. 8

    订房网哪个平台好(订房什么网最便宜)

    大家好,小娟今天来为大家解答订房网哪个平台好以下问题,订房什么网最便宜很多人还不知道,现在让我们一起来看看吧!1、携程、美团、艺龙、

Copyright 2024.依依自媒体,让大家了解更多图文资讯!