[问题] if是不是函数

楼主: zxvc (众生都是未来佛)   2010-09-29 08:10:13
这讨论主要是接续C_AND_CPP板的这系列文章作讨论:
"[闲聊] 这里将近两万篇的文"
因为该板板主认定该讨论串徧离板旨,
而tinlans大建议转到这板讨论最适合,
所以我就po在这了。
对于这主题我一开始想澄清的一件事是,
不少人对"if p then q"在逻辑学上的定义搞错了。
有人说数学上(我想他想表达的是逻辑学上)"if"的
真值表如下:
q = if p
p q
0 0
1 1
试回想以前逻辑学学的"if p then q"真值表是这样吗?不是!
p->q的真值表应该是这样:
if p then q
p q p->q
0 0 1
0 1 1
1 0 0
1 1 1
而前者这种if在逻辑学上并没有这样的定义,
逻辑学只有定义"if p then q"。
如果有人硬是要把前者定义为"程式语言里讲的if",
而不是"逻辑学的if p then q",那的确还有讨论下去的空间。
只是"程式语言里讲的if"如果真是一个function,
请问是在什么概念下来看是个function呢?
若以C/C++ compile成ASM的角度来看,if真的不会compile成function。
不过yauhh大也强调,他并不是以这种角度去诠释if是个function。
他似乎想用更高度抽象(abstraction)的方式去诠释if是个function。
如果他的说法不能自生矛盾,我是能尊重他的学说。
有人可能会觉得干么尊重一个无用的学说?
但很多学问当初被发明也没有什么实用目的,
是到后来人们才发现它有实用目的。
搞不好改天yauhh大发明个更高阶的yauhh程式语言
影响了程式语言的发展,变成一个大家不得不学的语言也不一定XD
作者: nowar100 (抛砖引玉)   2010-09-29 08:33:00
帮你补充,原文可以到 C_and_CPP z-15-10 去看 :)其实我也很想看文章继续 (不过已经走火了,不处理不行)
作者: AmosYang (泛用人型编码器)   2010-09-29 17:21:00
IF: {programCounter, boolean} -> {action}让我们离开务实的地面,进入大宇宙抽象空间吧 XD

Links booklink

Contact Us: admin [ a t ] ucptt.com