作者zxvc (眾生都是未來佛)
看板PLT
標題[問題] if是不是函數
時間Wed Sep 29 08:10:13 2010
這討論主要是接續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
--
信佛的人要知道:佛絕不會說謊。但請把握時光。
法滅盡經:
http://www.cbeta.org/result/normal/T12/0396_001.htm
共勉之。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.221.79
※ 編輯: zxvc 來自: 140.115.221.79 (09/29 08:18)
1F:推 nowar100:幫你補充,原文可以到 C_and_CPP z-15-10 去看 :) 09/29 08:33
2F:→ nowar100:其實我也很想看文章繼續 (不過已經走火了,不處理不行) 09/29 08:38
3F:→ AmosYang: IF: {programCounter, boolean} -> {action} 09/29 17:21
4F:→ AmosYang: 讓我們離開務實的地面,進入大宇宙抽象空間吧 XD 09/29 17:24