我先来:递归 -> Y 组合子 -> Monad
我先来:递归 -> Y 组合子 -> Monad
|
liudewaSep 3, 2024
1
异步
|
|
vfsSep 3, 2024
3
一个函数返回另外一个函数,一个函数的参数时另外一个函数。 这绝对是取乱之道
|
|
6
yield 绝对算一个
|
|
7
Process 懂了
Thread 懂了 Queue 懂了 Group 懂了 Atom 懂了 Lock 懂了 Await/Async 懂了 Promise 懂了 Callback 懂了 当你把他们放在一起的时候... |
|
8
难懂概念千千万,rust haskell 占一半
|
|
9
js 里的原型和 promise 把
|
|
10
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 !!! |
|
0dSep 3, 2024
11
tokio
|
|
JackYaoSep 3, 2024
12
@Maboroshii +1 当年理解这货 废了我好多脑细胞
|
|
passiveSep 3, 2024 via Android
13
cps 、monad 这些都简单。
#define 宏替换比较绕 |
|
kissmenowSep 3, 2024
14
golang 的指针传参
|
|
dapang1221Sep 3, 2024
15
yield ,最开始接触的时候寻思这是啥破玩意,理解之后恍然大悟,惊为天人
|
|
loneleeSep 3, 2024
16
自旋锁/偏向锁
|
|
csysSep 3, 2024
17
|
|
Wh1t3zZSep 3, 2024
18
yield
|
|
19
泛型类和具体实现类
看的迷迷糊糊的 |
|
PTLinSep 3, 2024
20
学 c 的时候是指针。
学 python 的时候是 generator 和 async await 。 学 rust 的时候是所有权和生命周期。 学 Haskell 的时候是 reader applicative/monad/,monad transformer 。 |
|
21
@vfs
如果你从来只写过 java ,可能确实就会觉得函数作为返回值、参数、变量,是无法理解的事情。 反过来也一样,学过其他语言(尤其函数是一等公民的语言)的人看 java ,也会很困惑 java 这边为了传递 callback ,还要整出依赖注入、控制反转这些设计模式。 |
|
netabareSep 3, 2024 via iPhone
22
DDD 和六边形那套东西,函数式编程的概念反而没什么难的
|
|
GuardXSep 3, 2024
23
reactor 那套,比如背压。。
|
|
xuanbgSep 3, 2024
25
其实不是概念难以理解,更多的是名词难以理解。譬如 JS 的原型链和闭包
|
|
26
就没人提 控制反转 和 依赖注入吗 哈哈哈哈哈哈哈
|
|
28
闭包是穷人的对象 对象是穷人的闭包
|
|
nagisaushioSep 3, 2024 via Android
29
楼主想要讨论编程语言概念,但楼上说的有些并不是编程语言概念
|
|
johnhshSep 3, 2024
30
闭包
|
|
R4rvZ6agNVWr56V0Sep 3, 2024
31
C++ 的模版、预编译指令
|
|
povsisterSep 3, 2024
32
Makefile
|
|
34
指针
函数式编程 ts 类型体操 |
|
M4n5terSep 3, 2024
35
第一眼看到 go1.23 有些丑陋的迭代器和其文档中给出的 example 时
|
|
echolessSep 3, 2024
38
我觉得没有难的概念, 只是大部分人(包括很多知名教授)没有把一个概念解释清楚的能力.
我看递归, Monad, 都是看多个资料慢慢懂得. 你要懂 C. 可能需要你先了解 A, B, 但是你可能不懂 A, 或者你知道 B’. 但是很多资料(或者老师), 给所有人直接讲 C. 那么就是恰好了解 A, B 的人明白了 C. 因为你不懂 A, 了解 B’, 又干扰了你了解 B. 所以会觉得 C 很难. 教学是 1 对 1 的. 需要知道学习的人的状态, 要学习的概念. 跟化学反应一样, 要把所有的条件都达到, 才能进入下一步. |
|
echolessSep 3, 2024
39
@levelworm #37 这个绝对是那些追求 Pure functional 的把函数编程给弄的阳春白雪了. pure functional 代价很大.
但是函数编程思想倒是很容易理解, 根本在于对状态(state)的处理上. C 语言可以 OOP 也可以 FP. 追求 pure OOP 或者 pure FP 就意义不大. |
|
echolessSep 3, 2024
40
插一句, 我想象中科班和非科班的 CS 区别, 在于编程语言理论, 计算理论. 但是实际上, 无论科班和非科班, 99.99%的人都是刷题, 被八股文, 搞我这个非科班的也可以滥竽充数.
|
|
user1284Sep 3, 2024
41
今天看 go 那个生成器看晕了, 最后才发现我看漏了, 是个语法糖
|
|
aliensbSep 3, 2024
44
erlang 这都是啥
|
|
AcswSep 3, 2024
45
闭包,内存屏障
|
|
kinkin666Sep 3, 2024
46
高三结束准大学生的时候去新华书店看《 C#入门经典(第四版)》看到第六章泛型,卡在那里卡了一个星期,有一天一瓶可乐干下去,悟了,这就是把类型当参数!!!
下一次再这么悟是在学高数下册和离散数学的时候,高数里三层积分里面那个函数我就当它是回调函数了、离散数学和线性代数里那些东西我就当他是 C++里的运算符重载了 haskell 、scala 、f#、pearl 这些东西没用过,粗看一眼看不懂 |
|
raptorSep 3, 2024
47
印象中第一个这种坎是二十多年前在汇编语言的保护模式,后来搞懂了。第二个这种坎是十几年前 C++的 TMP ,后来放弃了 C++。
|
|
purringpalSep 3, 2024 via iPhone
48
可以考虑备注一下大学专业和工作年限,作为科班毕业来说,完全 get 不到楼上说的这些困扰~
|
|
yafooSep 4, 2024 via Android
49
yield
|
|
qinfenskySep 4, 2024 via iPhone
50
Macro
|
|
spidahSep 4, 2024
51
monad
|
|
NoOneNoBodySep 4, 2024
53
堆、栈 其实至今只能说知道大概
|
|
iintothewindSep 4, 2024
54
CPS (Continuation-passing style)
HOF(Higher-order function) 还有些其它的, 总之就是函数式编程真的很费脑子,不过挺好玩,逼格确实挺高的,就是工作中几乎用不上。 |
|
busuzhikeSep 4, 2024
55
python 的装饰
|
|
ZGameSep 4, 2024
57
@echoless #39 应该是说能把函数式写明白很难。函数式增加了很多约束,如果编程的时候按照相关规范去做,思维负担会减轻,局部查看每个函数的时候只用关系入参和出参对不对。 然后现实是因为约束的原因,取巧或者工期赶,有的变量直接就透传进来,然后就变成了使用函数式的方式,写出了非函数式的代码,反而加重了局部查看代码时候的混乱度。另外类似 java 后端 rjdbc 函数式的 zip,merge 等等响应式的 api 在进行调试的时候,我个人感觉也没有传统的编程方式那样好调试
|
|
nuttingSep 4, 2024
59
js 的底层。异步啥的那些有点别扭
|
|
test4zhouSep 4, 2024
60
js 一些底层原理
|
|
diroverflowSep 4, 2024
61
指针这个概念主要是名字起的不好,其实不就是内存地址吗?学过汇编的都能理解
|
|
62
协变、逆变
|
|
dododadaSep 4, 2024
63
设计模式,太多了,很多死搬硬套,最怕那种一开口就是我觉得这个用什么什么模式比较好的,以前有个同事,不管什么语言,上来就是设计模式,头大
|
|
a1b2c3TSep 4, 2024
64
我感觉大部分设计模式都不是太好理解,可能单独看示例 i 还可以,但是自己用的时候就不大行了。
|
|
BolognaSep 4, 2024
65
闭包
|
|
xntzmkSep 4, 2024
66
@Maboroshii 赞同,还好后面 async 冒出来了
|
|
lew1Sep 4, 2024
67
套接字
|
|
shangyu7Sep 4, 2024
68
"对象"
|
|
69
”运行时“,本科相当长一段时间没懂啥意思 😅
|
|
CREEPER5Sep 4, 2024
70
右值引用,每次看的时候觉得自己理解了,事后发现并没有
|
|
p1gd0gSep 4, 2024
72
刚入行搞不懂 interface ,业务写多了自然也就明白了
|
|
FalleverSep 4, 2024
73
逆变和协变 对于人来说这是很自然的转换. 但是到泛型里再加上拗口的翻译 真的绕晕了
|
|
coderzhangsanSep 4, 2024
74
@theprimone +1
runtime 看中文教材很难理解,可能是最早接触并翻译的人,没有系统性的理解,犯了民科的毛病,类似的还有所谓 TCP 粘包。 |
|
sunrainSep 4, 2024
75
刚学 OC 的时候吧,这是什么鬼?!
|
|
L5tEU4WX072p5P42Sep 4, 2024 via Android
76
我自己最近的新发现:
符号越多,看着越难 直接用关键词,就好理解多了 |
|
qW7bo2FbzbC0Sep 4, 2024
78
@vfs 我在 go 里面遇到这种情况最多。。。
|
|
jheroySep 4, 2024
79
过程式编程都不算啥,去看下 erlang 这种纯函数式编程才知道啥叫难理解,什么高阶函数什么单次赋值就不说了,就尾递归这概念就比较难理解。虽然纯函数编程数学上完美,就是不是按人好理解设计的,不过学数学专业出身的应该很喜欢。
|
|
loryyangSep 4, 2024
80
c++ 元编程见过吗?
|
|
aleimuSep 4, 2024
81
一通百通
|
|
opengpsSep 4, 2024
82
竟然没人说:完成端口
|
|
neimengwuyanzuSep 4, 2024
83
@csys lambda 真的就是 写时候还行 写完过段时间在回头看 自己写的读起来有点费劲
|
|
LitterGopherSep 4, 2024
84
套接字+句柄
(我觉得是翻译问题,你要说是网络通讯和指针我当场就能理解) |
|
me1onsodaSep 4, 2024
85
自从我开始写 go ,我发现我对 interface 一无所知
|
|
davinSep 4, 2024
86
说多了都是语法糖
|
|
javazeroSep 4, 2024 via Android
87
rust 的特征?我不是科班出身,只会 Python 。想学点底层的,看到特征想着以后再看,结果再也没看过了哈哈
|
|
EndlessMemorySep 4, 2024
88
promise.then
|
|
89
"你们自己先入为主地错误地认为 send 与 recv 是一一对应的, 从而生造出"TCP 黏包"这种东西, 还有理了吗?"
|
|
aloxafSep 4, 2024
90
Memory Order
|
|
inhzusSep 4, 2024
91
C++ coroutine 提案
|
|
winglight2016Sep 4, 2024
92
scala 的柯里化阻止了我学习 Scala
|
|
leona723Sep 4, 2024
93
递归,每次做这个我感觉我就进入了无限循环的时空里
|
|
yazinnnn0Sep 4, 2024
94
谁能解释一下 call/cc
看过一些解释 call/cc 的文章, 我对这个概念的理解还停留在 "砸哇噜多" 阶段 |
|
KFCVIVO50Sep 4, 2024
96
异步+事件循环
|
|
FYFXSep 4, 2024
97
continuation ,
|
|
qbmillerSep 4, 2024
98
python 的异步
|
|
17681880207Sep 4, 2024
99
@kissmenow
传指针其实就是传内存地址吧,这么理解 |
|
DcrclubSep 4, 2024
100
难以理解的东西, 基本都是故意为之, 目的就是增加编程的入门门槛, 很多能用白话解释的东西. 故意弄个晦涩难懂的词,搞到这里, 有的还是用英文表示. 显得很高大上
|