作者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