你遇到过哪些比较难理解的编程语言概念

2024-09-03 17:51:06 +08:00
 pythonee

我先来:递归 -> Y 组合子 -> Monad

15112 次点击
所在节点    程序员
139 条回复
liudewa
2024-09-03 17:51:46 +08:00
异步
liudewa
2024-09-03 17:52:04 +08:00
@liudewa #1 递归 +1
vfs
2024-09-03 17:53:30 +08:00
一个函数返回另外一个函数,一个函数的参数时另外一个函数。 这绝对是取乱之道
superhot
2024-09-03 18:09:07 +08:00
@vfs 不懂闭包与函数式编程就别乱说话 你 Java 的接口回调本质上也是把函数作为参数传递 没见你说 Java 乱
ltyj2003
2024-09-03 18:12:17 +08:00
@vfs c 就没这个烦恼,啥都可以是指针,是指针就能传。
Maboroshii
2024-09-03 18:13:32 +08:00
yield 绝对算一个
Building
2024-09-03 18:15:51 +08:00
Process 懂了
Thread 懂了
Queue 懂了
Group 懂了
Atom 懂了
Lock 懂了
Await/Async 懂了
Promise 懂了
Callback 懂了
当你把他们放在一起的时候...
nagisaushio
2024-09-03 18:17:23 +08:00
难懂概念千千万,rust haskell 占一半
zeonluang
2024-09-03 18:20:31 +08:00
js 里的原型和 promise 把
pisc
2024-09-03 18:30:28 +08:00
Monad 有啥难理解的? A monad is just a monoid in the category of endofunctors, what’s the problem?

想要实用一点的理解? A monad is just a typeclass with the three laws !

还是不太好理解? A monad is just the bind/flatMap !!!
0d
2024-09-03 18:34:12 +08:00
tokio
JackYao
2024-09-03 18:34:39 +08:00
@Maboroshii +1 当年理解这货 废了我好多脑细胞
passive
2024-09-03 18:45:10 +08:00
cps 、monad 这些都简单。

#define 宏替换比较绕
kissmenow
2024-09-03 18:46:38 +08:00
golang 的指针传参
dapang1221
2024-09-03 18:47:57 +08:00
yield ,最开始接触的时候寻思这是啥破玩意,理解之后恍然大悟,惊为天人
lonelee
2024-09-03 19:00:13 +08:00
自旋锁/偏向锁
csys
2024-09-03 19:05:07 +08:00
Wh1t3zZ
2024-09-03 19:12:32 +08:00
yield
caqiko
2024-09-03 19:18:50 +08:00
泛型类和具体实现类
看的迷迷糊糊的
PTLin
2024-09-03 19:25:55 +08:00
学 c 的时候是指针。
学 python 的时候是 generator 和 async await 。
学 rust 的时候是所有权和生命周期。
学 Haskell 的时候是 reader applicative/monad/,monad transformer 。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1069983

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX