关于现在完成时不与时间状语连用

就这句话本身而言, 是没有错的. 现在完成时确实某些情况下不与时间状语连用. 但这可以说是一句正确但无用的废话, 而且给学习者指向了一个错误的方向, 那就是把它当作一个语法规则去记忆. 这句话也没有解释为什么不与时间状语连用, 而这个原因其实是不需要记忆的, 甚至也是不需要用文字去教授的, 换句话说这个语法规则没有值得去记忆的有形的文字描述. 如果懂得了其中的含义, 这种规则教学其实是多余的. 它把我们已经知道的东西变成有形的文字描述, 而通过这个文字描述却难以得到其中的含义. 许多语法规则其实是把我们本来就知道的东西用某种方式描述出来, 而看了这些描述反而变得不知道了, 这种类型的知识属于典型的不知道自己知道, 甚至不必知道自己知道的那种.

从问答的角度来看会一目了然. 如果把每一个这样的完成时都当作对某个问题的 回答, 就会立即明白和时间状语连用的问题在哪里.

提问: 你做完作业了吗?

回答: 我两个小时之前做完了作业.

如果把自己代入这样的问答之中, 立即就会感受到不协调, 那就是所答非所问, 一个完全不了解语法规则的人也能毫不费力地感受到其中的尴尬. 提问者期待的回答是是或者否, 也就是所谓的完成与否, 这正是完成时的意义所在. 感受到这种不协调的提问者接下来的反应可能是: 我并没有问你什么时候做完的, 我问得是做完了没有. 现实中, 即使两个完全不懂语法规则术语的人也不会这样对话, 更不会对照语法规则教科书判断自己说的是否合乎规则, 连心里面默念也不会.

即便没有提问者, 当使用完成时的时候, 所提供的信息也是在于完成与否, 相当于有一个隐含的提问者, 加上时间状语就成了辞不达意.

语法规则不是僵死的教条, 真实情况是, 一句话听起来不自然不是因为违反了语法规则, 而是不自然的语法被定义为违反规则. 人们并不是对照着语法规则来决定一句话是否说对了, 而是把说对了的语法定义为规则. 而学习语法往往是反着来的. 大部分语法规则其实是不需要记忆的常识. 如果去用充斥着术语的文字描述去解释本来简单的常识性的东西, 反而把问题复杂化了.