大家对这个问题讨论得好热烈,我也来凑个热闹,以下只是个人理解,不妥之处请大家指正!
一方面,我觉得“有人”认为 be able to 通常用人作主语的观点是有依据的。比如:《麦克米伦高级英语词典》对 be able to do sth 的解释就是:used for saying that it is possible for someone to do something. 注意,这里用的是 for someone 而不是 for someone or something。
虽然更多的词典对 be able to do sth 给出的是更“中性”的解释(即没有明确指明是sb或sth),如:
to have the skill, strength, knowledge etc needed to do something(朗文)
to have the skill, intelligence, opportunity, etc.(牛津)
to have the necessary physical strength, mental power, skill, time, money or opportunity to do something(剑桥)
但《麦克米伦高级英语词典》明确指明 for someone,这至少代表了一家之言。
另一方面,我觉得认为 be able to do sth 可以用 sth 作主语也是有道理的。请看一些英英词典对 able 的解释:
having the power, skill, money, etc., that is needed to do something(韦氏)
having the necessary power, resources, skill, time, opportunity, etc., to do something(柯林斯)
在通常情况下,sth 不太可能“有”做某事的 skill, time, money 等,但 sth 完全可能会“有”做某种的 power,所以当要表示 sth 具有做某事的 power (能力)时,就有可能使用 Sth is able to do sth(事实上这样用的实例确实不少)。也许就是因为这个原因,《剑桥语法》认为 be able to 不用虚义代词作主语(因为虚义的代词通常不太可能具有做某事的 power),该书(p1258)给出的相关解释是:
Are able to could here be replaced by can, which is a raising verb. Yet able differs from can in that it does not allow dummy pronouns as subject.(不过,该书随后给出的对比例句中 can 并非表示“能力”,而是表示“推测”)
同时我们认为,如果一个句子在含义上不具备“sth-主语具有做某事的 power”这样的语境,原则上就不宜用 sth 作 be able to的主语。
附《剑桥语法》的相关截图: