这里有没有对 category theory 信心十足的程序员? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
winchang
V2EX    程序员

这里有没有对 category theory 信心十足的程序员?

  •  
  •   winchang 2022-11-14 18:39:38 +08:00 3576 次点击
    这是一个创建于 1061 天前的主题,其中的信息可能已经有所发展或是发生改变。

    "江湖传言,鹅厂程序员千千万,能懂 category theory 不足百。"

    当然,不懂也没什么关系。

    沉浸式体验了一下,确实不好理解,维度太高,普通人不修炼个七七 49 天,一行代码都看不懂。

    有耿直的朋友挑战一下不?

    这是我的版本: https://github.com/changzhiwin/fp-things

    26 条回复    2022-11-15 15:46:05 +08:00
    adskhf
        1
    adskhf  
       2022-11-14 18:49:19 +08:00
    看你发的( Monad ,Free Monad 啥的)这也不需要 category theory 啊,这不是函数式语言 Scala/Haskell 必学内容吗,我不会 category theory 也会啊
    winchang
        2
    winchang  
    OP
       2022-11-14 18:56:36 +08:00
    有没有 Monad ,Free Monad 方面的实践,拜学一下? @adskhf
    TWorldIsNButThis
        3
    TWorldIsNButThis  
       2022-11-14 19:11:34 +08:00 via iPhone
    @winchang free monad 不清楚
    普通 monad 就调 api 呗
    list option future result 都是 monad
    和逻辑比较契合的时候很好用
    不契合的时候也麻烦
    所以有 for comprehension 或者 do notation 让你在限定的 block 里写 imperative 的代码自动转成 monad
    adskhf
        4
    adskhf  
       2022-11-14 19:14:03 +08:00
    看你用的是 Scala ,我推荐这本 Functional Programming in Scala 偏入门,但是应该不包括 free monad

    functional design and technology 也不错(但是基于 Haskell 的
    adskhf
        5
    adskhf  
       2022-11-14 19:15:11 +08:00
    > functional design and technology 也不错(但是基于 Haskell 的

    写错了,应该是 functional design and architecture
    iamzuoxinyu
        6
    iamzuoxinyu  
       2022-11-14 19:29:02 +08:00
    问一下什么叫做「免费交流」?
    Coelacanth
        7
    Coelacanth  
       2022-11-14 21:42:58 +08:00 via Android   2
    吓死,还以为说的是数学上的范畴论,耸人听闻。
    Laussan
        8
    Laussan  
       2022-11-14 22:39:17 +08:00
    我一开始也纳闷写代码的学范畴论干啥...
    MeatIndustry
        9
    MeatIndustry  
       2022-11-14 23:23:20 +08:00
    以前上学接触过,现在上班后觉得这种东西权当拓展阅读即好。深入理解不光自信心受到挑战同时也花费了好大时间。
    LieNoWell
        10
    LieNoWell  
       2022-11-15 08:47:57 +08:00
    吓得我赶紧查了一下 category theory 范畴理论,再见我要去刷 B 站了
    winchang
        11
    winchang  
    OP
       2022-11-15 09:23:24 +08:00
    @TWorldIsNButThis free monad 我现在的理解,牛逼的点是可以解耦业务逻辑 和 执行环境,是 ZIO/cat-effects 的底层原理。
    winchang
        12
    winchang  
    OP
       2022-11-15 09:25:07 +08:00
    @MeatIndustry 短期投入产出确实存疑。但这就是 fp 的门槛。
    winchang
        13
    winchang  
    OP
       2022-11-15 09:25:49 +08:00
    @MrSheng B 站有讲的明白的吗?看到了转个链接哈
    winchang
        14
    winchang  
    OP
       2022-11-15 09:27:05 +08:00
    @Laussan 这个不能苟同,写代码的啥都的学学。
    winchang
        15
    winchang  
    OP
       2022-11-15 09:33:28 +08:00
    @Coelacanth category theory 就是指数学上的范畴论,这里只是在 fp 中的部分应用。再说了 SpaceX 也没有用全,所有爱因斯坦的相对论,对吧?
    winchang
        16
    winchang  
    OP
       2022-11-15 09:35:42 +08:00
    @adskhf 老哥可以讲讲你的故事吗?是不是润过了?
    lmshl
        17
    lmshl  
       2022-11-15 09:59:52 +08:00
    完全不懂犯愁论,但写了 4 年多纯函数式 + 响应式 Scala 怎么说?
    uni
        18
    uni  
       2022-11-15 12:40:01 +08:00   1
    你这全都是函数式编程,跟数学上的范畴论关系不大
    我个人很讨厌程序员拿数学来装逼,尤其是自己根本受过足够的数学训练的情况下谈论数学会让人很反感与厌恶
    什么受过足够的数学训练?学数学的人都知道要谈论数学那开口的第一句话一定是定义……
    lookStupiToForce
        19
    lookStupiToForce  
       2022-11-15 14:31:56 +08:00
    我咋觉得这玩意儿看起来怎么这么像元编程,这俩到底谁先谁后
    winchang
        20
    winchang  
    OP
       2022-11-15 14:53:16 +08:00
    @lmshl 响应式,理解起来不难的,就像 Akka 那一套。但你看 cats 那一套,就不是那么好理解。
    winchang
        21
    winchang  
    OP
      &nsp;2022-11-15 14:56:51 +08:00
    @uni 不装啊,纯学习。你说没关系就没关系吗,没必要拿道德绑架言论自由。
    adskhf
        22
    adskhf  
       2022-11-15 15:02:06 +08:00
    @winchang 啥叫润过了
    lmshl
        23
    lmshl  
       2022-11-15 15:02:51 +08:00
    @winchang 我混写 Cats-Effect + ZIO + Akka 也有几年时间了,至今不懂犯愁论,不影响我搬砖。
    说实话这仨我觉得 Akka 更难理解一些,另外俩反而简单
    lmshl
        24
    lmshl  
       2022-11-15 15:20:42 +08:00
    我自封我为比较懂纯函数式 Scala 的开发者,但我想说犯愁论真不是必须的,学函数式编码和学犯愁论相比,可以说是南辕北辙了。
    在 Haskell 将 Monad 概念引入之前,《 SICP 》中教授的知识也足以应付所有编码场景了。

    winchang
        25
    winchang  
    OP
       2022-11-15 15:42:16 +08:00
    @lmshl 你说的不懂可能是从数学层面不懂;你说的简单可能是从应用层面来评论。

    我想表述的大概是,要理解单子、自由子这些理念,是很有挑战的。

    但是,确实不影响搬砖。
    winchang
        26
    winchang  
    OP
       2022-11-15 15:46:05 +08:00
    @adskhf 是不是肉翻了?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2955 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 13:39 PVG 21:39 LAX 06:39 JFK 09:39
    Do have faith in what you're doing.
    ubao 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