语法核心/中级 · 通悟语法

Chapter 6 完成进行时态

6.4 延续事件比较:完成进行时与完成时

原书第 54 个内容页5,298 字符

6.4 延续事件比较:完成进行时与完成时

上一节详细讨论了现在完成进行时可能表示的四种“延续事件”,而第五章“完成时态”的5.4节讨论了现在完成时态也可以表示“延续事件”。因此,读者现在自然要问:既然两种时态都可以表示“延续事件”,那么有何异同?这就是这一节要回答的问题。因为6.3.5小节讨论过“刚刚在延续的事件”,因此,接下来先比较它与完成时的区别,然后再比较两种时态的其他有关“延续事件”的区别。内容安排如下:

6.4.1 比较(一):完成进行时“刚刚在延续的事件”与完成时“单一事件”

6.4.2 比较(二):完成进行时的“延续”与完成时的“延续”

6.4.1 比较(一):完成进行时“刚刚在延续的事件”与完成时“单一事件”

上一节讨论的现在完成进行时的这一用法涉及刚刚结束的事件所产生的后果,这就让我们联想到现在完成时态的“单一事件”的用法(详见5.6节),尤其是“近的过去单一事件”的用法(详见5.6.3小节)。二者有三个共同点:

第一,二者都表示一个事件在说话的时刻已经结束;

第二,二者都伴随有现在清晰可见的后果;

第三,二者都不接持续性的时间状语。不过,需要注意的是,现在完成进行时可以接持续的时间状语,但意思往往会不同;而现在完成时“单一事件”的用法是不能接持续的时间状语的。

现在通过下面这个例句来讨论二者的区别。请看例句:

1 1) My hands are dirty. I’ve been cleaning the car.

2) I’ve just cleaned the car.

妙语点睛 在例句1)中,现在完成进行时强调活动本身的持续性(emphasis on duration),然后推导出一个与这个持续的活动本身有关的结果——手很脏了。从动词的延续性角度来看,这里的clean是一个延续活动。在例句2)中,现在完成时强调活动的结果,或者说强调活动的成果(emphasis on achievement)——车子现在干净了。从动词的延续性角度来看,这里的clean是用作一个短暂动词,而不是表示延续活动。

精品译文 1)我的手很脏,我刚刚一直在洗车。

2)我刚把车洗干净了。

从这个例句可以得出二者的两点区别:

第一,现在完成进行时强调活动本身的持续性(emphasis on duration);现在完成时强调活动的结果,或者说强调活动的成果(emphasis on achievement)。

第二,从谓语动词的延续性的角度来看,现在完成进行时的“刚刚在延续的事件”的用法所采用的动词一定都是延续性动词,以表示一个延续活动;现在完成时的“单一事件”的用法所采用的动词都是短暂动词,或者用作表达短暂性的动词,不表示一个延续活动。所以,现在完成进行时可以接持续的时间状语,但意思往往会不同;而现在完成时“单一事件”的用法是不能接持续的时间状语的。这就证明二者在谓语动词的延续性方面有差别。

再来看下面这组例句:

2 1) Be careful! I’ve been painting the door!

2) I’ve painted the door green.

妙语点睛 在例句1)中,现在完成进行时强调活动本身的持续性——“我”刚刚一直在给门刷漆,由此推导出一个与这个持续活动本身有关的结果——门上的油漆现在还没有干,所以“你”要小心(be careful)。从动词的延续性的角度来看,这里paint是一个延续活动。在例句2)中,现在完成时强调活动的结果,或者说强调活动的成果——门现在变成绿色了(比如说原来是白色的)。从动词的延续性的角度来看,这里的paint是用作一个短暂动词而不是表示延续活动。

精品译文 1)小心!这门我刚刚刷过油漆!

2)我把门漆成了绿色。

这里也可以看到,现在完成进行时的这一用法与现在完成时态的关系更接近,而与现在进行时的关系较远, 因为现在进行时没有表示事件在说话时刻已经结束的用法。

6.4.2 比较(二):完成进行时的“延续”与完成时的“延续”

大家知道,现在完成时和现在完成进行时都可以表示“延续事件”,现在就来比较二者此类用法的异同点。这里主要考查在带有持续的时间状语或没有持续的时间状语时,两种时态的异同。

一、与持续的时间状语连用

在带有持续的时间状语时,用两种时态几乎没有多大区别,都表示一个开始于过去的动作一直延续到现在。比如如果要表达:

1 我学习英文有10年了。

就可以用两种时态来表达如下:

1) I have been learning English for ten years.

2) I have learned English for ten years.

要表达:

2 自从三年前开始,我就一直住在这里。

可以用两种时态来表达如下:

1) I have been living here since three years ago.

2) I have lived here since three years ago.

要表达:

3 我教书有25年了。

可以用两种时态来表达如下:

1) I have been teaching for 25 years.

2) I have taught for 25 years.

不过也有这样一种观点,认为此时二者的细微区别在于:现在完成进行时会强烈暗示动作会继续持续下去;而现在完成时则往往表示动作有可能会持续下去。如上面的例句3,很可能分别有以下的言外之意:

1) I have been teaching for 25 years, and I can’t imagine doing anything else.

我教书有25年了,我真想象不出还能干什么别的事情。

2) I have taught for 25 years, so now it’s time to think about doing something else.

我教书有25年了,现在是该考虑改行做别的事情的时候了。

这种细微的区别在下面这个例子中也得到了印证:

4 It is amazing that the Leaning Tower of Pisa ______ for so long.

A. has stood

B. has been standing

C. stood

正确答案 A/B。

妙语点睛 来分析备选答案中的三种时态填进去之后分别会产生何种含义。首先,若是用一般过去时stood,则表示比萨斜塔现在已经倒掉,已成为历史,这显然不符合事实,所以可以排除C(这种情况倒是符合中国杭州的“雷峰塔”,若谈到“雷峰塔”,则应该用stood)。剩下的has stood和has been standing其实都是可以填入的。但我的美国朋友告诉我说,选has been standing表示比萨斜塔现在一定还是“巍然耸立”的,即到现在还依然standing;而若是选has stood则可能表示比萨斜塔刚刚倒掉,然后我们回顾它的历史时说了这么一句话。

精品译文 比萨斜塔至今依然屹立不倒,这真是了不起。

由此可以得出结论:完成进行时比完成时更强调活动本身的持续性, 这是进行时态赋予它的特点。

二、不与持续的时间状语连用

接下来分析在没有持续的时间状语时,二者在时态上的区别(the present perfect vs. the present perfect continuous with no time mentioned)。第5.4.2小节分析过,表示“延续事件”的现在完成时必须具备两个条件,其中之一就是必须与持续的时间状语连用,如果没有持续的时间状语,则不表示延续至今的事件,而表示一个在过去完成了的事件,即表示“单一事件”中的过去的经历。而现在完成进行时在没有持续的时间状语的情况下,依然可以表示延续至今的事件。请比较:

5 1) I have worked in this company.

2) I have been working in this company.

妙语点睛 在例句1)中,现在完成时have worked表示曾经的经历,即现在不在这家公司工作了。在例句2)中,现在完成进行时have been working表示一直在延续的事件,即现在还在这家公司工作。

精品译文 1)我在这家公司工作过。

2)我一直就在这家公司工作。

6 1) Have you ever worked in a foreign-funded company?

2) You look tired. Have you been working hard?

妙语点睛 在例句1)中,现在完成时have worked表示询问对方曾经的经历,动作已结束。在例句2)中,现在完成进行时have been working表示询问对方最近是否一直是这样辛苦,相当于现在完成进行时所能表示的“在近期持续的一般性活动”。

精品译文 1)你在外企工作过吗?

2)你看起来很累,最近一直很辛苦吧?

7 1) He has slept.

2) He has been sleeping.

妙语点睛 在例句1)中,现在完成时has slept表示他睡过觉了,所以现在不困了。我们可以接着往下说“He has slept well and is ready for his interview.”,表示“他刚才好好地睡了一觉,所以现在准备好去面试了”。在例句2)中,现在完成进行时has been sleeping表示他一直在睡觉,现在还在睡。相当于“He has been sleeping and he is still asleep now.”。

精品译文 1)他睡过觉了。

2)他一直在睡觉。

从以上这些例子可以看到,在不带有时间状语时,现在完成时指的是在过去某一时间完成了的动作(refer to a singular occurrence at an indefinite time in the past),现在完成进行时则表示一个正在持续的活动(refer to an ongoing activity),活动还没有结束。下面的例句也可以证明这一区别。请比较:

8 1) I’ve been cleaning the house, but I still haven’t finished.

2) I’ve cleaned the house, but I still haven’t finished. *

妙语点睛 在例句1)中,因为现在完成进行时have been cleaning表示一个一直在持续的活动,活动并没有结束,相当于汉语中说的“我一直在打扫房间”,所以接下去可以说but I still haven’t finished,表示“但是还没有打扫完”,这样来明确表示活动还没有结束。在例句2)中,因为现在完成时have cleaned表示一个过去完成了的活动,相当于汉语中说的“我把房间打扫完了”,所以接下去无法说but I still haven’t finished(但是还没有扫完),这样前后语义矛盾,故例句2)是错误的。

精品译文 1)我一直在打扫房间,但现在还没有打扫完。

9 1) I’ve been writing a novel, but I still haven’t finished it.

2) I’ve written a novel, but I still haven’t finished it. *

妙语点睛 在例句1)中,因为现在完成进行时have been writing表示一个一直在持续的活动,活动并没有结束,相当于汉语中说的“我一直在写一部小说”,所以接下去我们可以说but I still haven’t finished it,表示“但是还没有写完”,这样来明确表示活动还没有结束。在例句2)中,因为现在完成时have written表示一个过去完成了的活动,相当于汉语中说的“我写完了一部小说”,所以接下去我们无法说but I still haven’t finished(但是还没有写完),这样前后语义矛盾,故例句2)是错误的。

精品译文 1)我一直在写一部小说,但现在还没有写完。

综上所述,现在完成进行时不论是带有还是没有持续时间状语,同样可表达“一直在持续的活动”。这进一步证明了上述结论:完成进行时比完成时有更强的持续性。

思维总结

完成进行时表示的“刚刚在延续的事件”与完成时的“单一事件”的用法类似,因为:二者都表示一个事件在说话的时刻已经结束;都伴随有现在清晰可见的后果;二者一般都不接持续性的时间状语。二者最大的区别在于谓语动词的延续性。现在完成进行时的“刚刚在延续的事件”的用法所采用的动词一定都是延续性动词,以表示一个延续活动;现在完成时的“单一事件”的用法所采用的动词都是短暂动词,不表示延续活动。

二者在表示“延续事件”方面最大的区别在于持续的时间状语。一方面,在带有持续的时间状语时,两种时态几乎没有多大区别,都表示一个开始于过去的动作一直延续到现在。另一方面,如果没有持续时间状语,完成时则不表示延续至今的事件,而表示一个在过去完成了的事件(即表示“单一事件”)。但是,现在完成进行时在没有持续的时间状语的情况下,依然可以表示延续至今的事件。由此可见,完成进行时比完成时更强调活动本身的持续性。

思维训练 6.4 Key

请用括号中动词的适当形式填空。

1. I ______ (clean) the house, but I still haven’t finished.

2. I ______ (write) a novel, but I still haven’t finished it.

3. Be careful! I ______ (paint) the door!

4. I ______ (paint) the door green.