[問題] 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