为了推广函数类语言建立一个小社区 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
DavidGao
V2EX    程序员

为了推广函数类语言建立一个小社区

  •  
  •   DavidGao 2017-09-23 16:40:57 +08:00 5580 次点击
    这是一个创建于 2944 天前的主题,其中的信息可能已经有所发展或是发生改变。

    感谢

    首先毋庸置疑的是要感谢 Mr.Li 的 homeland,以及 Ruby China。同时感谢 Github 提供了一个非常完善的用户平台。也感谢 V2EX 社区,给我带来了很多有意思的文章。

    Tech Talk的由来及目标

    今年 RubyConf 上似乎有人做了两篇关于函数类语言的演讲,一篇关于 Erlang,一篇关于 Haskell。但是反响似乎不是很高。纵观国内对函数类语言的使用是非常少的,甚至是少的可怜。

    Erlang 在国内曾有一段热度很高,但是就如昙花一现,很快就消退了。种种原因致使,Erlang,Haskell 以及 Clojure 等没在国内得到充分推广。包括七牛的许式伟可以明目张胆的说瞎话攻击 Erlang 语言,就是因为国内知道的人太少了,很难成为一种大趋势。

    为了让更多的人知道函数类语言,以及它能做什么,使用 Homeland 搭建了一个小社区。希望能把为数不多的人聚集到一起,大家一起开开心心的讨论一些问题,把知识和经验积累下来,让新人更容易接触到相关产品和解决问题的经验。并希望能为已经使用的函数类语言的公司,提供一些帮助和人才招聘的地方,提高函数类语言在国内的影响力。从实际的方面来讲,也希望更多公司能采用一些函数语言,让函数类语言的程序员有更多的选择。

    来自于Tech Talk 的感谢和问候

    43 条回复    2017-09-26 06:02:10 +08:00
    wujunze
        1
    wujunze  
       2017-09-23 16:59:14 +08:00   1
    支持楼主
    DavidGao
        2
    DavidGao  
    OP
       2017-09-23 17:00:15 +08:00
    @wujunze 感谢
    Chappako
        3
    Chappako  
       2017-09-23 17:35:00 +08:00   1
    感觉服务器很慢啊
    DavidGao
        4
    DavidGao  
    OP
       2017-09-23 17:50:24 +08:00
    @Chappako 刚刚建立起来,还有很多地方需要优化。因为政策问题,国内暂时无法搭建,先放在外面了。待解决后就可以放入国内,访问速度就会恢复。
    FindHao
        5
    FindHao  
       2017-09-23 20:53:38 +08:00 via Android   1
    @DavidGao 放阿里云国际香港吧,
    KeepPro
        6
    KeepPro  
       2017-09-23 20:56:34 +08:00 via Android   1
    其实函数式宣传已经到位了。我之前还尝试过 Haskell. 就这样断断续续的学习过一段时间,最后因为太菜放弃了
    DavidGao
        7
    DavidGao  
    OP
       2017-09-23 21:04:27 +08:00
    @FindHao 香港好卡,比这条线路还卡,可能是北方联通的问题。现在是内存跑满,稍微扩容了下,应该会好一些,重点是想办法搬回国内。
    DavidGao
        8
    DavidGao  
    OP
       2017-09-23 21:06:56 +08:00
    @KeepPro 这说明其实还是不够友好,如果在学习的过程中能得到大量的资料,有大量的人可以交流,快速的产出一些好玩的东西,就不会感到自己菜。我一开始学 Haskell 的时候,也是这感觉,但是突然有一天看了国外的 Haskell 教学,决定写个东西,写出来自信心就建立起来了。学习的过程中,每一次的小成就都会让我们更有信心,然后坚持做下去。
    eccstartup
        9
    eccstartup  
       2017-09-23 21:15:55 +08:00 via iPhone   1
    函数式
    cnqncom
        10
    cnqncom  
       2017-09-23 21:16:01 +08:00   1
    不懂,进来看看
    ipconfiger
        11
    ipconfiger  
       2017-09-23 21:43:42 +08:00   1
    没内容啊
    DavidGao
        12
    DavidGao  
    OP
       2017-09-23 22:52:36 +08:00
    @ipconfiger 有内容,但是主要都是我写的,还很少,需要更多喜欢函数式编程和相关产品的同学进行贡献。
    DavidGao
        13
    DavidGao  
    OP
       2017-09-23 22:53:09 +08:00
    @eccstartup 是的,函数式,做数据分析非常好。
    DavidGao
        14
    DavidGao  
    OP
       2017-09-23 22:53:56 +08:00   1
    @cnqncom 人都是有好奇心的,说不好那天你工作就碰到一堆人在鼓吹函数式编程。
    posoo
        15
    posoo  
       2017-09-23 23:11:39 +08:00   1
    支持楼主!国内本科 senior,去年在成都的 RubyConf China 第一次听说函数式编程,就很感兴趣,感觉就像初识 ruby 那样给我的兴奋感觉,但困于时间原因没有太系统研究,看的多是博文,等年底申请的事忙完一定好好读一下 Structure and Interpretation of Computer Programs 这本圣经!希望以后能有机会交流~(题外:昨天在实训课上介绍了一下函数式相关的,似乎没几个人感兴趣,希望以后国内函数式环境能越来越好,个人觉得能有一种图灵机以外的计算模型或者说思维对我们这个行当还是很有益的
    DavidGao
        16
    DavidGao  
    OP
       2017-09-23 23:29:09 +08:00
    @posoo 感谢支持,希望能一起共同进步。
    wineway
        17
    wineway  
       2017-09-23 23:39:51 +08:00 via Android   1
    Erlang 农路过… fp 社区不是建一个死一个么,观望一下
    DavidGao
        18
    DavidGao  
    OP
       2017-09-24 00:04:02 +08:00
    @wineway 同为 Erlang 码农,但是附加 Haskell 属性,fp 社区死得快,是因为贡献的人少,又没啥经济效益。
    Mistwave
        19
    Mistwave  
       2017-09-24 00:46:02 +08:00 via iPhone   1
    我读过 SICP、Schemer 前两本、Haskell 趣学指南,思维还是受到了很大的拓展。
    但是主要还是工作中用不上,现在也就没有深入下去了。
    FP 社区,我还是很感兴趣的,关注支持一下
        20
    youngsterxyf  
       2017-09-24 01:05:06 +08:00   1
    支持楼主
    ladrift
        21
    ladrift  
       2017-09-24 09:23:56 +08:00 via Android   1
    支持楼主,同时推荐大家可以上 U of Washington 的 programming language 的课,Coursera 上的,讲函数式和面向对象,用 ML,racket 和 ruby。
    DavidGao
        22
    DavidGao  
    OP
       2017-09-24 10:18:40 +08:00
    @Mistwave SICP 是本不错的书,我去年才读完,但是 Haskell 趣学指南就很一般,我 2008 年的时候学 Haskell 首发<<Real World Haskell>>,到现在我依然很推荐,其次就是<<Haskell 函数式编程基础>>和<<Haskell 函数式程序设计>>,学习函数类的语言并不一定能在工作中用到,就如同你说的,非常扩展思维。
    DavidGao
        23
    DavidGao  
    OP
       2017-09-24 10:19:07 +08:00
    @youngsterxyf 感谢支持,希望你能来社区去贡献一些主题
    DavidGao
        24
    DavidGao  
    OP
       2017-09-24 10:20:58 +08:00
    @ladrift 函数类语言国外用来教学挺多的感觉,并且函数类语言开发算法和 ML 类的东西感觉非常自然和顺畅,不知道以后会不会出现用函数类开发的 ML 产品
    ladrift
        25
    ladrift  
       2017-09-24 10:29:30 +08:00 via Android
    @DavidGao 楼主好像会错意。我提到的 ML 是一种静态类型函数式语言,Standard ML
    DavidGao
        26
    DavidGao  
    OP
       2017-09-24 10:57:56 +08:00
    @ladrift It's my mistake 听说 SML 是一个非常强大的语言体系,没有太多深入的接触过,只简单的用过 OCaml
    td width="48" valign="top" align="center">hhkbp2
        27
    hhkbp2  
       2017-09-24 11:15:20 +08:00   1
    路过支持
    DavidGao
        28
    DavidGao  
    OP
       2017-09-24 11:52:06 +08:00
    @hhkbp2 感谢支持,希望你能来社区去贡献一些主题
    NullMan
        29
    NullMan  
       2017-09-24 15:43:49 +08:00   1
    我好奇得出 "包括七牛的许式伟可以明目张胆的说瞎话攻击 Erlang 语言" 的结论依据是什么。
    runningman
        30
    runningman  
       2017-09-24 16:03:11 +08:00 via iPhone   1
    没啥推广的 合适了就用 不合适再推广也没用啊
    wineway
        31
    wineway  
       2017-09-24 16:13:20 +08:00 via Android
    @NullMan 你懂一点 Erlang 你就知道他完全是揣着明白装糊涂,故意混淆概念,比如我最无力吐槽的就是他一直把 gen_server 叫成服务器,然后一直黑 Erlang 的服务器多挫…
    NullMan
        32
    NullMan  
       2017-09-24 18:42:21 +08:00
    @wineway 还望请贴出他的原文链接,我想看看,我炒鸡很好奇。
    DavidGao
        33
    DavidGao  
    OP
       2017-09-24 18:55:01 +08:00
    @NullMan 转帖大知乎的评论 https://www.zhihu.com/question/27465406,其实吧我个人不想和这件事情扯到一起,但是这事情吧,确实让 Erlang 码农确实有点不爽,我从来不反对进行比较。但是我比较讨厌的是,用 Erlang 的时候捧上天,不用的时候摔到底,不去客观评价一些事情和问题。Go 好不好,好,我也用了好久的 Go,Erlang 好不好,好,因为我用了更久的 Erlang,但是两个语言都有缺陷和适用的场景。
    DavidGao
        34
    DavidGao  
    OP
       2017-09-24 18:57:30 +08:00
    @runningman 推广,并不代表让每个企业或者大量企业去用,而是让圈子里面知道有这么个东西,他们有什么特性,现有工作能从这上面吸取什么?是不是可以立刻拿来用并解决问题?这些东西,有什么地方可以进一步进行提升。
    TangMonk
        35
    TangMonk  
       2017-09-25 08:05:20 +08:00 via Android   1
    Erlang 的用途不太广,而且学习成本高,所以了解的人少
    DavidGao
        36
    DavidGao  
    OP
       2017-09-25 08:25:37 +08:00
    @TangMonk 主要是国内应用范围过于狭窄,很多时候学了,就业也不理想。难度怎么说呢,算是比较简单,比 Java 和 C ++简单。
    runningman
        37
    runningman  
       2017-09-25 08:47:23 +08:00 via iPhone
    @DavidGao 挺好 自己也平时也搞点函数式
    msg7086
        38
    msg7086  
       2017-09-25 09:18:07 +08:00   1
    Ruby 本身就满满的函数式风格了。纯函数式应该还是有不少局限性。
    DavidGao
        39
    DavidGao  
    OP
       2017-09-25 09:29:14 +08:00
    @msg7086 Ruby 的话确实是有点函数式的风格,但是纯函数类语言不能开发什么,我还真是没有多想过,至少现在好像除了 iOS 和嵌入式不能用,剩下的还好吧。
    msg7086
        40
    msg7086  
       2017-09-25 12:22:49 +08:00
    @DavidGao 我不是说不能开发什么,我是说有不少局限性,会导致用起来并不是那么地函数式。
    之前拿 Haskell 写过一个小型的网站,说白了就是数据库里扒点数据转成 json 喂给前端。
    但是写了半天感觉自己就是写了一堆 monad,真正的函数式代码反而没写多少。
    给我的感觉就是大部分的逻辑都是有副作用的,真正无副作用的很少,所以我更偏向于普通语言里适量使用一些函数式风格。
    DavidGao
        41
    DavidGao  
    OP
       2017-09-25 14:14:27 +08:00
    @msg7086 你是这个意思呀,确实,Haskell 的 JSON 转换也是很呵呵呵的,除非用些高大上的东西才能省力,如果是平推式的,确实就是一堆 Monad。
    Haskell 适合用于算法产品,例如我最近用 Haskell 实现的 MMseg,里面带有副作用的只有加载数据和数据输出。
    msg7086
        42
    msg7086  
       2017-09-25 23:45:16 +08:00
    @DavidGao 纯算法的话倒是可以的。
    DavidGao
        43
    DavidGao  
    OP
       2017-09-26 06:02:10 +08:00
    @msg7086 是的,haskell 写算法,效率还是很高的,思路也很清晰。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2962 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 13:45 PVG 21:45 LAX 06:45 JFK 09:45
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86