• 请不要在回答技术问题时复制粘贴 AI 生成的内容
linjianru
V2EX  ›  程序员

这可能是 Erlang 界目前最好的一本书,快要翻译完了,心情很激动

  •  6
     
  •   linjianru · Apr 17, 2017 · 13492 views
    This topic created in 3499 days ago, the information mentioned may be changed or developed.

    Erlang 很小众,但如此迷人,让人欲罢不能。

    去年,一本名为《 Designing for Scalability with Erlang/OTP 》的高评分“神书”横空出世了,此书主要介绍了两方面的内容:

    • OTP 框架的设计原理以及工作机制(从通用服务器、有限状态机、通用事件管理/处理器、监督树、应用程序,到 Release 级别的打包与热升级等等)
    • 架构高可用系统时的核心方法( Metrics/Log/Alarm/Monitor 、以及各种常见的分布式架构解析,以及 Riak Core 等案例分析)

    特别是第 2 主题,花了五章篇幅,读罢深感精彩。我真的是太佩服二十多年前他们就已经把高可用新系统做到如此完善。而且这些设计方法其实在今天互联网系统设计中完完全全就是同一套东西。真的可说是佩服至极。

    这本书一共 16 章,翻译工作已经大部分完成。月底基本上初稿就完成了。不过还需要做一些校对和调整。但我实在是非常兴奋,虽然我明明知道——

    并没有几个人用 Erlang ,也没有几个人会买这本书……
    

    但是我就是很兴奋啊!哈哈哈哈。我相信很多人都能体会那种读了一本极好的书后内心闪亮而激动的感觉!

    好吧,其实发个贴并没有什么卵用,就让此贴默默沉了吧,我继续赶稿……(哭丧 5 秒)

    (警告:下述内容 18 岁以下不易观看)

    在 Erlang 的世界中探索是充满挑战的,因为它既是一座高山,也是一片海洋。

    而在黑暗中摸索时,即使是最聪明的学生,也需要一盏指路的明灯。而我心目中最闪亮的这盏明灯就是 Erlang 之父 Joe Armstrong 的《 Erlang 程序设计》(由牛化成先生翻译,图灵教育出版,质量很高,值得推荐)。该书从设计的角度深入浅出地介绍了 Erlang 的基本编程方法,以及各种重要的必须理解的设计思想。

    但是一旦你学会了基本的 Erlang 编程方法后,就会意识到,要想真正成为一名强大的 Erlang 工程师,必须精通 OTP 库。但是很遗憾的是,市面上对 OTP 库介绍比较好的书基本没有。唯一的一本《 Erlang/OTP 并发编程实战》(由连城先生翻译,质量也很棒),介绍的可以说是 OTP 的应用实践。但是对于 OTP 本身的一些内容,篇幅难以涵盖。

    这就是为什么《 Designing for Scalability with Erlang/OTP 》让我欲罢不能的原因——

    1 、它是一本 OTP 来龙去脉的圣经指南 2 、它是 Erlang 爱好者到 Erlang 工程师的必经之路

    ……

    ……

    ……

    点击下载 《 Designing for Scalability with Erlang/OTP 》.avi 屠龙宝刀人人送

    哈哈,开个玩笑呢。 Erlang 开发人员们冒个泡吧。

    90 replies  •  2023-07-09 20:08:16 +08:00
    linjianru
    linjianru
    OP
    Apr 17, 2017
    1
    天啊,我竟然无法再编辑自己发的贴……想修正一些格式问题的说……(无奈)
    ericls
    ericls
    Apr 17, 2017 via iPhone
    2
    Erlang 有人用吧

    Actor model 写起来真的舒服

    OTP supervisor gen_server 这一套 elixir 也用得到的
    linjianru
    linjianru
    OP
    Apr 17, 2017
    3
    @ericls Elixir 确实关注度很高,不过我还没来得及学习。等之后看看。你们有用吗?
    beiping96
    beiping96
    Apr 17, 2017 via iPad
    4
    Erlang 开发者

    我可以先预定一本签名版的吗?
    ericls
    ericls
    Apr 17, 2017 via iPhone
    5
    我做过一些 benchmark 在 io bond 的的业务下面 erlang/elixir 非常快 比 golang 稍微差点

    但是写起来太舒服了 而且还有 OTP

    elixir 有一个 ORM 叫 ecto 写起来就像 DSL 爽到爆 而且 validation 这些做得很好

    gen_server 加 gen_udp 做过一个 dht 爬虫 一万多个进程用了 120M 内存
    blanu
    blanu
    Apr 17, 2017
    6
    静候佳音,如您方便,完成时可 @一下我。
    ericls
    ericls
    Apr 17, 2017 via iPhone
    7
    @linjianru 我有一个 side project 用的 elixir 。 这是我写得最爽的一个东西。 我 erlang 不是太熟悉 就做过几次 crash course 但是现阶段写 elixir 还是会牵扯到一些 erlang 的东西。

    Erlang 好东西真的太多太多了 自带分布式数存储 还是两个 一个 ets 一个 mnesia

    另外我是真的想好好看看 OTP 。
    linjianru
    linjianru
    OP
    Apr 17, 2017
    8
    @beiping96 哈哈,我作为无名人士一枚,还不够格签名版。不过如果到时候你会喜欢这本书的话我会很高兴。谢谢鼓励
    linjianru
    linjianru
    OP
    Apr 17, 2017
    9
    @ericls 听你这么说感觉很棒,令人兴奋
    linjianru
    linjianru
    OP
    Apr 17, 2017
    10
    @blanu 感谢支持,好的,到时候我会发帖的,并(尽我所能)记得 @ 你。
    des
    des
    Apr 17, 2017 via Android
    11
    讲道理,还是 elixir 用的更爽些
    ericls
    ericls
    Apr 17, 2017
    12
    @des elixir 是唯一一个写着会高潮的语言
    des
    des
    Apr 17, 2017 via Android
    13
    @ericls 大兄弟,要不试试它借鉴的 Ruby ?
    iot
    iot
    Apr 17, 2017
    14
    好 有机会看看 还有一本是 http://learnyousomeerlang.com
    iot
    iot
    Apr 17, 2017
    15
    这本书一共才 355 页??
    ericls
    ericls
    Apr 17, 2017
    16
    @des 你确定?? 这两者完全不一样好吗??? 你写过 elixir 吗?

    ruby 有 gen_server 有 otp 吗? 除了语法有点一样之外 其他完全不一样
    des
    des
    Apr 17, 2017 via Android
    17
    @ericls 不,我只是说语法
    aheadlead
    aheadlead
    Apr 17, 2017 via iPhone
    18
    来个京东链接嘛
    zjlin1984
    zjlin1984
    Apr 17, 2017
    19
    坐等出版,楼走记得通知哦。
    TangMonk
    TangMonk
    Apr 17, 2017 via Android
    20
    什么时候翻译下 learnyousomeerlang
    stupil
    stupil
    Apr 17, 2017
    21
    坐等出版。
    JamesRuan
    JamesRuan
    Apr 17, 2017
    22
    正打算入影印版,但是看了目录感觉并不是特别有吸引力,不知道有没有样章可以看。
    JamesRuan
    JamesRuan
    Apr 17, 2017❤️2
    23
    @TangMonk 已经有出版了, Erlang 趣学指南。
    smallHao
    smallHao
    Apr 17, 2017 via Android
    25
    评价一下跟 go 比的优劣?
    jatsz
    jatsz
    Apr 17, 2017
    26
    关注,设计本身是超越语言的,只要思想够简单,套用到其他语言也是分分钟的事情。
    很早的时候我设计的一个多用户通信功能,借用的就是 Erlang 的 Mailbox 的设计。
    momocraft
    momocraft
    Apr 17, 2017
    27
    不会 erlang ,不过看 erlang 的一些介绍觉得挺有意思的。期待出版。
    jsjjdzg
    jsjjdzg
    Apr 17, 2017
    28
    是要出实体版?
    littleshy
    littleshy
    Apr 17, 2017
    29
    erlang 的语法……
    了解了 OTP 后,还是用 Elixir 吧。
    lianz
    lianz
    Apr 17, 2017
    30
    erlang 的思想很好很合我胃口
    erlang 的 OTP 框架很完善很合我胃口
    然而我巨他妈讨厌 erlang 的语法
    TangMonk
    TangMonk
    Apr 17, 2017
    31
    @hcymk2 厉害了,这是我好早之前发的 issue 了
    ainimuyan
    ainimuyan
    Apr 17, 2017
    32
    当然要买了,我还能说什么,不过我用的 Scala+Akka 。。。
    justfly
    justfly
    Apr 17, 2017
    33
    楼主出版通知下 我会买
    hepin1989
    hepin1989
    Apr 17, 2017
    34
    是人民邮电的还是图灵还是?
    hjkl0001
    hjkl0001
    Apr 17, 2017
    35
    路过的,看着蛮有意思的语言。。。
    Kabie
    Kabie
    Apr 17, 2017
    36
    Elixir 用户路过……

    @lianz 语法上看不下去 erlang 的话……可以来试试 Elixir
    @des ruby 的元编程没有 Elixir 酷炫。。。
    @ainimuyan 写过一个用 akka 的项目。。。 scala 是很好的。。。可惜 jvm 毕竟不是 beam 。。。
    hepin1989
    hepin1989
    Apr 17, 2017
    37
    @linjianru 请问是哪个出版社的呢?
    TangMonk
    TangMonk
    Apr 17, 2017
    38
    @Kabie 发现了另一个基于 Erlang VM 的语言, https://github.com/alpaca-lang/alpaca (羊驼)
    Numbcoder
    Numbcoder
    Apr 17, 2017
    39
    坐等出版
    likuku
    likuku
    Apr 17, 2017
    40
    @linjianru 新来的吧?抽空看下 V2EX 的使用说明,这里发帖(几分钟内可以修改,之后原帖锁定,只可以追加内容)回帖都是不可以修改删除的。
    nanlong
    nanlong
    Apr 17, 2017
    41
    不知道啥时候出版,如出必买。
    markx
    markx
    Apr 17, 2017
    42
    听起来很爽!
    flowerwrong
    flowerwrong
    Apr 17, 2017 via iPhone
    43
    坐等
    linjianru
    linjianru
    OP
    Apr 17, 2017
    44
    @iot 英文版 PDF 一共 482 页。
    linjianru
    linjianru
    OP
    Apr 17, 2017
    45
    @aheadlead 还没出版,刚要翻译完初稿而已,哈哈,还需要校对和排版。不过快了
    iot
    iot
    Apr 17, 2017
    46
    @linjianru 求共享一份英文版 pdf
    linjianru
    linjianru
    OP
    Apr 17, 2017
    47
    @zjlin1984 好的没问题
    xiahei
    xiahei
    Apr 17, 2017 via Android
    48
    LZ 幸苦了!
    entertainyou
    entertainyou
    Apr 17, 2017
    49
    支持楼主.
    jukka
    jukka
    Apr 17, 2017
    50
    一个帖子炸出来这么多 Erlang/Elixir er, 出版了请务必在 Erlang/Elixir mailinglist 里告知!:)
    FunctionOne
    FunctionOne
    Apr 17, 2017
    51
    听说有个业界大牛抛弃了 Erlang 转投 Go 了。不清楚里面的真想。
    Raincal
    Raincal
    Apr 17, 2017 via Android
    52
    路过帮顶~学了 Elixir ,还没怎么看 Erlang...
    linjianru
    linjianru
    OP
    Apr 17, 2017
    53
    @zjlin1984 好的好的
    linjianru
    linjianru
    OP
    Apr 17, 2017
    54
    @TangMonk 希望有机会
    seamon
    seamon
    Apr 17, 2017
    55
    写了 10 年 ruby 的表示现在基本都是在用 elixir 写东西了
    linjianru
    linjianru
    OP
    Apr 17, 2017
    56
    @stupil 哈哈好的我会第一时间通知
    linjianru
    linjianru
    OP
    Apr 17, 2017
    58
    @smallHao 各有优势。如果是容错的分布式系统设计, Erlang 会更适合,特别是在容错方面, Erlang 有一整套完善的设计,目前没有任何语言可以与之媲美。对于长期运行不允许中断,还要不断升级的系统来说, Erlang 提供了完善的支持。

    我也很喜欢 Go ,并且它在其他方面比如 Web 开发就比 Erlang 适合( Elixir 我不熟悉就不比了),另外对于需要结合系统底层 API 的情况, Go 也比 Erlang 方便得多。还有对于工具型软件开发, Go 也相当胜任。

    话说回来 Erlang 实现的全部并发啊,容错啊之类的机制,其实用其他语言也是能做到的,包括热更新。不过写起来 Erlang 只需要 1/5~1/10 的代码(别人写三万行,你写三五千行,想想这偷懒偷的一个爽)。很简洁,很好维护。这是最吸引我的地方。

    Erlang 很难被一般语言取代,深层次的原因有三个:

    * Erlang 采用了不可变数据设计,而大部分包括 Go 依然是可变数据设计
    * Erlang 的 GC 很特殊,能够达到软实时级别,而其他大众语言的 GC 很难做到:
    https://www.zhihu.com/question/42555311/answer/139257723#
    * Erlang 经过了电信行业二十多年的洗礼,证明了其在高可用性领域的有效性

    但是 Erlang 也不是万能的,比如:

    * Rust 就不是 Erlang 能替代的,工作层面上来说 Erlang 只适合更加宏观的领域
    * Erlang 的代码非常平易近人,易读性比 Python 要更好,但是也正因此语言结构上基本上没有太多的抽象能力
    * 能理解和认可 Erlang 的程序员真的很少啊,这是个很现实的问题

    絮絮叨叨说这么多,说错见谅。
    linjianru
    linjianru
    OP
    Apr 17, 2017
    59
    @jatsz 是的,确实是有时候更重要的是思想层面的启发性。毕竟这是通用的。
    linjianru
    linjianru
    OP
    Apr 17, 2017
    60
    @momocraft 谢谢支持
    linjianru
    linjianru
    OP
    Apr 17, 2017
    61
    @littleshy 哈哈,可能 Erlang 口味确实不符合你的习惯,我也花了一些时间适应
    linjianru
    linjianru
    OP
    Apr 17, 2017
    62
    @lianz 哈哈主要是哪方面让你觉得不舒服呢?
    hhkbp2
    hhkbp2
    Apr 17, 2017
    63
    Erlang 业余爱好者冒个泡,支持一下,好书总是会发光的
    smallHao
    smallHao
    Apr 17, 2017
    64
    @linjianru 感谢认真回复 在我看来 Erlang 是一个设计精良而且定位明确的语言 设计思想必然会对之后的语言产生深远的影响 就如当时如日中天的 Lisp
    scarlex
    scarlex
    Apr 17, 2017 via iPhone
    65
    作为 elixir 爱好者一定要支持这个啊
    TimLang
    TimLang
    Apr 17, 2017 via Android
    66
    楼主敢出我就敢买,现在用了 elixir 后已经才发现新的大门打开了。。
    jadecoder
    jadecoder
    Apr 17, 2017
    67
    有兴趣啊,虽然还没用过 erlang
    TimLang
    TimLang
    Apr 17, 2017 via Android
    68
    @des 光是模式匹配就完爆了,楼上说的 ecto 多研究下,就知道比 active record 不知道高明多少。
    sorra
    sorra
    Apr 17, 2017
    70
    感兴趣,用 Akka 时可参考
    linjianru
    linjianru
    OP
    Apr 18, 2017
    71
    @likuku 好的谢谢,确实是没注意到。我去看看
    zjlin1984
    zjlin1984
    Apr 18, 2017
    72
    看回复也是挺有意思的。
    hepin1989
    hepin1989
    Apr 18, 2017
    73
    @linjianru 请问可以联系到您么,或者这本书是哪个出版社的呢?我们这边是 Akka 圈儿的.
    linjianru
    linjianru
    OP
    Apr 18, 2017
    74
    @hepin1989 博文视点。抱歉没及时恢复你。我的联系方式么, QQ 2696834883
    linjianru
    linjianru
    OP
    Apr 18, 2017
    75
    @TimLang 哈哈感谢支持
    hepin1989
    hepin1989
    Apr 19, 2017
    76
    @linjianru 感谢哈,翻译不容易!
    hepin1989
    hepin1989
    Apr 19, 2017
    77
    @linjianru 还是您加我吧,281174180,您需要真实姓名
    linjianru
    linjianru
    OP
    Apr 20, 2017
    78
    @hepin1989 加你需要你的电话号码,哈哈,咱俩死锁了。我已经解除了限制,要不你再试试?或者你告诉我你电话也行。
    qgymje
    qgymje
    Apr 20, 2017
    79
    支持, 出版了马上买一本
    linjianru
    linjianru
    OP
    Apr 20, 2017
    80
    @qgymje 非常感谢支持,一起学习一起进步!
    jatsz
    jatsz
    Aug 10, 2017
    81
    @linjianru 出版了没有,等着购买呢:)
    linjianru
    linjianru
    OP
    Aug 13, 2017
    82
    @jatsz 捂脸……还需要点时间
    parkcg
    parkcg
    Sep 6, 2017
    83
    目前是 Elixir 的吃瓜群众,有必要学习 Erlang 吗
    wineway
    wineway
    Sep 17, 2017 via Android
    84
    楼主可以给个大概时间么…考虑下是等中文版还是开坑原版
    Cifery
    Cifery
    May 5, 2018
    85
    今天发现 《 Designing for Scalability with Erlang/OTP 》 作者发推说中文版要出了,这次是真要出了吧,虽然英文版我买了一本已经读完了,不过还是很期待你的翻译,看看你发帖的时间,已经等了一年了啊
    qgymje
    qgymje
    Jun 1, 2018
    86
    已经预购了,7 月 20 号发货,英文版已阅一半,理解 OTP 的好书。
    tony612
    tony612
    Jul 4, 2018
    87
    已买。7.16 发货
    ff51fox
    ff51fox
    Jul 7, 2018
    88
    中文版交什么名字?
    absente
    absente
    Aug 28, 2018
    89
    不错。收藏了
    putaozhenhaochi
    putaozhenhaochi
    Jul 9, 2023 via iPhone
    90
    牛逼
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1849 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 109ms · UTC 10:57 · PVG 18:57 · LAX 02:57 · JFK 05:57
    ♥ Do have faith in what you're doing.