看板 PLT 關於我們 聯絡資訊
以後我會不定期發表一些謬論,有望各位指點,感謝 首先呢,就我個人的觀察,有很多人對於「程式語言」有很大的誤解。 在這裡想點出一些「不恰當」的表達,希望一般人,還有新手可以不要 再用一些令人困惑的名詞,(如:想表達的意思與名詞明顯無關) 害得我常常不知道該怎麼回答才好。可能的回答方法如下: 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