V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
myrual
V2EX  ›  Erlang

开始学习erlang,越看越舒心,稍稍有点担心

  •  
  •   myrual · 2012-05-12 20:20:58 +08:00 · 9485 次点击
    这是一个创建于 4575 天前的主题,其中的信息可能已经有所发展或是发生改变。
    开始看 programming erlang,短短的几个小时就让我感到十分愉悦。之前学习f sharp的经验有了很大帮助。而且发现我之前用f sharp的时候还有一些不是很正宗的地方。
    只是有点担心假设我真的写了一些能工作的代码,别人是不是真的没法学习?

    看来还是要依靠我昨天灵感爆发画出来的架构图,把系统分解,直到复杂度降低到我周围的人可以理解和实现的水平。
    15 条回复    2022-09-21 13:54:07 +08:00
    eric_q
        1
    eric_q  
       2012-05-12 21:05:59 +08:00
    哈哈,Good luck!
    virushuo
        2
    virushuo  
       2012-05-12 21:41:00 +08:00   ❤️ 2
    我觉得真的不如学go…
    C族群的语言更容易被理解和学习(也许是因为习惯了?),FP总是更难理解。虽然我看了SICP但还是不愿意去写FP语言,只愿意偶尔看看和讨论问题。最后实际能应用起来的可能性,还是go更大点吧。
    myrual
        3
    myrual  
    OP
       2012-05-12 22:01:36 +08:00
    @virushuo 你提醒了我。FP确实需要另一种完全不同的思考方式。考虑到team内的情况,FP的语言还是应该避免,erlang还是进入我的技术储备吧。
    仅仅就我个人的学习实践经验来说,初学FP最大的困难在于转变解决问题的思维方式。 被命令式的思维束缚越紧,可能越不容易理解。

    个人觉得FP最大的优点是代码表达能力强,短,几乎没有bug。
    最大的缺点在于对于使用者的要求比较特别。
    -------------
    明天开始go语言的学习。
    virushuo
        4
    virushuo  
       2012-05-12 22:04:31 +08:00   ❤️ 1
    @myrual 对。现在的计算机学习是从理解计算机原理开始的,C是最计算机的最小抽象,C族的语言都是简化这种抽象,但路数一样。我一直想知道如果有个人,对计算机一无所知,先学了一种FP语言会怎么样。其实FP更能对应现实问题和数学描述,理应更容易。但好像很难找到这样的实验机会了。

    等我有了孩子没准可以上来不让他知道有计算机这东西,先教FP语言当作一种思维方式…哈哈
    reus
        5
    reus  
       2012-05-13 03:13:55 +08:00
    我也在看erlang,看的是erlang and otp in action,同样感觉舒服
    虽然go也有轻量级进程用于并发,不过分布式和容错方面不如erlang
    bhuztez
        6
    bhuztez  
       2012-05-13 10:37:16 +08:00   ❤️ 2
    @virushuo go根本就用不了啊。只是语言规范确定下来了,相关的库还不多,另外,也太底层了。
    而 Erlang 的语法已经很接近 C 了。Erlang最重要的特性是它真正实现了消息机制,这是其他知名语言都没有实现的。你是希望自己用 go 很痛苦地自己山寨一个类似 OTP 的东西,还是希望用现成的。Erlang的FP并没有引入多少特殊的概念。
    adamsxu
        7
    adamsxu  
       2012-05-13 10:58:12 +08:00   ❤️ 1
    @virushuo Go目前为止还是太年轻了,书没多少,关键是最佳实践还不成熟,需要花很多时间去填坑,以及工具和库相对还是少了点。
    myrual
        8
    myrual  
    OP
       2012-05-13 13:48:45 +08:00
    考虑现实情况,还是不用erlang来吓唬队友了。go也是属于备选方案。
    首选方案是设计一些容易实现的功能模块,保证每个模块独立工作,模块之间只通过网络传输内容,。然后通过模块的组合来满足目前的需求。
    这样可以保证队友可以在这个项目上贡献力量,虽然可能存在各种问题,但是可以保证整体架构可以工作,而且把问题的复杂度降低了。等遇到性能问题,可以根据实际情况优化几个模块。
    总比我自己写全部的代码好很多。
    当然,运行费用一定高,多个服务器是必须的。
    响应速度估计也不快。
    总体来说,就是以做出来,能工作为目标的方案;不是以性能,可扩展性,降低运营费用为目的的方案。

    但愿我能把这个东西做出来。
    ikbear
        9
    ikbear  
       2012-05-13 14:06:14 +08:00
    @bhuztez 我们公司的核心产品试用go写的,说go根本用不了的只能说明你只看到它的库不够。
    bhuztez
        10
    bhuztez  
       2012-05-13 21:40:56 +08:00
    @ikbear 你只是不想学 Erlang ,于是就找了个借口说 go 也可以嘛。
    dhysum
        11
    dhysum  
       2012-05-13 22:07:08 +08:00
    为什么没有人提到smalltalk呢?
    hpyhacking
        12
    hpyhacking  
       2012-08-24 07:00:17 +08:00
    erlang的代码被一些人誉为最容易阅读的代码,原因之一就是代码所表达的意思非常明确并且准确。
    zephyro
        13
    zephyro  
       2012-08-24 07:11:02 +08:00
    提高编程能力,学习一个FP语言是很重要的,就算不是为了生产目的,介绍组内学习也很好啊。
    cgduan
        14
    cgduan  
       2012-08-24 08:59:03 +08:00
    f# 这语言怎么样?
    JohnBull
        15
    JohnBull  
       2022-09-21 13:54:07 +08:00
    哈哈,我也是 2012 年看到 Erlang 中毒的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3486 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 11:10 · PVG 19:10 · LAX 03:10 · JFK 06:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.