PTT評價

Re: [問卦] 會寫 x =x+1 的資工人 數學到底多糟阿??

看板Gossiping標題Re: [問卦] 會寫 x =x+1 的資工人 數學到底多糟阿??作者
sxy67230
(charlesgg)
時間推噓16 推:17 噓:1 →:13

※ 引述《KennethC (Smith)》之銘言
: 安安安安,就是那個資工系啦!
: 聽聞資工系的資工人,
: 會去寫電腦要使用的 code,
: 其中有可能會有 code 叫做 x = x + 1
: 額......
: 這真的不是寫錯嗎???
: 資工人是數學糟糕還是邏輯糟糕??
: 有沒有資工系的八卦

阿肥外商碼農阿肥啦!最近都在打DI沒空上線發廢文。


因為對於任何的program他的理解"="這個概念叫做assign,也就是我把原本的x加上1以後再賦值給x,這東西在上升就是計算機哲學的定義了,你接受這套體系才有談下去的資格。

這個還延伸到lvalue跟rvalue的概念,如果你去寫

int x;
x = 1;
1=x;

這樣肯定會報錯,然後C++會告訴你lvalue 是不正規的操作,你在回想program 在解析你的code的時候是基於賦值由rvalue 操作後賦值給宣告一段記憶體的變數,但是數學上卻可以等價1=x或x=1,但是如果你修過compiler的課程就知道,在現代Program進入編譯器前都要做preprocessor。

經過lexical analysis跟parsing,雖然正規LL或LR Parser並沒有限制1=x這種方式不能parser,但是為了效率C語言採用了比較弱的語法解析來處理這類複雜的問題,當代其他語言也都沿用C語言的規範,而你仔細看所有compiler探討都把這個叫做一種Grammar而不是Mathematics,原因就是為了符合計算機的天然性而且避免了使用者需要面對機械碼操作。

不過你其實如果懂compiler你也可以自己去定義一個x = x + 1會爆syntax error的,不過你的這套語法勢必要挑戰當前的C語言體系,成功你就是新的規則的奠基人。

以上

----
Sent from BePTT on my Sony XQ-AU52

--

※ PTT 留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.12.17.146 (臺灣)
PTT 網址

good90150 06/16 00:04不是欸,你是在認真什麼啦

railman 06/16 00:05難得看到認真文?

SigmundFreud 06/16 00:06好認真

shaner 06/16 00:07你compiler小助教?

becareful 06/16 00:07x++

wei115 06/16 00:10C遺毒 當初C語言就是想要怎麼簡單怎麼來

wei115 06/16 00:10不然編譯器太複雜寫起來會很累

wei115 06/16 00:11結果太成功,後面一堆語言就把這語法繼承

wei115 06/16 00:12下去惹 但其實有條件可以寫更有好的語法

EricTCartman 06/16 00:13C遺毒你媽 1960年就有這種寫法了

wei115 06/16 00:14=不是,我是指宣告的語法

EricTCartman 06/16 00:18ALGOL60去看一下

wei115 06/16 00:19C就太成功 一堆徒子徒孫 把1960的東西用到

lianpig5566 06/16 00:19你在認真什麼

wei115 06/16 00:192022

landalin 06/16 00:20廢話那麼多應該不是資工的 = != == 這

landalin 06/16 00:21才是資工的解答

ivan1994 06/16 00:25電機人

duya 06/16 00:28C++和C哪個語言比較好學!?

KennethC 06/16 00:310.0

railman 06/16 00:34當然是C好學

poison5566 06/16 00:48X = X +1 答案是

cgntutim 06/16 00:59用數學來看程式語言我也暈了 assign不是

cgntutim 06/16 00:59初階概念嗎

Tenging 06/16 01:27

Tenging 06/16 01:29這題如果可以寫成 y=x+1

Tenging 06/16 01:29大多數人會比較容易理解

friends29 06/16 02:20你太認真了

sandy5243 06/16 05:40wow 推

stja 06/16 11:52

qazxws 06/22 02:02看不懂