作者godfat (godfat 真常)
看板PLT
標題[心得] 常見的誤解
時間Thu Feb 22 14:00:23 2007
以後我會不定期發表一些謬論,有望各位指點,感謝
首先呢,就我個人的觀察,有很多人對於「程式語言」有很大的誤解。
在這裡想點出一些「不恰當」的表達,希望一般人,還有新手可以不要
再用一些令人困惑的名詞,(如:想表達的意思與名詞明顯無關)
害得我常常不知道該怎麼回答才好。可能的回答方法如下:
1. 以他的處境來推測他可能要表達的意思,使用他的名詞,以增進溝通效果
缺點:可能會增加他的誤解
2. 先指正他的不當用詞,再使用正確的名詞與之溝通
缺點:費時費力,對方可能會覺得你很煩,吃力不討好
3. 拿他的名詞用正確的意思解讀
缺點:他會聽不懂你在說啥。他會被你搞迷糊。等…
anyway, 以下提出幾個常見的誤解:
1. 程式語言?(programming language)程式設計?(programming)
這種誤解好像在剛接觸 programming 上的人比較容易見到,
亦即把一些 programming 的問題當作是 programming language 的問題。
例如:「我們大一修程式語言,要寫猜數字。」
這句話老實講我看起來覺得有點不倫不類,畢竟猜數字這種基本功,
用簡單的語句描述就可以了,不需要牽涉到複雜的程式語言。
隨機取得四個不重複的數字
直到答對為止:
取得使用者輸入的數字
比對數字,輸出 ?A?B
簡單地說,其實也只有流程控制而已,沒什麼複雜的抽象問題,
而程式語言則是要提供一種抽象的描述方法。兩者間無法比較,
因為本來就不是同一個層次的東西。充其量也只能說為了熟悉
某個程式語言,所以做這樣的練習題。
比較恰當的說法應當是「在修 OO 語言,要寫猜數字」或是
「在修程式設計,要寫猜數字」。如果是走純粹應用導向,
其實可能根本不用去修真正的程式語言理論。
2. 語法?(syntax)程式碎片?(code snip)程式庫?(library)
這樣的誤解,就我個人觀察,似乎在並非主修 programming
上的人比較容易見到。我受夠聽到這些了:
「把這段語法剪下來…」、「OO 語言有沒有呼叫視窗的語法?」
我不是很懂文法(grammar)和語法(syntax)的差異,
但在一般情況下,把程式語言的語法視為自然語言的文法,
似乎不能說有什麼錯誤?(希望有人可以解釋一下 Orz)
我們不會把一篇文章,形容成一段文法吧?同理,一段程式
也不應該當成一段語法。兩件事同樣不是處在同一個層次裡。
也就是說,語法是描述 tokens 組合的可能性,是一種規則,
根本沒有剪下來的可能。呼叫視窗云云,也幾乎都是 library 的問題,
跟語言本身關係不大。只要有實作 library, 任何語言都能呼叫視窗,
但不是任何語言都可以有任何的語法。
先寫到這,有點力不從心,覺得好像會有很多錯誤 Orz
--
「行け!Loki!」
(rocky ロッキー)
-Gurumin ぐるみん 王子? XD
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.135.28.18