文化

第一篇 阅读的层次

第一篇 阅读的层次

第一章 阅读的活力与艺术 #

这是一本为阅读的人,或是想要成为阅读的人而写的书。尤其是想要阅读书的人。说得更具体一点,这本书是为那些想把读书的主要目的当作是增进理解能力的人而写。

这里所谓“阅读的人”(readers),是指那些今天仍然习惯于从书写文字中汲取大量资讯,以增进对世界了解的人,就和过去历史上每一个深有教养、智慧的人别无二致。当然,并不是每个人都能做到这一点。即使在收音机、电视没有出现以前,许多资讯与知识也是从口传或观察而得。但是对智能很高又充满好奇心的人来说,这样是不够的。他们知道他们还得阅读,而他们也真的身体力行。

现代的人有一种感觉,读书这件事好像已经不再像以往那样必要了。收音机,特别是电视,取代了以往由书本所提供的部分功能,就像照片取代了图画或艺术设计的部分功能一样。我们不得不承认,电视有部分的功能确实很惊人,譬如对新闻事件的影像处理,就有极大的影响力。收音机最大的特点在于当我们手边正在做某件事(譬如开车)的时候,仍然能提供我们资讯,为我们节省不少的时间。但在这中间还是有一个严肃的议题:到底这些新时代的传播媒体是否真能增进我们对自己世界的了解?

或许我们对这个世界的了解比以前的人多了,在某种范围内,知识(knowledge)也成了理解(understanding)的先决条件。这些都是好事。但是,“知识”是否那么必然是“理解”的先决条件,可能和一般人的以为有相当差距。我们为了“理解”(understand)一件事,并不需要“知道”(know)和这件事相关的所有事情。太多的资讯就如同太少的资讯一样,都是一种对理解力的阻碍。换句话说,现代的媒体正以压倒性的泛滥资讯阻碍了我们的理解力。

会发生这个现象的一个原因是:我们所提到的这些媒体,经过太精心的设计,使得思想形同没有需要了(虽然只是表象如此)。如何将知识分子的态度与观点包装起来,是当今最有才智的人在做的最活跃的事业之一。电视观众、收音机听众、杂志读者所面对的是一种复杂的组成—从独创的华丽辞藻到经过审慎挑选的资料与统计—目的都在让人不需要面对困难或努力,很容易就整理出“自己”的思绪。但是这些精美包装的资讯效率实在太高了,让观众、听众或读者根本用不着自己做结论。相反的,他们直接将包装过后的观点装进自己的脑海中,就像录影机愿意接受录影带一样自然。他只要按一个“倒带”的钮,就能找到他所需要的适当言论。他根本不用思考就能表现得宜。

1.主动的阅读 #

我们在一开始就说过,我们是针对发展阅读书的技巧而写的。但是如果你真的跟随并锻炼这些阅读的技巧,你便可以将这些技巧应用在任何印刷品的阅读上—报纸、杂志、小册子、文章、短讯,甚至广告。

既然任何一种阅读都是一种活动,那就必须要有一些主动的活力。完全被动,就阅读不了—我们不可能在双眼停滞、头脑昏睡的状况下阅读。既然阅读有主动、被动之对比,那么我们的目标就是:第一提醒读者,阅读可以是一件多少主动的事。第二要指出的是,阅读越主动,效果越好。这个读者比另一个读者更主动一些,他在阅读世界里面的探索能力就更强一些,收获更多一些,因而也更高明一些。读者对他自己,以及自己面前的书籍,要求的越多,获得的就越多。

虽然严格说来,不可能有完全被动阅读这回事,但还是有许多人认为,比起充满主动的写跟说,读与听完全是被动的事。写作者及演说者起码必须要花一点力气,听众或读者却什么也不必做。听众或读者被当作是一种沟通接收器,“接受”对方很卖力地在“给予”、“发送”的讯息。这种假设的谬误,在认为这种“接收”类同于被打了一拳,或得到一项遗产,或法院的判决。其实完全相反,听众或读者的“接收”,应该像是棒球赛中的捕手才对。

捕手在接球时所发挥的主动是跟投手或打击手一样的。投手或打击手是负责“发送”的工作,他的行动概念就在让球动起来这件事上。捕手或外野手的责任是“接收”,他的行动就是要让球停下来。两者都是一种活动,只是方式有点不同。如果说有什么是被动的,就是那只球了。球是毫无感觉的,可以被投手投出去,也可以被捕手接住,完全看打球的人如何玩法。作者与读者之间的关系也很类似。写作与阅读的东西就像那只球一样,是被主动、有活力的双方所共有的,是由一方开始,另一方终结的。

我们可以把这个类比的概念往前推。捕手的艺术就在能接住任何球的技巧—快速球、曲线球、变化球、慢速球等等。同样地,阅读的艺术也在尽可能掌握住每一种讯息的技巧。

值得注意的是,只有当捕手与投手密切合作时,才会成功。作者与读者的关系也是如此。作者不会故意投对方接不到的球,尽管有时候看来如此。在任何案例中,成功的沟通都发生于作者想要传达给读者的讯息,刚好被读者掌握住了。作者的技巧与读者的技巧融合起来,便达到共同的终点。

事实上,作者就很像是一位投手。有些作者完全知道如何“控球”:他们完全知道自己要传达的是什么,也精准正确地传达出去了。因此很公平地,比起一个毫无“控球”能力的“暴投”作家,他们是比较容易被读者所“接住”的。

这个比喻有一点不恰当的是:球是一个单纯的个体,不是被完全接住,就是没接住。而一本作品,却是一个复杂的物件,可能被接受得多一点,可能少一点;从只接受到作者一点点概念到接受了整体意念,都有可能。读者想“接住”多少意念完全看他在阅读时多么主动,以及他投人不同心思来阅读的技巧如何。

主动的阅读包含哪些条件?在这本书中我们会反复谈到这个问题。此刻我们只能说:拿同样的书给不同的人阅读,一个人却读得比另一个人好这件事,首先在于这人的阅读更主动,其次,在于他在阅读中的每一种活动都参与了更多的技巧。这两件事是息息相关的。阅读是一个复杂的活动,就跟写作一样,包含了大量不同的活动。要达成良好的阅读,这些活动都是不可或缺的。一个人越能运作这些活动,阅读的效果就越好。

2.阅读的目标:为获得资讯而读,以及为求得理解而读 #

你有一个头脑。现在让我再假设你有一本想要读的书。这本书是某个人用文字书写的,想要与你沟通一些想法。你要能成功地阅读这本书,完全看你能接获多少作者想要传达的讯息。

当然,这样说太简单了。因为在你的头脑与书本之间可能会产生两种关系,而不是一种。阅读的时候有两种不同的经验可以象征这两种不同的关系。

这是书,那是你的头脑。你在阅读一页页的时候,对作者想要说的话不是很了解,就是不了解。如果很了解,你就获得了资讯(但你的理解不一定增强)。如果这本书从头到尾都是你明白的,那么这个作者跟你就是两个头脑却在同一个模子里铸造出来。这本书中的讯息只是将你还没读这本书之前,你们便共同了解的东西传达出来而已。

让我们来谈谈第二种情况。你并不完全了解这本书。让我们假设—不幸的是并非经常如此—你对这本书的了解程度,刚好让你明白其实你并不了解这本书。你知道这本书要说的东西超过你所了解的,因此认为这本书包含了某些能增进你理解的东西。

那你该怎么办?你可以把书拿给某个人,你认为他读得比你好的人,请他替你解释看不懂的地方。(“他”可能代表一个人,或是另一本书—导读的书或教科书。)或是你会决定,不值得为任何超越你头脑理解范围之外的书伤脑筋,你理解得已经够多了。不管是上述哪一种状况,你都不是本书所说的真正地在阅读。

只有一种方式是真正地在阅读。没有任何外力的帮助,你就是要读这本书。你什么都没有,只凭着内心的力量,玩味着眼前的字句,慢慢地提升自己,从只有模糊的概念到更清楚地理解为止。这样的一种提升,是在阅读时的一种脑力活动,也是更高的阅读技巧。这种阅读就是让一本书向你既有的理解力做挑战。

这样我们就可以粗略地为所谓的阅读艺术下个定义:这是一个凭借着头脑运作,除了玩味读物中的一些字句之外,不假任何外助,以一己之力来提升自我的过程。你的头脑会从粗浅的了解推进到深人的理解。而会产生这种结果的运作技巧,就是由许多不同活动所组合成的阅读的艺术。

凭着你自己的心智活动努力阅读,从只有粗浅的了解推进到深人的体会,就像是自我的破茧而出。感觉上确实就是如此。这是最主要的作用。当然,这比你以前的阅读方式要多了很多活动,而且不只是有更多的活动,还有要完成这些多元化活动所需要的技巧。除此之外,当然,通常需要比较高难度阅读要求的读物,都有其相对应的价值,以及相对应水平的读者。

为获得资讯而阅读,与为增进理解而阅读,其间的差异不能以道里计。我们再多谈一些。我们必须要考虑到两种阅读的目的。因为一种是读得懂的东西,另一种是必须要读的东西,二者之间的界限通常是很模糊的。在我们可以让这两种阅读目的区分开来的范围内,我们可以将“阅读”这个词,区分成两种不同的意义。

第一种意义是我们自己在阅读报纸、杂志,或其他的东西时,凭我们的阅读技巧与聪明才智,一下子便能融会贯通了。这样的读物能增加我们‘的资讯,却不能增进我们的理解力,因为在开始阅读之前,我们的理解力就已经与他们完全相当了。否则,我们一路读下来早就应该被困住或吓住了—这是说如果我们够诚实、够敏感的话。

第二种意义是一个人试着读某样他一开始并不怎么了解的东西。这个东西的水平就是比阅读的人高上一截。这个作者想要表达的东西,能增进阅读者的理解力。这种双方水准不齐之下的沟通,肯定是会发生的,否则,无论是透过演讲或书本,谁都永远不可能从别人身上学习到东西了。这里的“学习”指的是理解更多的事情,而不是记住更多的资讯—和你已经知道的资讯在同一水平的资讯。

对一个知识分子来说,要从阅读中获得一些和他原先熟知的事物相类似的新资讯,并不是很困难的事。一个人对美国历史已经知道一些资料,也有一些理解的角度时,他只要用第一种意义上的阅读,就可以获得更多的类似资料,并且继续用原来的角度去理解。但是,假设他阅读的历史书不只是提供给他更多资讯,而且还在他已经知道的资讯当中,给他全新的或更高层次的启发。也就是说,他从中获得的理解超越了他原有的理解。如果他能试着掌握这种更深一层的理解,他就是在做第二种意义的阅读了。他透过阅读的活动间接地提升了自己,当然,不是作者有可以教他的东西也达不到这一点。

在什么样的状况下,我们会为了增进理解而阅读?有两种状况:第一是一开始时不相等的理解程度。在对一本书的理解力上,作者一定要比读者来得“高杆”,写书时一定要用可读的形式来传达他有而读者所无的洞见。其次,阅读的人一定要把不相等的理解力克服到一定程度之内,虽然不能说全盘了解,但总是要达到与作者相当的程度。一旦达到相同的理解程度,就完成了清楚的沟通。

简单来说,我们只能从比我们“更高杆”的人身上学习。我们一定要知道他们是谁,如何跟他们学习。有这种想法的人,就是能认知阅读艺术的人,就是我们这本书主要关心的对象。而任何一个可以阅读的人,都有能力用这样的方式来阅读。只要我们努力运用这样的技巧在有益的读物上,每个人都能读得更好,学得更多,毫无例外。

我们并不想给予读者这样的印象:事实上,运用阅读以增加资讯与洞察力,与运用阅读增长理解力是很容易区分出来的。我们必须承认,有时候光是听别人转述一些讯息,也能增进很多的理解。这里我们想要强调的是:本书是关于阅读的艺术,是为了增强理解力而写的。幸运的是,只要你学会了这一点,为获取资讯而阅读的另一点也就不是问题了。

当然,除了获取资讯与理解外,阅读还有一些其他的目标,就是娱乐。无论如何,本书不会谈论太多有关娱乐消遣的阅读。那是最没有要求,也不需要太多努力就能做到的事。而且那样的阅读也没有任何规则。任何人只要能阅读,想阅读,就能找一份读物来消遣。

事实上,任何一本书能增进理解或增加资讯时,也就同时有了消遣的效果。就像一本能够增进我们理解力的书,也可以纯粹只读其中所包含的资讯一样。(这个情况并不是倒过来也成立:并不是每一种拿来消遣的书,都能当作增进我们的理解力来读。)我们也绝不是在鼓励你绝不要阅读任何消遣的书。重点在于,如果你想要读一本有助于增进理解力的好书,那我们是可以帮得上忙的。因此,如果增进理解力是你的目标,我们的主题就是阅读好书的艺术。

3.阅读就是学习:指导型的学习,以及自我发现型的学习之间的差异 #

吸收资讯是一种学习,同样地,对你以前不了解的事开始理解了,也是一种学习。但是在这两种学习当中,却有很重要的差异。

所谓吸收资讯,就只是知道某件事发生了。想要被启发,就是要去理解,搞清楚这到底是怎么回事:为什么会发生,与其他的事实有什么关联,有什么类似的情况,同类的差异在哪里等等。

如果用你记得住什么事情,和你解释得了什么事情之间的差异来说明,就会比较容易明白。如果你记得某个作者所说的话,就是你在阅读中学到了东西。如果他说的都是真的,你甚至学到了有关这个世界的某种知识。但是不管你学到的是有关这本书的知识或有关世界的知识,如果你运用的只是你的记忆力,其实你除了那些讯息之外一无所获。你并没有被启发。要能被启发,除了知道作者所说的话之外,还要明白他的意思,懂得他为什么会这么说。

当然,你可以同时记得作者所说的话,也能理解他话中的含义。吸收资讯是要被启发的前一个动作。无论如何,重点在不要止于吸收资讯而已。

蒙田说:“初学者的无知在于未学,而学者的无知在于学后。”第一种的无知是连字母都没学过,当然无法阅读。第二种的无知却是读错了许多书。英国诗人亚历山大·蒲伯(Alexander Pope)称这种人是书呆子,无知的阅读者。总有一些书呆子读得太广,却读不通。希腊人给这种集阅读与愚蠢于一身的人一种特别称呼,这也可运用在任何年纪、好读书却读不懂的人身上。他们就叫“半瓶醋"(Sophomores)。

要避免这样的错误—以为读得多就是读得好的错误—我们必须要区分出各种不同的阅读形态。这种区分对阅读的本身,以及阅读与一般教育的关系都有很重大的影响。

在教育史上,人们总是将经由指导的学习,与自我发现的学习区别出来。一个人用言语或文字教导另一个人时,就是一种被引导的学习。当然,没有人教导,我们也可以学习。否则,如果每一位老师都必须要人教导过,才能去教导别人,就不会有求知的开始了。因此,自我发现的学习是必要的—这是经由研究、调查或在无人指导的状况下,自己深思熟虑的一种学习过程。

自我发现的学习方式就是没有老师指导的方式,而被引导的学习就是要旁人的帮助。不论是哪一种方式,只有真正学习到的人才是主动的学习者。因此,如果说自我发现的学习是主动的,指导性的学习是被动的,很可能会造成谬误。其实,任何学习都不该没有活力,就像任何阅读都不该死气沉沉。

这是非常真确的道理。事实上,要区分得更清楚一些的话,我们可以称指导型的学习是“辅助型的自我发现学习”。用不着像心理学家作深人的研究,我们也知道教育是非常特殊的艺术,与其他两种学术—农业与医学—一样,都有极为重要的特质。医生努力为病人做许多事,但最终的结论是这个病人必须自己好起来—变得健康起来。农夫为他的植物或动物做了许多事,结果是这些动植物必须长大,变得更好。同样地,老师可能用尽了方法来教学生,学生却必须自己能学习才行。当他学习到了,知识就会在他脑中生根发芽。

指导型的学习与自我发现型的学习之间的差异—或是我们宁可说是在辅助型,及非辅助型的自我发现学习之间的差异—一个最基本的不同点就在学习者所使用的教材上。当他被指导时—在老师的帮助下自我发现时—学习者的行动立足于传达给他的讯息。他依照教导行事,无论是书写或口头的教导。他学习的方式就是阅读或倾听。在这里要注意阅读与倾听之间的密切关系。如果抛开这两种接收讯息方式之间的微小差异性,我们可以说阅读与倾听是同一种艺术—被教导的艺术。然而,当学习者在没有任何老师指导帮助下开始学习时,学习者则是立足于自然或世界,而不是教导来行动。这种学习的规范就构成了非辅助型的自我发现的学习。如果我们将“阅读”的含义放宽松一点,我们可以说自我发现型的学习—严格来说,非辅助型的自我发现学习—是阅读自我或世界的学习。就像指导型的学习(被教导,或辅助型的学习)是阅读一本书,包括倾听,从讲解中学习的一种艺术。

那么思考呢?如果“思考”是指运用我们的头脑去增加知识或理解力,如果说自我发现型的学习与指导型的学习是增加知识的惟二法门时,那么思考一定是在这两种学习当中都会出现的东西。在阅读与倾听时我们必须要思考,就像我们在研究时一定要思考。当然,这些思考的方式都不相同—就像两种学习方式之不同。

为什么许多人认为,比起辅助型学习,思考与非辅助型(或研究型)的自我发现学习更有关联,是因为他们假定阅读与倾听是丝毫不需要花力气的事。比起一个正在作研究发明的人,一个人在阅读资讯或消遣时,确实可能思考得较少一些。而这些都是比较被动的阅读方式。但对比较主动的阅读—努力追求理解力的阅读—来说,这个说法就不太正确了。没有一个这样阅读的人会说,那是丝毫不需要思考就能完成的工作。

思考只是主动阅读的一部分。一个人还必须运用他的感觉与想像力。一个人必须观察,记忆,在看不到的地方运用想像力。我们要再提一次,这就是在非辅助型的学习中经常想要强调的任务,而在被教导型的阅读,或倾听学习中被遗忘或忽略的过程。譬如许多人会假设一位诗人在写诗的时候一定要运用他的想像力,而他们在读诗时却用不着。简单地说,阅读的艺术包括了所有非辅助型自我发现学习的技巧:敏锐的观察、灵敏可靠的记忆、想像的空间,再者当然就是训练有素的分析、省思能力。这么说的理由在于:阅读也就是一种发现—虽然那是经过帮助,而不是未经帮助的一个过程。

4.老师的出席与缺席 #

一路谈来,我们似乎把阅读与倾听都当作是向老师学习的方式。在某种程度上,这确实是真的。两种方式都是在被指导,同样都需要被教导的技巧。譬如听一堂课就像读一本书一样,而听人念一首诗就跟亲自读到那首诗是一样的。在本书中所列举的规则跟这些经验都有关。但特别强调阅读的重要性,而将倾听当作第二顺位的考量,有很充分的理由。因为倾听是从一位出现在你眼前的老师学习—一位活生生的老师—而阅读却是跟一位缺席的老师学习。

如果你问一位活生生的老师一个问题,他可能会回答你。如果你还是不懂他说的话,你可以再问他问题,省下自己思考的时间。然而,如果你问一本书一个问题,你就必须自己回答这个问题。在这样的情况下,这本书就跟自然或世界一样。当你提出间题时,只有等你自己作了思考与分析之后,才会在书本上找到答案。

当然,这并不是说,如果有一位活生生的老师能回答你的问题,你就用不着再多做功课。如果你问的只是一件简单的事实的陈述,也许如此。但如果你追寻的是一种解释,你就必须去理解它,否则没有人能向你解释清楚。更进一步来说,一位活生生的老师出现在你眼前时,你从了解他所说的话,来提升理解力。而如果一本书就是你的老师的话,你就得一切靠自己了。

在学校的学生通常会跟着老师或指导者阅读比较困难的书籍。但对我们这些已经不在学校的人来说,当我们试着要读一本既非主修也非选修的书籍时,也就是我们的成人教育要完全依赖书籍本身的时候,我们就不能再有老师的帮助了。因此,如果我们打算继续学习与发现,我们就要懂得如何让书本来教导我们。事实上,这就是本书最主要的目的。

第二章 阅读的层次 #

在前一章里,我们说明了一些差异性的问题,这对接下来要说的事很重要。一位读者要追求的目标—为了消遣,获得资讯或增进理解力—会决定他阅读的方式。至于阅读的效果则取决于他在阅读上花了多少努力与技巧。一般来说,阅读的规则是:努力越多,效果越好。至少在阅读某些超越我们能力的书时,花一点力气就能让我们从不太了解进升到多一些了解的状态。最后,指导型与自我发现型学习(或辅助型与非辅助型自我发现学习)之间的区别之所以重要,因为我们大多数人在阅读时,都经常是没有人在旁边帮助的。阅读,就像是非辅助型的自我发现学习,是跟着一位缺席的老师在学习。只有当我们知道如何去读时,我们才可能真正读懂。

...

第四篇 阅读的最终目标

第四篇 阅读的最终目标

第二十章 阅读的第四个层次:主题阅读 #

到目前为止,我们还没有仔细谈过关于就同一个主题阅读两三本书的问题。我们在前面提到过,在讨论某个特定的主题时,牵涉到的往往不只是一本书。我们也一再非正式地提醒过,甚至其他领域中相关的作者与书籍,都与这个特定的主题有关。在作主题阅读时,第一个要求就是知道:对一个特定的问题来说,所牵涉的绝对不是一本书而已。第二个要求则是:要知道就总的来说,应该读的是哪些书?第二个要求比第一个要求还难做到。

我们在检验这个句子:“与同一个主题相关两本以上的书”时,困难就出现了。我们所说的“同一个主题”是什么意思?如果这个主题是单一的历史时期或事件,就很清楚了,但是在其他的领域中,就很难作这样清楚的区分。《飘》与《战争与和平》都是关于伟大战争的小说—但是,两者相似之处也止于此了。司汤达的《帕玛修道院》(The Charterhouse of Parma)谈的拿破仑战争,也是托尔斯泰作品中谈的战争。但是这两本书当然都不是在谈这场战争,也不是与一般战争有关的书。在这两个故事中,战争只是提供了一个环境或背景,故事的本身所谈的是人类的生存与挣扎,战争不过是作者想吸引读者注意的手法。我们可能会了解有关这场战役的一些事情—事实上,托尔斯泰就说过,从司汤达所描述的滑铁卢之役中,他学到很多有关这场战役的事—但是如果我们的主题是要研究战争,就用不着拿这些小说来读了。

你可能料到小说有这种情况。因为作品的特性,小说沟通问题的方法跟论说性作品不同。但是,论说性作品也有同样的问题。

譬如说你对“爱”这个概念很感兴趣,想要阅读相关的读物。因为关于爱的作品很广泛,你要整理出一个相关书目来阅读是有点困难的。假设你向专家求教,到一个完备的图书馆中寻找书目,还对照一位优秀学者所写的论文,终于把书目弄出来了。再假设你进一步舍弃诗人和小说家谈的这个主题,只想从论说性的作品中找答案(在后面我们会说明为什么这样的做法是明智的)。现在你开始依照书目来阅读这些书了。你发现什么?

即使只是匆匆的浏览,你也会找到一大堆相关的资料。人类的行为,几乎没有任何一种行为没有被称作是爱的行为—只是称呼的方式不同而已。而且爱并不只限于人类。如果你进一步往下阅读,你会发现宇宙中的万事万物皆有爱。也就是说,任何存在的事物都可能爱与被爱—或二者兼而有之。

石头是爱,因为它是地球的中心。火焰会上扬,是因为爱的功能。铁刀会吸引磁铁,被形容为爱的结果。有些书专门研究变形虫、草履虫、蜗牛、蚂蚁的爱情生活。更别提一些较高等的动物,它们会爱它们的主人,也会彼此相爱。谈到人类的爱,我们发现作者谈到也写到他们对男人们、女人们、一个男人、一个女人、孩子、他们自己、人类、金钱、艺术、家庭生活、原则、原因、职业或专业、冒险、安全、想法、乡村生活、爱的本身、牛排或美酒之爱。在某些教材中,天体的运转被认为是受到爱的启发。而天使与魔鬼的不同就在爱的品质不同。至于上帝,当然是要来爱人的。

面对如此庞大的相关资料,我们要如何决定我们要研究的主题是什么呢?我们能确定这中间只有一个单一的主题吗?当一个人说:“我爱起司。”另一个人说“我爱橄榄球。”而第三个人说“我爱人类”时,他们三个人所用的同样一个爱字,代表着同样的意义吗?毕竟,起司是可以吃的,橄榄球或人类是不能吃的。一个人可以玩橄榄球,却不能玩起司或其他的人。而不论“我爱人类”是什么意思,这个爱都与起司或橄榄球之爱不同。但是这三个人用的都是同样一个爱字。在这其中是否有深刻的理由?一些无法立即浮现的理由?就像这个问题本身的困难,在我们找到答案之前,我们能说我们已经确认了“同一个主题”吗?

面对如此的混乱,你可能会决定把范围缩小到人类的爱上—人与人之间的爱,同性爱或异性爱,同年之爱或忘年之爱等等。其中的规则又跟我们前面说的三种爱法不同了。但是就算你只读了一小部分与主题相关的书,你仍然会找到一堆的相关资料。譬如你会发现某些作者说:爱只是一种占有的欲望,通常是性的欲望,也就是说,爱只是一种所有动物在面对异性时会产生的吸引力。但是你也会发现另一个作者所谈的爱是不包含占有的欲望,而是一种慈善。如果说占有的欲望总是暗示着想要为自己追求好东西,而慈善却暗示着要为别人追求好东西。那么占有的欲望与慈善之间,是否有相通之处?

至少在占有的欲望与慈善之间,分享着一种共同的倾向,那就是渴望某种非常抽象的东西。但是你对这个主题的研究很快又让你发现:某些作者主张的爱是心灵的,而非肉欲的。这些作者认为爱是知性的行为,而非感性的行为。换句话说,知道某个人是值得仰慕的,总会引发渴望之心,不论是前面所说的哪一种渴望都行。这类作者并不否认有这样的渴望,但他们不承认那就是爱。

让我们假设—事实上,我们认为可以做得到—在这么多有关人类之爱的构想中,你能找出一些共通的意义。就算是这样,你的问题还是没有解决。再想想看,在人际之间,爱所表现出来的方式其实是截然不同的。男女之间的爱在恋爱期间、结婚之后、二十多岁时、七十多岁时都相同吗?一个女人对丈夫的爱与对孩子的爱相同吗?当孩子长大时,母亲对他们的爱就改变了吗?一个兄弟对姊妹的爱,跟他对父亲的爱是一样的吗?一个孩子长大之后,对父母的爱会改变吗?男人对女人的爱—无论是妻子或其他的女人—跟他对朋友的爱是相同的吗?他和不同朋友之间的关系—像是某人跟他一起打保龄球,某人是一起工作的伙伴,某人是知性的伙伴等—是否各有不同?“爱情”与“友情”之所以不同,是因为其中牵涉到的情绪(如果这是它们被命名的原因)不同,才有不同的名称吗?两个不同年纪的人也能做朋友吗?两个在财富与知识水平上有明显差距的人,也能做朋友吗?女人之间真的有友谊吗?兄弟姊妹,或哥哥弟弟、姊姊妹妹之间真的能成为朋友吗?如果你向人借钱,或是借钱给人,你们之间的友谊能保持下去吗?如果不能·,为什么?一个男孩子能爱上自己的老师吗?而这个老师是男是女,会不会造成什么样的差别?如果真的有像人一样的机器人,人类会爱他们吗?如果我们在火星或其他星球上发现了有智慧的生物,我们会爱他们吗?我们会不会爱上一个素昧平生的人,像是电影明星或总统?如果我们觉得恨某个人,那是否其实是一种爱的表现?

你只不过读了一小部分有关爱的论说性作品,这些问题就会浮现在你脑海中,其实还有更多其他的问题会出现。无论如何,我们已经说到重点了。在做主题阅读时,会出现一种很矛盾的现象。虽然这个层次的阅读被定义为就同一个主题,阅读两种以上的书,意思也是指在阅读开始之前,这个主题就已经被确认了,但是换个角度来说,这个主题也是跟着阅读走的,而不是事前就能定出来的。以爱这个例子来说,在你决定自己要读些什么之前,你可能已经读了好几百本相关的著作了。等你都读完之后,你会发现有一半的书其实跟主题根本无关。

1.在主题阅读中,检视阅读所扮演的角色 #

我们已经说过很多次,阅读的层次是渐进累积的。较高层次的阅读中也包括了前面的,或较低层次的阅读。在主题阅读中,我们就要说明这一点。

你可能还记得,在解说检视阅读与分析阅读的关系时,我们指出在检视阅读中的两个步骤—第一个是浏览,第二个是粗浅地阅读—也就是分析阅读的前两个步骤。浏览能帮助你准备做分析阅读的第一个步骤:你能确定自己在读的是什么主题,能说明这是什么样的书,并拟出大纲架构。粗浅的阅读对分析阅读的第一步骤也有帮助。基本上这是进人第二步骤的准备动作。在第二个步骤中,你要能够与作者达成共识,说明他的主旨,跟随他的论述,才能够诠释整本书的内容。

同样的,检视阅读与分析阅读也可以当作是进人主题阅读的前置作业或准备动作。事实上,在这个阶段,检视阅读已经是读者在阅读时主要的工具或手段了。

举例来说,你有上百本的参考书目,看起来全是与爱有关的主题。如果你全部用分析阅读来阅读,你不只会很清楚你在研究的主题是什么—主题阅读中的“同一主题”—你还会知道你所阅读的书中,那些跟主题无关,是你不需要的书。但是要用分析阅读将一百本书读完,.会花上你十年的时间。就算你能全心投注在这个研究上,仍然要花上好几个月的时间。再加上我们前面谈过的主题阅读中会出现的矛盾问题,显然必要有一些捷径。

这个捷径是要靠你的检视阅读技巧来建立的。你收集好书目之后,要做的第一件事是检视书单上所有的书。在做检视阅读之前,绝不要用分析阅读来阅读。检视阅读不会让你明白有关主题的所有错综复杂的内容,或是作者所有的洞察力,但却具有两种基本的功能。第一,它会让你对自己想要研究的主题有个清晰的概念,这样接下来你针对某几本书做分析阅读时,会大有助益。其次,它会简化你的书目到一个合理的程度。

对学生,尤其是研究生来说,我们很难想到还有比这更管用的方式。只要他们肯照着做,一定会有帮助。根据我们的经验,在研究生程度的学生中,确实有些人能做到主动的阅读与分析阅读。这对他们来说还不够,他们或许不是完美的读者,但是至少他们知道要如何掌握一本书的重点,能明确地说出书中的要点,并把这些观点纳人他们研究主题的一部分。但是他们的努力有一大半是浪费掉了,因为他们不知道要如何才能比别人读得快一点。他们阅读每一本书或每一篇文章都花上同样的时间与努力,结果他们该花精神好好阅读的书却没有读好,倒把时间花在那些不太值得注意的书上了。

能够熟练检视阅读的读者,不但能在心中将书籍分类,而且能对内容有一个粗浅的了解。他也会用非常短的时间就发现,这本书谈的内容对他研究的主题到底重不重要。这时他可能还不清楚哪些资料才是最重要的—这可能要等到读下本书的时候才能发现。但是有两件事至少他已经知道其中之一。那就是他不是发现这本书必须回头再读一次,以获得启发,便是知道不论这本书多有趣又多丰富,却毫无启发性,因此不值得重新再读。

这个忠告通常会被忽略是有原因的。我们说过,在分析阅读中,技巧熟练的阅读者可以同时用上许多技巧,而初学者却必须把步骤分开来。同样的,主题阅读的准备工作—先检视书目上所有的书,在开始做分析阅读之前先检视一遍—可以在做分析阅读时一并进行。但我们不相信任何读者能做到这一点,就算技巧再熟练也不行。这也是许多年轻研究生所犯的毛病。他们自以为两个步骤可以融合为一个,结果阅读任何书都用同样的速度,对某些特殊的作品来说不是太快就是太慢,但无论如何,对他们阅读的大部分书来说,这样的方法都是不对的。

一旦你检视过,确定某些书跟你研究的主题相关后,你就可以开始做主题阅读了。要注意的是,我们并没有像你以为的说:“开始做分析阅读”。当然,你需要研读每一本书,再组合起跟你主题相关的资料,你在做分析阅读时就已经学会了这些技巧。但是绝不要忘了,分析阅读的技巧只适用于单一的作品,主要的目标是要了解这本书。而我们会看到,主题阅读的目标却大不相同。

2.主题阅读的五个步骤 #

现在我们准备好要说明如何做主题阅读了。我们的假设是:你已经检视了相当多的书,你至少对其中一些书在谈些什么有点概念了,而且你也有想要研究的主题了。接下来你该怎么办?

在主题阅读中一共有五个步骤。这些步骤我们不该称之为规则—虽然也许我们会—因为只要漏掉其中一个步骤,主题阅读就会变得很困难,甚至读不下去了。我们会简略地介绍一下这些步骤的顺序,不过这些步骤彼此之间还是可以互相取代的。·

主题阅读步骤一:找到相关的章节。当然,我们假设你已经学会分析阅读了,如果你愿意,你能把所有相关的书都看透彻了。但是你可能会把阅读单本的书放在第一顺位,而把自己的主题放在其次。事实上,这个顺序应该颠倒过来,在主题阅读中,你及你关心的主题才是基本的重点,而不是你阅读的书。

在你已经确定哪些书是相关的之后,主题阅读的第一个步骤就是把这些书整体检视阅读一遍。你的目标是找出书中与你的主题极为相关的章节。你选择的书不太可能全本都与你的主题或问题相关。就算是如此,也一定是少数,你应该很快地把这本书读完。你不该忘了,你的阅读是别有用心的—也就是说,你是为了要解决自己的问题才阅读—而不是为了这本书本身的目的而阅读。

看起来,这个步骤似乎与前面所说的,为了发现这本书是否与你主题相关的检视阅读当同一件事来进行。许多状况的确可以这么做。但是如果你认为永远都可以这么做的话,可能就不太聪明了。记住,第一步的检视阅读是要集中焦点在你要进一步做主题阅读的主题上。我们说过,除非你已经检阅过书单上大部分的书,否则你无法完全理解这个问题。因此,在确认哪些是相关的书籍的同时,还要确认哪些是相关的章节,其实是很危险的做法。除非你的技巧已经很熟练,而且对你要研究的主题已经很清楚了,否则你最好是将两部分分开来做。

在主题阅读中,能够把你所阅读的第一批书,与你后来针对这个主题阅读的许多本书的差别区分出来,是很重要的事。对后来的这些书来说,你可能对自己的主题已经有了很清楚的概念,这时就可以把两种检视阅读合并在一起。但是在一开始时,却要明显地区分出来,否则你在找相关章节时会犯下严重的错误,到后来要更正这些错误时又要花上很多的时间与精力。

总之,要记得你最主要的工作不是理解整本书的内容,而是找出这本书对你的主题有什么帮助,而这可能与作者本身的写作目的相去甚远。在这个阶段的过程中,这并不重要。作者可能是在无意之间帮你解决了问题。我们已经说过,在主题阅读中,是书在服务你,而不是你在服务书。因此,主题阅读是最主动的一种阅读法。当然,分析阅读也需要主动的阅读方式。但是你在分析阅读一本书时,你就像是把书当作主人,供他使唤。而你在做主题阅读时,却一定要做书的主人。

因此,在与作者达成共识这一点上,这个阶段有不同的做法。

主题阅读步骤二:带引作者与你达成共识。在诠释阅读中(分析阅读的第二步骤),第一个规则是要你与作者达成共识,也就是要能找出关键字,发现他是如何使用这些字的。但是现在你面对的是许多不同的作者,他们不可能每个人都使用同样的字眼,或相同的共识。在这时候就是要由你来建立起共识,带引你的作者们与你达成共识,而不是你跟着他们走。

在主题阅读中,这可能是最困难的一个步骤。真正的困难在于要强迫作者使用你的语言,而不是使用他的语言。这跟我们一般的阅读习惯都不相同。我们也指出过很多次,我们假设:我们想要用分析阅读来阅读的作者,是比我们优秀的人。尤其如果这是一本伟大的著作时,就更可能如此。无论我们在了解他的过程中花了多少力气,我们都会倾向于接受他的词义与他安排的主题结构。但在主题阅读中,如果我们接受任何一位作者所提出来的词汇(terminology),我们很快就会迷失。我们可能会了解他的书,却无法了解别人的书。我们也很难找到与自己感兴趣的主题的资料。

我们不只要能够坚决拒绝接受任何一位作者的词汇,还得愿意面对可能没有任何一位作者的词汇对我们来说是有用的事实。换句话说,我们必须要接受一个事实:我们的词汇刚好与任何一位书目上的作者相同时,只是一种巧合。事实上,这样的巧合还满麻烦的。因为如果我们使用了某一位作者的一个或一组词义,我们就可能继续引用他书中其他的词义,而这只会带给我们麻烦,没有其他的帮助。

简单来说,主题阅读是一种大量的翻译工作。我们并不是将一种语言翻成另一种语言,像法语翻成英语,但是我们要将一种共通的词汇加诸在许多作者身上,无论他们所使用的是不是相同的语言,或是不是关心我们想解决的问题,是否创造了理想的词汇供我们使用。

这就是说,在进行主题阅读时,我们要建立一组词汇,首先帮助我们了解所有的作者,而不是其中一两个作者;其次帮助我们解决我们的问题。这一点认识会带我们进人第三个步骤。

主题阅读步骤三:厘清问题。诠释阅读的第二个规则是要我们找出作者的关键句子。然后从中逐步了解作者的主旨。主旨是由词义组成的,在主题阅读中,当然我们也要做同样的工作。但是因为这时是由我们自己来建立词汇,因此,我们也得建立起一组不偏不倚的主旨。最好的方法是先列出一些可以把我们的问题说得比较明白的问题,然后让那些作者来回答这些问题。

这也是很困难的工作,这些问题必须要以某种形式,某种秩序来说明,以帮助我们解决我们提出的问题,同时这些问题也要是大多数作者都能回答的问题。难就难在我们认为是问题的地方,作者也许并不认为是问题。他们对我们认定的主题可能有相当不同的看法。

事实上,有时候我们必须接受作者可能一个问题也回答不了。在这样的状况中,我们必须要将他视为是对这个问题保持沉默,或是尚未作出决定。但是就算他并没有很清楚地讨论这个问题,有时我们也可以在他书中找到间接的回答。我们会得出这么一个结论:如果他考虑到这个问题的话,那就会如何如何回答这个问题。在这里需要一点自我约束。我们不能把思想强加在作者脑海中,也不能把话语放进他们的口中。但是我们也不能完全依赖他们对这个问题的解说。如果我们真的能靠其中任何一位作者来解释这个问题,或许我们根本就没有问题要解决。

我们说过要把问题照秩序排列出来,好帮助我们在研究时使用。当然,这个秩序是跟主题有关的,不过还是有一般的方向可循。第一个问题通常跟我们在研究的概念或现象的存在或特质有关。如果一位作者说这种现象的确存在,或这种概念有一种特质,那么对于他的书我们就要提出更进一步的问题了。这个问题可能跟这个现象是如何被发现,或这个概念是如何表现出来的有关。最后一部分的问题则是与回答前面问题所产生的影响有关。

我们不该期望所有的作者都用同一种方法来回答我们的问题。如果他们这么做了,我们就又没有问题要解决了。那个问题会被一致的意见解决了。正因为每个作者都不相同,因此我们要再面对主题阅读的下一个步骤。

主题阅读步骤四:界定议题。如果一个问题很清楚,如果我们也确定各个作者会用不同的方式来回答—不论赞成或反对—那么这个议题就被定义出来了。这是介于用这种方法回答问题的作者,和用另外一种(可能是相反的)方法来回答问题的作者之间的议题。

如果检验过后,所有的作者提供的答案只有正反两面的意见,那么这个问题算是简单的问题。通常,对一个问题会有超过两种以上的答案。在这种情况下,我们就要找出不同意见彼此之间的关联,再根据作者的观点来作分类。

当两个作者对同一个问题有相当的了解,所作的回答却完全相反或矛盾时,这才是一个真正有参与的议题。但是这样的现象并不像我们希望的那样经常发生。通常,答案之不同固然来自于各人对这个主题有不同的观点,但也有很多情况是来自于对问题本身的认知不同。所以在做主题阅读的读者,要尽可能地确保议题是大家所共同参与的。有时候这会迫使他在列出问题的时候,小心不采取任何一位作者明白采用的方法。

我们要处理的问题,可能会出现很多种不同的议题,不过通常都可以分门别类。譬如像考虑到某种概念的特质的问题,就会出现一堆相关的议题。许多议题绕着一组相互关联密切的问题打转,就会形成这个主题的争议。这样的争议可能很复杂,这时主题阅读的读者就要将所有争议的前后关系整理清楚—尽管没有任何作者做这件事。厘清争议,同时将相关议题整理出来之后,我们便要进入主题阅读的最后一个步骤。

主题阅读步骤五:分析讨论。到目前为止,我们已经检验过作品,找出相关的章节,设定了一个不偏不倚的共识,适用于所有被检视过的作者,再设定出一整套的问题,其中大部分都能在作者的说明中找到答案。然后就不同的答案界定并安排出议题。接下来该怎么做呢?

前面四个步骤与分析阅读的前两组规则是互相辉映的。这些规则应用在任何一本书中,都会要我们回答一个问题:这本书在说些什么?是如何说明的?在主题阅读中,对于与我们的问题相关的讨论,我们也要回答类似的问题。在只阅读一本书的分析阅读中,剩下还有两个问题要回答:这是真实的吗?这与我何干?而在主题阅读中,我们对于讨论也要准备回答同样的问题。

让我们假设起头的那个阅读问题并不单纯,是个几世纪以来与许多思考者纷争不已的长久问题,许多人家不同意,并且会继续不同意的问题。在这个假设中,我们要认知的是,身为主题阅读的读者,我们的责任不只是要自己回答这些问题—这些问题是我们仔细整理出来,以便易于说明主题的本身与讨论的内容。有关这类问题的真理并不容易发现。如果我们期望真理就存在某一组问题的答案之中,那可能太轻率了。就算能找到答案,也是在一些相互矛盾的答案的冲突中找到令人信服的证据,而且有支持自己的确切理由。

因此,就可以发现的真理而言,就我们可以找到的问题答案而言,与其说是立足于任何一组主旨或主张上,不如说是立足于顺序清楚的讨论的本身。因此,为了要让我们的头脑接受这样的真相—也让别人接受—我们要多做一点工作,不只是问问题与回答问题而已。我们要依照特定的顺序来提问题,也要能够辨认为什么是这个顺序。我们必须说明这些问题的不同答案,并说明原因。我们也一定要能够从我们检视过的书中找出支持我们把答案如此分类的根据。只有当我们做到这一切时,我们才能号称针对我们问题的讨论作了分析,也才能号称真正了解了问题。

事实上,我们所做的可能超过这些。对一个问题完整地分析过后,将来其他人对同一个问题要作研究时,我们的分析讨论就会提供他一个很好的研究基础。那会清除一些障碍,理出一条路,让一个原创性的思考者能突破困境。如果没有这个分析的工作,就没法做到这一点,因为这个问题的各个层面就无法显现出来。

3.客观的必要性 #

要完整地分析一个问题或某个主题,得指出这个讨论中的主要议题,或是一些基本的知性反对立场。这并不是说在所有的讨论中,反对的意见总是占主导的。相反,同意或反对的意见总是互相并存的。也就是说,在大多数的议题中,正反两面的意见总是有几个,甚至许多作者在支持。在一个争议性的立场上,我们很少看到一个孤零零的支持者或反对者。

人类对任何领域某种事物的特质达成一致的观点,都建立一种假设,意味着他们共同拥有的意见代表着真理。而不同的观点则会建立起另一个相反的假设—无论你是否参与,这些争论中的观点可能没有一个是完全真实的。当然,在这些冲突的观点中,也可能有一个是完全真实的,而其他的则是虚假的。不过也可能双方面都只是表达了整体真理的一小部分。除了一些单调或孤立的争论之外(就我们在这里所读的问题,不太可能有这种形式的讨论),很可能正反双方的意见都是错的,一如所有的人可能都同意了一种错误的观点。而另一些没有表达出来的观点才可能是真实的,或接近真实的。

换句话说,主题阅读的目的,并不是给阅读过程中发展出来的问题提供最终答案,也不是给这个计划开始时候的问题提供最终解答。当我们要给这样的主题阅读写一份读者报告的时候,这个道理特别清楚。如果这份报告就任何所界定并分析过的重要议题,想要主张或证明某一种观点的真实或虚假,都会太过教条,失去对话的意义。如果这么做,主题阅读就不再是主题阅读,而只是讨论过程中的另一个声音,失去了疏离与客观性。

我们要说的,并不是我们认为对人类关心的重要议题多一个声音无足轻重。我们要说的是我们在追求理解的过程中,可以而且应该多贡献一种不同的形式。而这样的形式必须是绝对客观又公正的。主题阅读所追求的这种特质,可以用这句话来作总结:“辩证的客观。”

简单来说,主题阅读就是要能面面俱到,而自己并不预设立场。当然,这是个严格的理想,一般人是没法做到的。而绝对的客观也不是人类所能做到的事。他可能可以做到不预设立场,毫无偏见地呈现出任何观点,对不同的意见也保持中立。但是采取中立比面面俱到要容易多了。在这一方面,主题阅读的读者注定会失败的。一个议题有各种不同的观点,不可能巨细靡遗地全都列出来。虽然如此,读者还是要努力一试。

...

第三篇 阅读不同读物的方法

第三篇 阅读不同读物的方法

第十三章 如何阅读实用型的书 #

在任何艺术或实务的领域中,有些规则太通用这一点是很令人扫兴的。越通用的规则就越少,这算是一个好处。而越通用的规则,也越容易理解—容易学会与使用这些规则。但是,说实在的,当你置身错综复杂的实际情况,想要援用一些规则的时候,你也会发现越通用的规则离题越远。

我们前面谈过分析阅读的规则,一般来说是适用于论说性的作品—也就是说任何一种传达知识的书。但是你不能只用一般通用的方法来读任何一本书。你可能读这本书那本书,或是任何一种特殊主题的书,可能是历史、数学、政治论文或科学研究,或是哲学及神学理论,因此,在运用以下这些规则时,你一定要有弹性,并能随时调整。幸运的是,当你开始运用这些规则时,你会慢慢感觉到这些规则是如何在不同的读物上发挥作用。

要特别提醒的是,在第十一章结尾时所说明的十五个阅读规则并不适用于阅读小说或诗集。一本虚构作品的纲要架构,与论说性的作品是完全不同的。小说、戏剧与诗并不是照着共识、主旨、论述来发展的。换句话说,这些作品的基本内容没有逻辑可言,要评论这些作品也要有不同的前提才行。然而,如果你认为阅读富有想像力的作品毫无规则可言,那也是错的。事实上,下一章我们会讨论到阅读那种作品的另一套应用规则。那些规则一方面本身就很有效,另一方面如果能检验这些规则和阅读论说性作品规则的不同之处,还可以帮助你对阅读论说性作品的规则多一层认识。

你用不着担心又要学一整套十五个或更多的阅读小说与诗的规则。你会很容易了解到这两种规则之间的关联性。其中也包括了我们一再强调的事实,你在阅读时一定要能提出问题来,尤其是四个最特殊的问题,不论在阅读什么样的书时都要能提出来。这四个问题与任何一本书都有关,不论是虚构或非虚构,不论是诗、历史、科学或哲学。我们已经知道阅读论说性作品的规则如何互相连贯,又是如何从这四个问题中发展出来的。同样的,阅读富有想像力作品的规则也是来自这四个问题,只不过这两类作品的题材不同,会造成规则上的部分差异。

因此,在这一篇里,比起阅读的规则,我们会谈更多有关这几个问题的话题。我们会偶尔提一个新规则,也会重新调整某一个旧的规则。不过大多数时候,既然我们谈的是阅读不同读物的方法,我们会强调基本要问的不同问题,以及会获得什么样的不同的回答。

在论说性作品的部分,我们谈过基本上要区分出实用性与理论性,两种作品—前者是有关行动的问题,后者只和要传递的知识有关。我们也说过,理论性的作品可以进一步划分为历史、科学(与数学)、哲学。实用性作品则没有任何界限,因此我们要进一步分析这类书的特质,并提供一些阅读时的建议指南与方法。

1.两种实用性的书 #

关于实用性的书有一件事要牢记在心:任何实用性的书都不能解决该书所关心的实际问题。一本理论性的作品可以解决自己提出的问题。但是实际的问题却只能靠行动来解决。当你的实际问题是如何赚钱谋生时,一本教你如何交朋友或影响别人的书,虽然可能建议你很多事,但却不能替你解决问题。没有任何捷径能解决这个问题,只能靠你自己去赚钱谋生才能解决。

以本书为例。这是一本实用的书,如果你对这本书的实用性(当然也可能只是理论性)感兴趣,那你就是想要解决学习阅读的问题。但除非你真的学到了,你不可能认为那些问题都解决,消失不见了。本书没法为你解决那些问题,只能帮助你而已。你必须自己进行有活力的阅读过程,不只是读这本书,还要读很多其他的书。这也是为什么老话说:只有行动能解决问题。行动只能在现世发生,而不是在书本中发生。

每个行动发生时都有特殊情况,都发生在不同的时间、地点与特殊环境中。你没法照一般的反应来行动。要立即采取行动的特殊判断力,更是极为特别。这可以用文字来表达,却几乎没见过。你很难在书中找到这样的说明,因为实用书的作者不能亲身体验读者在面临的特殊状况时,必须采取的行动。他可能试着想要帮忙,但他不能提供现场的实际建议。只有另一个置身一模一样情况的人,才能帮得上忙。

然而,实用性的书多少还是可以提供一些可以应用在同类型特殊状况中的通用规则。任何人想要使用这样的书,一定要把这些规则运用在特殊的状况下,因此一定要练习特殊的判断力才行。换句话说,读者一定要能加上一点自己的想法,才能运用在实际的状况中。他要能更了解实际状况,更有判断力,知道如何将规则应用在这样的状况中。

任何书里包含了规则—原理、准则或任何一种一般的指导—你都要认定是一本实用性的书。但是一本实用性的书所包含的不只是规则而已。它可能会说明规则底下的原理,使之浅显易懂.譬如在这本与阅读有关的特殊主题的书中,我们不断地简要阐释文法、修辞与逻辑原理,来解说阅读规则。规则底下的原理通常都很科学,换言之,属于理论性的知识。规则与原理的结合,就是事物的理论。因此,我们谈造桥的理论,也谈打桥牌的理论。我们的意思是,理论性的原则会归纳出出色的行事规则。

实用性的书因此可分为两种类型。其中一种,就像本书一样,或是烹饪书、驾驶指南,基本上都是在说明规则的。无论其中谈论到什么问题,都是为了说明规则而来的。这类书很少有伟大的作品。另一类的 实用书主要是在阐述形成规则的原理。许多伟大的经济、政治、道德巨著就属于这一类。

这样的区分并不是绝对的。在一本书中,同时可以找到原理与规 则。重点在特别强调其中哪一项。要将这两种类型区分出来并不困 难。不管是在什么领域中,谈规则的书都可以立刻认出来是实用性的。 一本谈实用原理的书,乍看之下会以为是理论性的书。从某个程度来说,的确没错。它所讨论的是一种特殊状况中的理论。无论如何,你还是看得出来它是实用性的书。它要处理的那些问题的本质会露底。这样的书所谈的总是人类行为领域中,怎样可能做得更好或更糟。

在阅读一本以规则为主的书时,要找寻的主旨当然是那些规则。 阐述这些规则通常是用命令句,而不是叙述句。那是一种命令。譬如说:“及时一针,胜过事后九针。”这样的规则也可以改为叙述式的说法:“如果你及时补上一针,就省下后来要补的九针。”两个句子都是在提示 争取时间的价值,命令式的语句比较强烈,但却不见得就比较容易记住。

无论是叙述句或命令句,你总是能认出一个规则来,因为它在建议你某件事是值得做的,而且一定会有收获。因此,要你与作者达成共识的那条命令式的阅读规则,也可以改成建议式的说法:“成功的阅读牵涉到读者与作者达成共识。”“成功”这两个字就说明了一切,意味着这种阅读是值得去做的一件事。

这类实用书的论述都是在向你表示:它们所说的规则都是确切可 行的。作者可能会用原理来说明这些规则的可信度,或是告诉你一些实例,证明这些规则是可行的。看看这两种论述,诉诸原理的论述通常比较没有说服力,但却有一个好处。比起举实例的方法,诉诸原理的论述比较能将规则的理由说明得清楚一些。

在另一种实用性书中,主要谈的是规则背后的原理。当然,其中的主旨与论述看起来就跟纯理论性的书一模一样。其中的主旨是在说明某件事的状态,而论述就是在强调真的是如此。

但是阅读这样的一本书,与阅读纯理论的书还是有很大的不同。因为要解决的问题终究是实用的问题—行动的问题,人类在什么状态下可以做得更好或更糟的问题—所以当聪明的读者看到“实用原理”这样的书时,总是能读出言外之意。他可能会看出那些虽然没有明说,但却可以由原理衍生出来的规则。他还会更进一步,找出这些规则应该如何实际应用。

除非这样阅读,否则一本实用的书便没有被实用地阅读。无法让一本实用的书被实用地阅读,就是失败的阅读。你其实并不了解这本书,当然也不可能正确地评论这本书了。如果在原理中能找到可以理解的规则,那么也就可以在由原理引导出来的规则或建议的行动中,找到实用原理的意义。

这些是你要了解任何一种实用性书籍,或是在作某种批评时的最高原则。在纯理论性的书中,相同或反对的意见是与书中所谈的真理有关。但是现实的真理与理论的真理不同。行为规则要谈得上是真理,有两种情况:一是真的有效;二是这样做能带引你到正确的结果,达到你的期望。

假设作者认为你应该寻求的正确结果,你并不以为然,那么就算他的建议听起来很完整,由于那个目标的缘故,你可能还是不会同意他的观点。你会因此而判断他的书到底实不实用。如果你不认同仔细、头脑清楚地阅读是件值得做的事情,那么纵使本书的规则真的有效,这本书对你来说还是没什么实用性。

注意这段话的意义。在评断一本理论性的书时,读者必须观察他自己与作者之间的原理与假设的一致性或差异性。在评断一本实用性的书时,所有的事都与结果及目标有关。如果你不能分享马克思对经济价值的狂热,他的经济教条与改革措施对你来说就有点虚假或无关197痛痒。譬如你可能和埃德蒙·柏克(Edmund Burke)一样,认为维持现状就是最好的策略,而且在全面考量过后,你相信还有比改变资本不平等更重要的事。你的判断主要是与结果达成共识,而非方法。就算 方法非常真实有用,如果所达到的目的是我们不关心或不期望的结果, 我们也不会有半点兴趣的。

2.说服的角色 #

以上的简单讨论,可以给你一些线索。当你在阅读任何一种实用书时,一定要问你自己两个主要的问题。第一:作者的目的是什么?第二:他建议用什么方法达到这个目的?以原理为主的书要比以规则 为主的书还要难回答这两个问题。在这些书中,目的与方法可能都不很明显。但如果你想要了解与评论实用性的书,就必须回答这两个问题。

还要提醒你的是,前面我们讨论过的实用作品的写作问题。每一本实用的书中都混杂着雄辩或宣传。我们还没读过一本政治哲学的书—无论是多理论性的,无论谈的是多么“深奥”的原理—是不是想说服读者有关“最好的政府形态”的道理。相同的,道德理论的书也想 要说服读者有关“美好生活”的道理,同时建议一些达到目标的方法。我们也一直试着要说服你照某种特定的方式来阅读一本书,以达到你可能想要追求的理解力。

你可以知道为什么实用书的作者多少都是个雄辩家或宣传家。因为你对他作品最终的评断是来自你是否接受他的结论.与他提议的方法。这完全要看作者能不能将你引导到他的结论上。要这么做,他讨论的方法必须要能打动你的心智。他可能必须激起你的情绪反应,左右你的意志。

这并没有错,也没有恶意。这正是实用书的特性,一个人必须要被 说服,以采取特定的思想与行动。实际的思考与行动除了需要理智以 外,情感也是重要的因素。没有人可以没有受到感动,却认真采取实际 评论或行动的。如果可以的话,这个世界可能会比较美好,但一定是个不同的世界。一本实用书的作者认知不到这一点,就不算成功。一位读者如果认知不到这一点,就像买了一堆货物,却不知道自己买了些什么。

不想被宣传所困惑,就得了解宣传的内容是什么。难以察觉的隐藏式雄辩是最狡猾的。那会直接打动你的心,而不经过你的头脑,就像是从背后吓你一跳,把你吓得魂不附体一样。这样的宣传手法就像是你吞了一颗药,自己却完全不知道。宣传的影响力是很神秘的,事后你并不知道自己为什么会那样感觉与思考。

一个人如果真正读懂了一本实用的书,他知道这本书的基本共识、主旨、论述是什么,就能觉察出作者的雄辩。他会觉察到某一段话是“情绪用字”。他知道自己是被说服的对象,他有办法处理这些诉求的重点。他对推销有抵抗力,但并不是百分之百的需要。对推销有抵抗力是好的,能帮你避免在匆忙又欠考虑的情况下买东西。但是,一个读者如果完全不接受所有内容的诉求,那就不必阅读实用性的书了。

另外还有一个重点。因为实用问题的特性,也因为所有实用作品中都混杂了雄辩,作者的“性格”在实用书中就比理论书中还要来得重要。你在读一本数学用书时,用不着知道作者是谁。他的理论不是好就是坏,这跟他的人格怎样一点关系也没有。但是为了要了解与评断一本道德的论述、政治论文或经济论著,你就要了解一点作者的人格、生活与时代背景。譬如在读亚里士多德的《政治学》之前,就非常需要知道希腊的社会背景是奴隶制的。同样的,在读《君主论》之前,就要知道马基雅维里当时意大利的政治情况,与他跟美第奇家族的关系。因此,在读霍布斯的《利维坦》一书时,就要了解他生活在英国的内战时期,社会中充满暴力与混乱,使整个时代都沉浸在悲哀的病态之中。

3.赞同实用书之后 #

我们确定你已经看出来了,你在读一本书时要提出的四个问题,到了读实用性的书时有了一点变化。我们就来说明一下这些变化。

第一个问题:这本书是在谈些什么?并没有改变多少。因为一本实用的书是论说性的,仍然有必要回答这个问题,并作出这本书的大纲架构。

然而,虽然读任何书都得想办法找出一个作者的问题是什么(规则四涵盖这一点),不过在读实用性的书时,格外是一个决定性的关键。我们说过,你一定要了解作者的目的是什么。换句话说,你一定要知道他想解决的问题是什么。你一定要知道他想要做些什么—因为,在实用性的书中,知道他要做的是什么,就等于是知道他想要你做的是什么。这当然是非常重要的事了。

第二个问题的变化也不大。为了要能回答关于这本书的意义或内容,你仍然要能够找出作者的共识、主旨与论述。但是,这虽然是第二阶段最后的阅读工作(规则八),现在却显得更重要了。你还记得规则八要你说出哪些是作者已经解决的问题,哪些是还没有解决的问题。在阅读实用性的书籍时,这个规则就有变化了。你要发现并了解作者所建议的、达到他目标的方法。换句话说,在阅读实用性书时,如果规则四调整为:“找出作者想要你做什么。”规则八就该调整为:“了解他要你这么做的目的。”

第三个问题:内容真实吗?比前两个改变得更多了。在理论性作品中,当你根据自己的知识来比较作者对事物的描绘与说明时,这个问题的答案便出来了。如果这本书所描述的大致与你个人的体验相似时,你就必须承认那是真实的,或至少部分是真实的。实用性的书,虽然也会与真实作比较,但最主要的却是你能不能接受作者的宗旨—他最终的目标,加上他建议的达成目标的方法—这要看你认为追求的是什么,以及什么才是最好的追求方法而定。

第四个问题:这本书与我何干?可说全部改变了。如果在阅读一本理论性的书之后,你对那个主题的观点多少有点变化了,你对一般事物的看法也就会多少有些调整。(如果你并不觉得需要调整,可能你并没有从那本书中学到什么。)但是这样的调整并不是惊天动地的改变,毕竟,这些调整并不一定需要你探取行动。

赞同一本实用性的书,却确实需要你采取行动。如果你被作者说服了,他所提议的结论是有价值的,甚至进一步相信他的方法真的能达到目的,那就很难拒绝作者对你的要求了。你会照着作者希望你做的方式来行动。

当然,我们知道这种情形并不一定会发生。但我们希望你了解的是,如果你不这样做的话,到底代表什么意思。那就表示虽然这个读者表面上同意了作者的结论,也接受了他提出来的方法,但是实际上并没有同意,也没有接受。如果他真的都同意也接受了,他没有理由不采取行动。

我们用一个例子来说明一下。如果读完本书的第二部分,你(1)同意分析阅读是值得做的。(2)接受这些阅读规则,当作是达到目标的基本要件,你会像我们现在所说的一样,开始照着阅读起来。如果你没有这么做,可能并不是你偷懒或太累了,而是你并不真的同意(1)或(2)。

在这个论述中有一个明显的例外。譬如你读了一篇文章,是关于如何做巧克力慕斯的。你喜欢巧克力慕斯,也赞同这个作者的结论是对的。你也接受了这个作者所建议的达到目标的方法—他的食谱。但你是男性读者,从不进厨房,也没做过慕斯。在这样的情况中,我们的观点是否就不成立了?

并不尽然。这正好显示出我们应该要提到的,区分各种类型实用书的重要性。某些作者提出的结论是很通用或一般性的—可供所有的人类使用—另外一些作者的结论却只有少数人能运用。如果结论是通用的—譬如像本书,所谈的是使所有人都能阅读得更好,而不是只有少数人—那么我们所讨论的便适用于每位读者。如果结论是经过筛选的,只适用于某个阶层的人,那么读者便要决定他是否属于那个阶层了。如果他属于那个阶层,这些内容就适合他应用,他多少也有义务照作者的建议采取行动。如果他不属于这个阶层,他可能就没有这样的义务。

...

第二篇 阅读的第三个层次:分析阅读

第二篇 阅读的第三个层次:分析阅读

第六章 一本书的分类 #

在本书的一开头,我们就已经说过了,这些阅读的规则适用于任何你必须读或想要读的读物。然而,在说明分析阅读,也就是这第二篇的内容中,我们却似乎要忽略这个原则。我们所谈的阅读,就算不全是,也经常只是指“书”而言。为什么呢?

答案很简单。阅读一整本书,特别是又长又难读的一本书,要面对的是一般读者很难想像,极为艰困的问题。阅读一篇短篇故事,总比读一本小说来得容易。阅读一篇文章,总比读一整本同一个主题的书籍来得轻松。但是如果你能读一本史诗或小说,你就能读一篇抒情诗或短篇故事。如果你能读一本理论的书—一本历史、哲学论述或科学理论—你就可以读同一个领域中的一篇文章或摘要。

因此,我们现在要说的阅读技巧,也可以应用在其他类型的读物上。你要了解的是,当我们提到读书的时候,所说明的阅读规则也同样适用于其他比较易于阅读的资料。虽然这些规则程度不尽相当,应用在后者身上时,有时候作用不尽相同,但是只要你拥有这些技巧,懂得应用,总可以比较轻松。

1.书籍分类的重要性 #

分析阅读的第一个规则可以这么说:规则一,你一定要知道自己在读的是哪一类书,而且要越早知道越好。最好早在你开始阅读之前就先知道。

譬如,你一定要知道,在读的到底是虚构的作品—小说、戏剧、史诗、抒情诗—还是某种论说性的书籍?几乎每个读者在看到一本虚构的小说时都会认出来,所以就会认为要分辨这些并不困难—其实不然。像《波特诺的牢骚》(Portnoy’s、Complaint),是小说还是心理分析的论著?《裸体午宴)(Naked Lunch)是小说,还是反对药物泛滥的劝导手册,像那些描述酒精的可怕,以帮助读者戒酒之类的书?《飘》(Gone With The Wind)是爱情小说,还是美国内战时期的南方历史?《大街》(Main Street)与《愤怒的葡萄))(The Grapes o f Wrath),一本都会经验,一本农村生活,到底是纯文学,还是社会学的论著?

当然,这些书都是小说,在畅销书排行榜上,都是排在小说类的。但是问这些问题并不荒谬。光是凭书名,像《大街》或《米德尔顿》,很难猜出其中写的是小说,还是社会科学论述。在当代的许多小说中,有太多社会科学的观点,而社会科学的论著中也有很多小说的影子,实在很难将二者区别开来。但是还有另一些科学—譬如物理及化学—出现在像是科幻小说《安珠玛特病毒》(The Andromeda Strain),或是罗伯特·海莱因(Robert Heinlein)、亚瑟·克拉克(Arthur C. Clarke)的书中。而像《宇宙与爱因斯坦博士》(The Universe and Dr. Einstein)这本书,明明不是小说,却几乎跟有“可读性”的小说一模一样。或许就像福克纳(William Faulkner)所说的,这样的书比其他的小说还更有可读性。

一本论说性的书的主要目的是在传达知识。“知识”在这样的书中被广泛地解说着。任何一本书,如果主要的内容是由一些观点、理论、假设、推断所组成,并且作者多少表示了这些主张是有根据的,有道理的,那这种传达知识的书,就是一本论说性(expository)的书。就跟小说一样,大多数人看到论说性的书也一眼就能辨识出来。然而,就像要分辨小说与非小说很困难一样,要区别出如此多样化的论说性书籍也并非易事。我们要知道的不只是哪一类的书带给我们指导,还要知道是用什么方法指导。历史类的书与哲学类的书,所提供的知识与启发方式就截然不同。在物理学或伦理学上,处理同一个问题的方法可能也不尽相同。更别提各个不同作者在处理这么多不同问题时所应用的各种不同方法了。

因此,分析阅读的第一个规则,虽然适用于所有的书籍,却特别适合用来阅读非小说,论说性的书。你要如何运用这个规则呢?尤其是这个规则的最后那句话?

之前我们已经建议过,一开始时,你要先检视这本书—用检视阅读先浏览一遍。你读读书名、副标题、目录,然后最少要看看作者的序言、摘要介绍及索引。如果这本书有书衣,要看看出版者的宣传文案。这些都是作者在向你传递讯号,让你知道风朝哪个方向吹。如果你不肯停、看、听,那也不是他的错。

2.从一本书的书名中你能学到什么 #

对于作者所提出的讯号视而不见的读者,比你想像中还要多得多。我们跟学生在一起,就已经一再感觉如此了。我们问他们这本书在说些什么?我们要他们用最简单的通常用语,告诉我们这本书是哪一类的书。这是很好的,也是要开始讨论一本书几乎必要的方式。但是,我们的问题,却总是很难得到任何答案。

我们举一两个这种让人困扰的例子吧!1859年,达尔文(CharlesDarwin)出版了一本很有名的书。一个世纪之后,所有的英语国家都在庆贺这本书的诞生。这本书引起无止境的争论,不论是从中学到一点东西,还是没学到多少东西的评论者,一致肯定其影响力。这本书谈论的是人类的进化,书名中有个“种"(species)字。到底这个书名在说些什么?

或许你会说那是《物种起源))(The Origin of Species),这样说你就对了。但是你也可能不会这样说,你可能会说那是《人种起源》(TheOrigin of the Species).最近我们问了一些年纪在25岁左右,受过良好教育的年轻人,到底达尔文写的是哪一本书,结果有一半以上的人说是《人种起源》。出这样的错是很明显的,他们可能从来没有读过那本书,只是猜想那是一本谈论人类种族起源的书。事实上,这本书跟这个主题只有一点点关联,甚至与此毫无关系。达尔文是在后来才又写了一本与此有关的书《人类始祖》(The Descent of Man)。《物种起源》,就像书名所说的一样,书中谈的是自然世界中,大量的植物、动物一开始是从少量的族群繁衍出来的,因此他声明了“物竞天择”的原理。我们会指出这个普遍的错误,是因为许多人以为他们知道这本书的书名,而事实上只有少之又少的人真的用心读过书名,也想过其中的含意。

再举一个例子。在这个例子中,我们不要你记住书名,但去想想其中的含意。吉朋写了一本很有名的书,而且还出名地长,是一本有关罗马帝国的书,他称这本书为《罗马帝国衰亡史》。几乎每个人拿到那本书都会认得这个书名,还有很多人即使没看到书,也知道这个书名。事实上,“衰亡”已经变成一个家喻户晓的用语了。虽然如此,当我们问到同样一批二十五岁左右,受过良好教育的年轻人,为什么第一章要叫做:《安东尼时代的帝国版图与武力》时,他们却毫无头绪。他们并没有看出整本书的书名既然叫作“衰亡史”,叙事者当然就应该从罗马帝国极盛时期开始写,一直到帝国衰亡为止。他们无意识地将“衰亡”两个字转换成“兴亡”了。他们很困惑于书中并没有提到罗马共和国,那个在安东尼之前一个半世纪就结束的时代。如果他们将标题看清楚一点,就算以前不知道,他们也可以推断安东尼时代就是罗马帝国的巅峰时期。阅读书名,换句话说,可以让阅读者在开始阅读之前,获得一些基本的资讯。但是他们不这么做,甚至更多人连不太熟悉的书也不肯看一下书名。

许多人会忽略书名或序言的原因之一是,他们认为要将手边阅读的这本书做分类是毫无必要的。他们并没有跟着分析阅读的第一个规则走。如果他们试着跟随这个规则,那就会很感激作者的帮忙。显然,作者认为,让读者知道他在写的是哪一类的书是很重要的。这也是为什么他会花那么多精神,不怕麻烦地在前言中做说明,通常也试着想要让他的书名—至少副标题—是让人能理解的。因此,爱因斯坦与英费尔德(Infeld)在他们所写的《物理之演进(The Evolution o fPhysics)一书的前言中告诉读者,他们写的是一本“科学的书,虽然很受欢迎,但却不能用读小说的方法来读”。他们还列出内容的分析表,提醒读者进一步了解他们概念中的细节。总之,列在一本书前面那些章节的标题,可以进一步放大书名的意义。

如果读者忽略了这一切,却答不出“这是一本什么样的书”的问题,那他只该责怪自己了。事实上,他只会变得越来越困惑。如果他不能回答这个问题,如果他从没问过自己这个问题,他根本就不可能回答随之而来的,关于这本书的其他问题。

阅读书名很重要,但还不够。除非你能在心中有一个分类的标准,否则世上再清楚的书名,再详尽的目录、前言,对你也没什么帮助。

如果你不知道心理学与几何学都是科学,或者,如果你不知道这两本书书名上的“原理”与“原则”是大致相同的意思(虽然一般而言不尽相同),你就不知道欧几里得(Euclid)的《几何原理》(Elements of Geometry)与威廉·詹姆斯(William James)的《心理学原理》(Principlesof Psychology)是属于同一种类的书—此外,除非你知道这两本书是不同类型的科学,否则就也无法进一步区分其间的差异性。相同的,以亚里士多德的《政治学))(The Politics)与亚当·斯密的《国富论》为例,除非你了解一个现实的问题是什么,以及到底有多少不同的现实问题,否则你就无法说出这两本书相似与相异之处。

书名有时会让书籍的分类变得比较容易一些。任何人都会知道欧几里得的《几何原理》、笛卡尔的《几何学》(Geometry)与希尔伯特(HilBert)的《几何基础)(Foundations of Geometry)都是数学的书,彼此多少和同一个主题相关。但这不是百试百中。光是从书名,也可能并不容易看出奥古斯丁的《上帝之城》(The City of God)、霍布斯的《利维坦》(Leviathan)与卢梭的《社会契约论》(Social Contract)都是政治的论述—虽然,如果仔细地阅读这三本书的章名,会发现它们都想探讨的一些共同问题。

...

第16章MySQL用户工具

第16章 MySQL用户工具

MySQL服务器发行包中并没有包含针对许多常用任务的工具,例如监控服务器或比较不同服务器间数据的工具。幸运的是,Oracle的商业版提供了一些扩展工具,并且MySQL活跃的开源社区和第三方公司也提供了一系列的工具,降低了自己“重复发明轮子”的需要。

16.1 接口工具 #

接口工具可以帮助运行查询,创建表和用户,以及执行其他日常任务等。本节将简单介绍一些用于此用途的最流行的工具。一般可以用SQL查询或命令做所有这些或其中大部分的工作——我们这里讨论的工具只是更为方便,可帮助避免错误和加快工作。

MySQL Workbench

MySQL Workbench是一个一站式的工具,可以完成例如管理服务器、写查询、开发存储过程,以及Schema设计图相关的工作。可以通过一个插件接口来编写自己的工具并集成到这个工作平台上,有一些Python脚本和库就使用了这个插件接口。MySQL Workbench有社区版和商业版两个版本,商业版只是增加了其他的一些高级特性。免费版对于大部分需要早已足够了。在 http://www.mysql.com/products/workbench/可以学到更多相关的内容。

SQLyog

SQLyog是MySQL最流行的可视化工具之一,有许多很好的特性。它与MySQL Workbench是同级别的工具,但两个工具都有一些对方没有的特性。SQLyog只能在微软的Windows下使用,拥有全部特性的版本需要付费,但有限制功能的免费版本。关于SQLyog的更多信息可以参考 http://www.webyog.com

phpMyAdmin

phpMyAdmin是一个流行的管理工具,运行在Web服务器上,并且提供基于浏览器的MySQL服务器访问接口。尽管基于浏览器的访问有时很好,但phpMyAdmin是个大而复杂的工具,曾被指责有许多安全问题。对此要格外小心。我们建议不要安装在任何可以从互联网访问的地方。更多信息请参考 http://sourceforge.net/projects/phpmyadmin/。

Adminer

Adminer是个基于浏览器的安全的轻量级管理工具,它与phpMyAdmin同类。其开发者将其定位为phpMyAdmin的更好的替代品。尽管它看起来更安全,但我们仍建议安装在任何可公开访问的地方时要谨慎。更多详情可参考 http://www.adminer.org

16.2 命令行工具集 #

MySQL包含了一些命令行工具集,例如mysqladminmysqlcheck。这些在MySQL手册上都有提及和记录。MySQL社区同样创建了大量高质量的工具包,并有很好的文档支撑这些实用工具集。

Percona Toolkit

Percona Toolkit是MySQL管理员必备的工具包。它源自Baron早期的工具包Maatkit和Aspersa,很多人认为这两个工具应该是正式的MySQL部署必须强制要求使用的。Percona Toolkit包括许多针对类似日志分析、复制完整性检测、数据同步、模式和索引分析、查询建议和数据归档目的的工具。如果刚开始接触MySQL,我们建议首先学习这些关键的工具:pt-mysql-summary、pt-table-checksum、pt-table-syncpt-query-digest。更多信息可参考 http://www.percona.com/software/。

Maatkit and Aspersa

这两个工具约从2006年以某种形式出现,两者都被认为是MySQL用户的基本工具。它们现在已经并入 Percona Toolkit。

The openark kit

Shlomi Noach的openark kit( http://code.openark.org/forge/openark-kit)包含了可以用来做一系列管理任务的Python脚本。

MySQL Workbench工具集

MySQL Workbench工具集中的某些工具可以作为单独的Python脚本使用。可参考 https://launchpad.net/mysql-utilities

除了这些工具外,还有其他一系列没有太正式包装和维护的工具。许多杰出的MySQL社区成员时不时地贡献工具,其中大多数托管在他们自己的网站或MySQL Forge(http:// forge.mysql.com)上。可以通过不时地查看Planet MySQL博客聚合器获取大量的信息( http://planet.mysql.com),但不幸的是这些工具没有一个集中的目录。

16.3 SQL实用集 #

服务器本身也内置有一系列免费的附加组件和实用集可以使用;其中一些确实相当强大。

common_schema

Shlomi Noach的common_schema项目( http://code.openark.org/forge/common_schema)是一套针对服务器脚本化和管理的强大的代码和视图。common_schema对于MySQL好比jQuery对于JavaScript。

mysql-sr-lib

Giuseppe Maxia为MySQL创建了一个存储过程的代码库,可以在* http://www.nongnu.org/mysql-sr-lib/*找到。

MySQL UDF仓库

Roland Bouman建立了一个MySQL自定义函数的收藏馆,可以在 http://www. mysqludf.org获取。

MySQL Forge

在MySQL Forge上( http://forge.mysql.com),可以找到上百个社区贡献的程序、脚本、代码片断、实用集和技巧及陷阱。

...

第15章备份与恢复

第15章 备份与恢复

如果没有提前做好备份规划,也许以后会发现已经错失了一些最佳的选择。例如,在服务器已经配置好以后,才想起应该使用LVM,以便可以获取文件系统的快照——但这时已经太迟了。在为备份配置系统参数时,可能没有注意到某些系统配置对性能有着重要影响。如果没有计划做定期的恢复演练,当真的需要恢复时,就会发现并没有那么顺利。

相对于本书的第一版和第二版来说,我们在此假设大部分用户主要使用InnoDB而不是MyISAM。在本章中,我们不会涵盖一个精心设计的备份和恢复解决方案的所有部分——而仅涉及与MySQL相关的部分。我们不打算包括的话题如下:

  • 安全(访问备份,恢复数据的权限,文件是否需要加密)。
  • 备份存储在哪里,包括它们应该离源数据多远(在一块不同的盘上,一台不同的服务器上,或离线存储),以及如何将数据从源头移动到目的地。
  • 保留策略、审计、法律要求,以及相关的条款。
  • 存储解决方案和介质,压缩,以及增量备份。
  • 存储的格式。
  • 对备份的监控和报告。
  • 存储层内置备份功能,或者其他专用设备,例如预制式文件服务器。

像这样的话题已经在许多书中涉及,例如W. Curtis Preston的Backup& Recouery ( O’Reilly)。

在开始本章之前,让我们先澄清几个核心术语。首先,经常可以听到所谓的热备份、暖备份和冷备份。人们经常使用这些词来表示一个备份的影响:例如,“热”备份不需要任何的服务停机时间。问题是对这些术语的理解因人而异。有些工具虽然在名字中使用了“热备份”,但实际上并不是我们所认为的那样。我们尽量避开这些术语,而直接说明某个特别的技术或工具对服务器的影响。

另外两个让人困惑的词是还原和恢复。在本章中它们有其特定的含义。还原意味着从备份文件中获取数据,可以加载这些文件到MySQL里,也可以将这些文件放置到MySQL期望的路径中。恢复一般意味着当某些异常发生后对一个系统或其部分的拯救。包括从备份中还原数据,以及使服务器完全恢复功能的所有必要步骤,例如重启MySQL、改变配置和预热服务器的缓存等。

在很多人的概念中,恢复仅意味着修复崩溃后损坏的表。这与恢复一个完整的服务器是不同的。存储引擎的崩溃恢复要求数据和日志文件一致。要确保数据文件中只包含已经提交的事务所做的修改,恢复操作会将日志中还没有应用到数据文件的事务重新执行。这也许是恢复过程的一部分,甚至是备份的一部分。然而,这和一个意外的DROP TABLE事故后需要做的事是不一样的。

15.1 为什么要备份 #

下面是备份非常重要的几个理由:

灾难恢复

灾难恢复是下列场景下需要做的事情:硬件故障、一个不经意的Bug导致数据损坏,或者服务器及其数据由于某些原因不可获取或无法使用等。你需要准备好应付很多问题:某人偶然连错服务器执行了一个ALTER TABLE(1)的操作,机房大楼被烧毁,恶意的黑客攻击或MySQL的Bug等。尽管遭受任何一个特殊的灾难的几率都非常低,但所有的风险叠加在一起就很有可能会碰到。

人们改变想法

不必惊讶,很多人经常会在删除某些数据后又想要恢复这些数据。

审计

有时候需要知道数据或Schema在过去的某个时间点是什么样的。例如,你也许被卷入一场法律官司,或发现了应用的一个Bug,想知道这段代码之前干了什么(有时候,仅仅依靠代码的版本控制还不够)。

测试

一个最简单的基于实际数据来测试的方法是,定期用最新的生产环境数据更新测试服务器。如果使用备份的方案就非常简单:只要把备份文件还原到测试服务器上即可。检查你的假设。例如,你认为共享虚拟主机供应商会提供MySQL服务器的备份?许多主机供应商根本不备份MySQL服务器,另外一些也仅仅在服务器运行时复制文件,这可能会创建一个损坏的没有用处的备份。

15.2 定义恢复需求 #

如果一切正常,那么永远也不需要考虑恢复。但是,一旦需要恢复,只有世界上最好的备份系统是没用的,还需要一个强大的恢复系统。

不幸的是,让备份系统平滑工作比构造良好的恢复过程和工具更容易。原因如下:

  • 备份在先。只有已经做了备份才可能恢复,因此在构建系统时,注意力自然会集中在备份上。
  • 备份由脚本和任务自动完成。经常不经意地,我们会花些时间调优备份过程。花5分钟来对备份过程做小的调整看起来并不重要,但是你是否天天同样地重视恢复呢?
  • 备份是日常任务,但恢复常常发生在危急情形下。
  • 因为安全的需要,如果正在做异地备份,可能需要对备份数据进行加密,或采取其他措施来进行保护。安全性往往只关注数据被盗用的后果,但是有没有人想过,如果没有人能对用来恢复数据的加密卷解锁,或需要从一个整块的加密文件中抽取单个文件时,损害又是多大?
  • 只有一个人来规划、设计和实施备份。当灾难袭来时,那个人可能不在。因此需要培养几个人并有计划地互为备份,这样就不会要求一个不合格的人来恢复数据。

这里有一个我们看到的真实例子:一个客户报告说当mysqldump加上-d选项后,备份变得像闪电一般快,他想知道为什么没有一个人提出该选项可以如此快地加速备份过程。如果这个客户已经尝试还原这些备份,就不难发现其原因:使用-d选项将不会备份数据!这个客户关注备份,却没有关注恢复,因此完全没有意识到这个问题。

规划备份和恢复策略时,有两个重要的需求可以帮助思考:恢复点目标(PRO)和恢复时间目标(RTO)。它们定义了可以容忍丢失多少数据,以及需要等待多久将数据恢复。在定义RPO和RTO时,先尝试回答下面几类问题:

  • 在不导致严重后果的情况下,可以容忍丢失多少数据?需要故障恢复,还是可以接受自从上次日常备份后所有的工作全部丢失?是否有法律法规的要求?
  • 恢复需要在多长时间内完成?哪种类型的宕机是可接受的?哪种影响(例如,部分服务不可用)是应用和用户可以接受的?当那些场景发生时,又该如何持续服务?
  • 需要恢复什么?常见的需求是恢复整个服务器,单个数据库,单个表,或仅仅是特定的事务或语句。

建议将上面这些问题的答案明确地用文档记录下来,同时还应该明确备份策略,以及备份过程。

备份误区1:“复制就是备份”

这是我们经常碰到的一个误区。复制不是备份,当然使用RAID阵列也不是备份。为什么这么说?可以考虑一下,如果意外地在生产库上执行了DROP DATABASE,它们是否可以帮你恢复所有的数据?RAID和复制连这个简单的测试都没法通过。它们不是备份,也不是备份的替代品。只有备份才能满足备份的要求。

15.3 设计MySQL备份方案 #

备份MySQL比看起来难。最基本的,备份仅是数据的一个副本,但是受限于应用程序的要求、MySQL的存储引擎架构,以及系统配置等因素,会让复制一份数据都变得很困难。

在深入所有选项细节之前,先来看一下我们的建议:

  • 在生产实践中,对于大数据库来说,物理备份是必需的:逻辑备份太慢并受到资源限制,从逻辑备份中恢复需要很长时间。基于快照的备份,例如Percona XtraBackup和MySQL Enterprise Backup是最好的选择。对于较小的数据库,逻辑备份可以很好地胜任。
  • 保留多个备份集。
  • 定期从逻辑备份(或者物理备份)中抽取数据进行恢复测试。
  • 保存二进制日志以用于基于故障时间点的恢复。expire_logs_days参数应该设置得足够长,至少可以从最近两次物理备份中做基于时间点的恢复,这样就可以在保持主库运行且不应用任何二进制日志的情况下创建一个备库。备份二进制日志与过期设置无关,二进制日志备份需要保存足够长的时间,以便能从最近的逻辑备份进行恢复。
  • 完全不借助备份工具本身来监控备份和备份的过程。需要另外验证备份是否正常。
  • 通过演练整个恢复过程来测试备份和恢复。测算恢复所需要的资源(CPU、磁盘空间、实际时间,以及网络带宽等)。
  • 对安全性要仔细考虑。如果有人能接触生产服务器,他是否也能访问备份服务器?反过来呢?

弄清楚RPO和RTO可以指导备份策略。是需要基于故障时间点的恢复能力,还是从昨晚的备份中恢复但会丢失此后的所有数据就足够了?如果需要基于故障时间点的恢复,可能要建立日常备份并保证所需要的二进制日志是有效的,这样才能从备份中还原,并通过重放二进制日志来恢复到想要的时间点。

...

第14章应用层优化

第14章 应用层优化

如果在提高MySQL的性能上花费太多时间,容易使视野局限于MySQL本身,而忽略了用户体验。回过头来看,也许可以意识到,或许MySQL已经足够优化,对于用户看到的响应时间而言,其所占的比重已经非常之小,此时应该关注下其他部分了。这是个很不错的观点,尤其是对DBA而言,这是很值得去做的正确的事。但如果不是MySQL,那又是什么导致了问题呢?使用第3章提到的技术,通过测量可以快速而准确地给出答案。如果能顺着应用的逻辑过程从头到尾来剖析,那么找到问题的源头一般来说并不困难。有时,尽管问题在MySQL上,也很容易在系统的另一部分得到解决。

无论问题出在哪里,都至少可以找到一个靠谱的工具来帮助进行分析,而且通常是免费的。例如,如果有JavaScript或者页面渲染的问题,可以使用包括Firefox浏览器的Firebug插件在内的调优工具,或者使用Yahoo!的YSlow工具。我们在第3章提到了几个应用层工具。一些工具甚至可以剖析整个堆栈:New Relic是一个很好的例子,它可以剖析Web应用的前端、应用以及后端。

14.1 常见问题 #

我们在应用中反复看到一些相同的问题,经常是因为人们使用了缺乏设计的现成系统或者简单开发的流行框架。虽然有时候可以通过这些框架更快更简单地构建系统,但是如果不清楚这些框架背后做了什么操作,反而会增加系统的风险。

下面是我们经常会碰到的问题清单,通过这些过程可以激发你的思维。

  • 什么东西在消耗系统中每台主机的CPU、磁盘、网络,以及内存资源?这些值是否合理?如果不合理,对应用程序做基本的检查,看什么占用了资源。配置文件通常是解决问题最简单的方式。例如,如果Apache因为创建1000个需要50MB内存的工作进程而导致内存溢出,就可以配置应用程序少使用一些Apache工作进程。也可以配置每个进程少使用一些内存。
  • 应用真的需要所有获取到的数据吗?获取1000行数据但只显示10行,而丢弃剩下的990行,这是常见的错误。(如果应用程序缓存了另外的990行备用,这也许是有意的优化。)
  • 应用在处理本应由数据库处理的事情吗,或者反过来?这里有两个例子,从表中获取所有的行在应用中进行统计计数,或者在数据库中执行复杂的字符串操作。数据库擅长统计计数,而应用擅长正则表达式。要善于使用正确的工具来完成任务。
  • 应用执行了太多的查询?ORM宣称的把程序员从写SQL中解放出来的语句接口通常是罪魁祸首。数据库服务器为从多个表匹配数据做了很多优化,因此应用程序完全可以删掉多余的嵌套循环,而使用数据库的关联来代替。
  • 应用执行的查询太少了?好吧,上面只说了执行太多SQL可能成为问题。但是,有时候让应用来做“手工关联”以及类似的操作也可能是个好主意。因为它们允许更细的粒度控制和更有效的使用缓存,以及更少的锁争用,甚至有时应用代码里模拟的哈希关联会更快(MySQL的嵌套循环的关联方法并不总是高效的)。
  • 应用创建了没必要的MySQL连接吗?如果可以从缓存中获得数据,就不要再连接数据库。
  • 应用对一个MySQL实例创建连接的次数太多了吗(也许因为应用的不同部分打开了它们自己的连接)?通常来说更好的办法是重用相同的连接。
  • 应用做了太多的“垃圾”查询?一个常见的例子是发送查询前先发送一个ping命令看数据库是否存活,或者每次执行SQL前选择需要的数据库。总是连接到一个特定的数据库并使用完整的表名也许是更好的方法。(这也使得从日志或者通过SHOW PROCESSLIST看SQL更容易了,因为执行日志中的SQL语句的时候不用再切换到特定的数据库,数据库名已经包含在SQL语句中了。)“预备(Preparing)”连接是另一个常见问题。Java驱动在预备期间会做大量的操作,其中大部分可以禁用。另一个常见的垃圾查询是SET NAMES UTF8,这是一个错误的方法(它不会改变客户端库的字符集,只会影响服务器的设置)。如果应用在大部分情况使用特定的字符集工作,可以修改配置文件把特定字符集设为默认值,而不需要在每次执行时去做修改。
  • 应用使用了连接池吗?这既可能是好事,也可能是坏事。连接池可以帮助限制总的连接数,有大量SQL执行的时候效果不错(Ajax应用是一个典型的例子)。然而,连接池也可能有一些副作用,比如说应用的事务、临时表、连接相关的配置项,以及用户自定义变量之间相互干扰等。
  • 应用是否使用长连接?这可能导致太多连接。通常来说长连接不是个好主意,除非网络环境很慢导致创建连接的开销很大,或者连接只被一或两个很快的SQL使用,或者连接频率很高导致客户端本地端口不够用。如果MySQL的配置正确,也许就不需要长连接了。比如使用skip-name-resolve来避免DNS反向查询,确保 thread_cache足够大,并且增加back_log。可以参考第8章和第9章得到更多的细节。
  • 应用是否在不使用的时候还保持连接打开?如果是这样,尤其是连接到很多服务器时,可能会过多地消耗其他进程所需要的连接。例如,假设你连接到10个MySQL服务器。从一个Apache进程中获取10个连接不是问题,但是任意时刻其中只有1个在真正工作。其他9个大部分时间都处于Sleep状态。如果其中一台服务器变慢了,或者有一个很长的网络请求,其他的服务器就可能因为连接数过多受到影响。解决方案是控制应用怎么使用连接。例如,可以将操作批量地依次发送到每个MySQL实例,并且在下一次执行SQL前关闭每个连接。如果执行的是比较消耗时间的操作,例如调用Web服务接口,甚至可以先关闭MySQL连接,执行耗时的工作,再重新打开MySQL连接继续在数据库上工作。

长连接和连接池的区别可能使人困惑。长连接可能跟连接池有同样的副作用,因为重用的连接在这两种情况下都是有状态的。

然而,连接池通常不会导致服务器连接过多,因为它们会在进程间排队和共享连接。另一方面,长连接是在每个进程基础上创建,不会在进程间共享。

连接池也比共享连接的方式对连接策略有更强的控制力。连接池可以配置为自动扩展,但是通常的实践经验是,当遇到连接池完全占满时,应该将连接请求进行排队而不是扩展连接池。这样做可以在应用服务器上进行排队等待,而不是将压力传递到MySQL数据库服务器上导致连接数太多而过载。

有很多方法可以使得查询和连接更快,但是一般的规则是,如果能够直接避免进行查询和连接,肯定比努力提升查询和连接的性能能获得更好的优化结果。

14.2 Web服务器问题 #

Apache是最流行的Web应用服务器软件。它在许多情况下都运行良好,但如果使用不当也会消耗大量的资源。最常见的问题是保持它的进程的存活(alive)时间过长,或者在各种不同的用途下混合使用,而不是分别对不同类型的工作进行优化。

Apache通常是通过prefork配置来使用mod_php、mod_perl和mod_python模块的。prefork模式会为每个请求预分配进程。因为PHP、Perl和Python脚本是可以定制化的,每个进程使用50MB或100MB内存的情况并不少见。当一个请求完成后,会释放大部分内存给操作系统,但并不是全部。Apache会保持进程处于打开状态以备后来的请求重用。这意味着,如果下一个请求是请求静态文件,比如一个CSS文件或者一张图片,就会出现用一个占用内存很多的进程来为一个很小的请求服务的情况。这就是使用Apache作为通用Web服务器很危险的原因。它的确是为通用目的而设计的,但如果能够有针对性地使用其长处,会获得更好的性能。

另一个主要的问题是,如果开启了Keep-Alive设置,进程可能很长时间处于繁忙状态。当然,即使没有开启Keep-Alive,某些进程也可能存活很久,“填鸭式”地将内容传给客户端可能导致获取数据很慢(1)。

人们常犯的另外一个错误,就是保持那些Apache默认开启的模块不动。

最好能够精简Apache的模块,移除掉那些不需要的。这很简单:只需要检查Apache的配置文件,注释掉不想要的模块,然后重启Apache就行。也可以在php.ini文件中删除不使用的PHP模块。

最差情况是,如果用一个通用目的的Apache配置直接用于Web服务,最后很可能产生很多重量级的Apache进程。这将浪费Web服务器的资源。它们还可能保持大量MySQL连接,浪费MySQL的资源。下面是一些可以降低服务器负载的方法(2)。

不要使用Apache来做静态内容服务,或者至少和动态服务使用不同的Apache实例。流行的替代品有Nginx( http://www.nginx.com)和lighttpd http://www.lighttpd.net)。

  • 使用缓存代理服务器,比如Squid或者Varnish,防止所有的请求都到达Web服务器。这个层面即使不能缓存所有页面,也可以缓存大部分页面,并且使用像ESI(Edge Side Includes,参见 http://www.esi.org)这样的技术来将部分页面中的小块的动态内容嵌入到静态缓存部分。
  • 对动态和静态资源都设置过期策略。可以使用Squid这样的缓存代理显式地使内容过期。维基百科就使用了这个技术来清理缓存中变更过的文章。

有时也许还需要修改应用程序,以便得到更长的过期时间。例如,如果你告诉浏览器永久缓存CSS和JavaScript文件,然后对站点的HTML做了一个修改,这个页面渲染将会出问题。这种情况可以为文件的每个版本设定唯一的文件名。例如,你可以定制网站的发布脚本,复制CSS文件到*/css/123_frontpage.css*,这里的123就是版本管理器中的版本号。对图片文件的文件名也可以这么做——永不重用文件名,这样页面就不会在升级时出问题,浏览器缓存多久的文件都没问题。

  • 不要让Apache填鸭式地服务客户端,这不仅仅会导致慢,也会导致DDoS攻击变得简单。硬件负载均衡器通常可以做缓冲,所以Apache可以快速地完成,让负载均衡器通过缓存响应客户端的请求,也可以在应用服务器前端使用Nginx、Squid或者事件驱动模式下的Apache。
  • 打开gzip压缩。对于现在的CPU而言这样做的代价很小,但是可以节省大部分流量。如果想节省CPU周期,可以使用缓存,或者诸如Nginx这样的轻量级服务器保存压缩过的页面版本。
  • 不要为用于长距离连接的Apache配置启用Keep-Alive选项,因为这会使得重量级的Apache进程存活很长时间。可以用服务器端的代理来处理保持连接的工作,从而防止Apache被客户端拖垮。配置Apache到代理之间的连接使用Keep-Alive是可以的,因为代理只会使用很少的Apache连接去获取数据。图14-1展示了这个区别。

图14-1:代理可以使Apache不被长连接拖垮,产生更少的Apache工作进程。

这些策略可以使Apache进程存活时间变得很短,所以会有比实际需求更多的进程。无论如何,有些操作依然可能导致Apache进程存活时间太长,并且占用大量资源。举个例子,一个请求查询延时非常大的外部资源,例如远程的Web服务,就会出现Apache进程存活时间太长的问题。这种问题通常是无解的。

14.2.1 寻找最优并发度 #

每个Web服务器都有一个最佳并发度——就是说,让进程处理请求尽可能快,并且不超过系统负载的最优的并发连接数。这就是我们在第11章说的最大系统容量。进行一个简单的测量和建模,或者只是反复试验,就可以找到这个“神奇的数”,为此花一些时间是值得的。

对于大流量的网站,Web服务器同一时刻处理上千个连接是很常见的。然而,只有一小部分连接需要进程实时处理。其他的可能是读请求,处理文件上传,填鸭式服务内容,或者只是等待客户端的下一步请求。

随着并发的增加,服务器会逐渐到达它的最大吞吐量。在这之后,吞吐量通常开始降低。更重要的是,响应时间(延迟)也会因为排队而开始增加。

为什么会这样呢?试想,如果服务器只有一个CPU,同时接收到了100个请求,会发生什么事情呢?假设CPU每秒能够处理一个请求。即便理想情况下操作系统没有调度的开销,也没有上下文切换的成本,那100个请求也需要CPU花费整整100s才能完成。

处理请求的最好方法是什么?可以将其一个个地排到队列中,也可以并行地执行并在不同请求之间切换,每次切换都给每个请求相同的服务时间。在这两种情况下,吞吐量都是每秒处理一个请求。然而,如果使用队列(并发=1),平均延时是50s,如果是并发执行(并发=100)则是100s。在实践中,并发执行会使平均延时更高,主要是因为上下文切换的代价。

对于CPU密集型工作负载,最佳并发度等于CPU数量(或者CPU核数)。然而,进程并不总是处于可运行状态的,因为会有一些阻塞式请求,例如I/O、数据库查询,以及网络请求。因此,最佳并发度通常会比CPU数量高一些。

可以预测最优并发度,但是这需要精确的分析。尝试不同的并发值,看看在不增加响应时间的情况下的最大吞吐量是多少,或者测量真正的工作负载并且进行分析,这通常更容易。Percona Toolkit的pt-tcp-model工具可以帮助从TCP转储中测量和建模分析系统的可扩展性和性能特性。

14.3 缓存 #

缓存对高负载应用来说是至关重要的。一个典型的Web应用程序会提供大量的内容,直接生成这些内容的成本比采用缓存要高得多(包含检查和缓存超时的开销),所以采用缓存通常可以获得数量级的性能提升。诀窍是找到正确的粒度和缓存过期策略组合。另外也需要决定哪些内容适合缓存,缓存在哪里。

...

附录-附表-后记

附录 #

西周金文“初吉”之研究 #

一、传统解说难于否定

西周行用朔望月历制,朔与望至关重要。朔称初吉、月吉,或称吉,又叫既死霸(取全是背光面之义,死霸指背光面),或叫朔月。这种种名称,反映了周人对月相的重视以及朔日在历制中的特殊地位。

传统的解说,初吉即朔。

《诗·小明》“正月初吉”,毛传:初吉,朔日也。

《国语·周语》“自今至于初吉”,韦昭注初吉:二月朔日也。

《周礼》“月吉则属民而读邦法”,郑注月吉:每月朔日也。

《论语》“吉月必朝服而朝”,孔曰:吉月,月朔也。

《诗·十月之交》“朔月辛卯”,唐石经作“朔日辛卯”。

《礼记·祭义》:“朔月月半,君巡牲。”

《礼记·玉藻》“朔月大牢”,陈澔《礼记集说》:朔月,月朔也。

日本竹添光鸿《毛诗会笺》云:古人朔日称朔月。《仪礼》《礼记》皆有朔月之文。《尚书》或称元日、上日而不曰朔日。即望亦但曰月几望或既望而不曰望日,故知经文定当以朔月为是也。凡月朔皆称朔月。《论语》亦以月吉为吉月。古人多倒语,犹《书》之“月正元日”乃正月元日也。

《周礼》“正月之吉”,郑注:吉谓朔日。

《周礼》“及四时之孟月吉日”,郑注:四孟之月朔日。

郑玄作为两汉经学之集大成者,对朔为吉日的认识是十分明确的,或称月吉,或称吉日,或称吉,都肯定了朔为吉日这一点。

朔即月初一,故称初吉,亦属自然,这与望为吉日亦相对应。朔望月历制,朔为吉日,望亦为吉日。《易·归妹》“月几望,吉”可证。

毛传释初吉为朔日,韦昭注《国语》“初吉”为朔日,反映古人对“初吉”的正确认识。

尤其当注意的是,初吉为朔的解说,两千年来没有任何一位严肃的学者持有异议。

我们没有理由不尊重文献。应当说,传统对于初吉的解说是难于否定的,是不容否定的。

二、朔望月历制

西周是明白无误的朔望月历制,绝对不是什么“朏为月首”。

我们从载籍文字中可以找到若干证据:

《周礼·大史》“掌建邦之六典,以逆邦国之治。……正岁年以序事,颁之于官府及都鄙。(郑注:中数曰岁,朔数曰年。中朔大小不齐,正之以闰若今时历日矣。定四时,以次序授民时之事。)颁告朔于邦国。(郑注:天子班朔于诸侯,诸侯藏之于祖庙。至朔,朝于庙,告而受行之。郑司农云,以十二月朔布告天下诸侯。)”

这里的告朔之制,当然也包括西周一代。依郑玄说,岁指回归年长度(阳历),年指十二个朔望月长度(阴历),两者不一致,添加闰月来协调,这就是周代的阴阳合历体制。

西周一代,“保章氏掌天星以志星辰日月之变动”,强调天象的观察与记录;“冯相氏掌十有二岁,十有二月,十有二辰”(《周礼》),侧重在历术的推求。

《礼记·玉藻》:“天子听朔于南门之外。闰月则阖门左扉,立于其中。”陈澔《集说》引“方氏曰:天子听朔于南门,示受之于天。诸侯听朔于太庙,示受之于祖。原其所自也”。

历术是皇权的象征,掌握在周天子手中,天子于南门从冯相氏得每年十二个月朔的安排,然后颁朔于诸侯,诸侯藏之祖庙。至朔,朝于庙(即“听朔于太庙”),告而受行之。历术推求的依据是天象,所以“示受之于天”,“原其所自也”。

《逸周书·史记解》“朔望以闻”,是记周穆王时事。朔望月历制是明明白白的。

《礼记·祭义》“朔月月半,君巡牲”,这当然是说,初一与十五,人君巡视之。这难道不是朔望月的明证?

《吕氏春秋》保存了先秦的若干旧说,上至三皇五帝,史料价值不可忽视。《贵因》载:“夫审天者,察列星而知四时,因也。推历者视月行而知晦朔,因也。”

视月行,就是月相的观察。干什么?确定晦朔而已。很明白,观察月相就是为了确定一年十二个月朔的干支,以“颁告朔于邦国”。

《逸周书·宝典解》“维王三祀二月丙辰朔”,历日清清楚楚。过去说此篇是记武王的。事实上,历日唯合成王亲政三年,《宝典解》反映了西周初期朔望月历制。《逸周书》成书于西周以后,而这个历日当是前朝的实录,绝不是后人的伪造或推加。这是“朏为月首”说无法作出解释的。

《汉书·世经》云:“古文《月采》篇曰‘三日曰朏’。”师古注:《月采》,说月之光采,其书则亡。——这也许是记录月相的专著,可惜我们已不能见到了。刘歆是见过的,他持定点说当有充分依据。《月采》明确朏是初三。“朏为月首”是没有依据的。

大量出土的西周器物证实,西周历制是朔望月而不是“朏为月首”。

《作册令方彝》:隹八月辰在甲申……丁亥……;隹十月月吉癸未……甲申……乙酉……”“辰在××”是周人表达朔日的一种固定格式,出土器物已有二十余例,校比天象无一不是朔日。推比历朔知:八月甲申朔,初四丁亥;九月甲寅朔(或癸丑朔);十月癸未朔,甲申初二,乙酉初三。“月吉癸未”即朔日癸未,与文献记载亦相吻合。《令方彝》的八月、十月,中间无闰月可插,一个月就只有一个朔日即一个月吉,这怎么能“说明西周时代每个月都可能有若干个吉日”呢?

西周金文记载初吉尤多,初吉即朔,也只能证明西周是朔望月制而不是“朏为月首”。

常识告诉我们,历术是关于年月日的协调。日因于太阳出没,白昼黑夜,是计时的基本单位;年以太阳的回归年长度为依据,表现为寒来暑往,草木荣枯,《尧典》“期三百有六旬有六日,以闰月定四时成岁”;而月亮的隐现圆缺,只能靠肉眼观察。西周制历,尚未找到年月日的调配规律,只能随时观察随时置闰,一年十二个月朔的确定也靠“观月行”。这就是西周人频频记录月相的缘由。

日与年易于感知,观象授时的主要内容是观察月相,两望之间必朔,两朔之间必望,朔望月也是不难掌握的。何况司历专职,勤劬观察,不会将初一说成初二,更不会说成初三。肉眼观察的失朔限度也只在半日之内。

董作宾先生以为,知道日食就会知道朔,知道月食就会知道望。朔望月历制当追溯到殷商。

持“朏为月首”说者以为,“朔”字在西周后期才出现,猜想西周前期当是“朏为月首”。殊不知,殷商后期以来,朔望的概念十分明确,表达朔日的词语甚多,初吉为朔,既死霸为朔,月吉(吉月)为朔,“辰在××”为朔,并非一定要用“朔”字不可。

西周一代,未找到协调年月日的规律,月相的观察就显得特别重要,文献以及出土器物有关月相的记载也就特别的多。到了春秋中期以后,十九年七闰已很明确,连大月设置也逐渐有了规律,朔日的推演已不为难事。所以,鲁文公“四不视朔”,“子贡欲去告朔之饩羊”,不仅证实西周以来的告朔礼制已经走向衰败没落,还反映出四分术的推演已为司历者大体掌握。历术已由观象授时上升到推步制历,已从室外观月步入室内推算。这样,月相的观察与记录自然就不那么重要了。这就是春秋以后,作为月相的“既死霸”“既生霸”“既望”在金文中基本消失的原因。

三、初吉即朔

西周金文大量使用“初吉”,凡可考知的,无一不是朔日。

有的器铭,年、月、月相、日干支俱全,校比天象,十分方便。利用张培瑜先生《中国先秦史历表》,便可一目了然。

例1,攸从鼎:隹卅又一年三月初吉壬辰。(郭沫若:《两周金文辞大系图录考释》,下简称《大系录》,118)

校比公元前848年厉王三十一年天象,丑正,三月壬辰朔。

例2,无其簋:隹十又三年正月初吉壬寅。(《大系录》107)

校比公元前829年共和十三年天象,丑正,正月壬寅朔。

例3,虢季子白盘:隹王十有二年,正月初吉丁亥。(《大系录》88)

校比公元前816年宣王十二年天象,子正,正月丁亥朔(定朔戊子03h49m,合朔在后半夜,失朔不到四小时)。

例4,叔尃父:隹王元年六月初吉丁亥。(《考古》65.9)

校比公元前770年平王元年天象,丑正六月丁亥朔(定朔戊子02h01m,失朔仅两小时)。

厉王以前的若干铜器,因王年尚无共识的结论,仅举几例说明。

例5,谏簋:隹五年三月初吉庚寅。(《大系录》101)

校比公元前889年夷王五年天象,丑正,三月庚寅朔。

例6,王臣簋:隹二年三月初吉庚寅。(《文物》80.5)

校比公元前915年懿王二年天象,丑正,三月庚寅朔。

例7,柞钟:隹王三年四月初吉甲寅。(《文物》61.7)

校比公元前914年懿王三年天象,丑正,四月甲寅朔。此器与王臣簋历日前后连贯,丝毫不乱,列为同一王世之器,更可证初吉即朔。

总之,初吉即朔,这是金文历日明确记载的,绝不是泛指某月中的任何一日。

四、关于静簋

刘雨先生在《再论金文“初吉”》(《中国文物报》,1997-04-20)中把静簋历日作为立论的主要依据,以此否定初吉为朔,这就有必要重点讨论了。

刘先生说:西周金文中……只有静簋记有两个“初吉”,而且相距不到三个月,没有历律和年代等未知因素干扰,是西周金文中最能说明“初吉”性质的珍贵资料。——这就是他为什么特别重视静簋的原因。

过去我将静簋视为厉王三十五年器,“六月初吉丁卯”合公元前844年天象,“八月初吉庚寅”合公元前843年天象,两个初吉间隔一年,与何幼琦先生的认识暗合。刘雨先生此文给我以启发,两初吉确实当为一年之内的两初吉,不必间隔一年。不过,两初吉的解说都当指朔日,而不是泛指某月中任何一日。

排比静簋历朔知:六月丁卯朔,七月当丙申朔(或丁酉朔),八月丙寅朔。

...

第6讲-第7讲

第六讲四分历的应用 #

四分历法是观象授时高度发展的产物,古人制定四分历法就是为了取代观象授时,服务于人类社会的生产和生活,这是毫无疑义的。因此,年代学的基础课题就是掌握四分历法,用它来推算上古历点,为解决有关的学术问题服务。特别是近代,出土文物越来越多,古史古事的考订,都需要我们确定其年代及月日。我们依据四分历法仍可以求得密近的实际天象,解决其中的疑难。这正是文史工作者学习古天文历法的目的之一。

一、应用四分历的原则 #

明确了殷历甲寅元(即《历术甲子篇》)创制于公元前427年,就可以将四分历在实际考证中普遍应用,推算古代典籍及出土的地下器物所载的历点,并在推算中验证殷历甲寅元的正确性。

四分历是战国初期创制并行用,大体到三国时期的蜀汉废止。如果将四分历广泛应用,必须明确几个问题。

第一,殷历甲寅元一经创制行用,就成为中华民族的共同财富,通行于当时各国。战国纷争,诸侯力征,不统于王,各国用历也标新立异,所以后人总认为“战国时代各国历法不同”。这只看到了问题的表象。四分历于战国初期行用,这一法则在当时就是不可改变的了。各国用历虽花样繁多,名号各殊,或岁首不同,或建正有异,都只能在四分历法则内改头换面,实质不变也变不了。我们用四分历推算有关历点,是掌握了一个普遍的原则,所得结果自然不会有误。

战国时代,各国是否一致行用四分历法呢?

不难明白,历法不是产生于某国某君某人之手,而是历代星历家血汗的结晶。可能经过某些君王(比如魏文侯)的提倡归功于某些星历家(比如楚人甘德、魏人石申)的勤劬。但历法一旦创制就不可能为某国某君所垄断,必然普施于华夏人民足迹之所至。谁会舍先进的历法不用而去吃观象授时的苦头?且战国初期,朝秦暮楚的士大夫比比皆是,历法一经行用自然不受国界的约束。因此四分历必能普施于战国时期各诸侯国。

再说,经商周至战国初年,干支纪年已千百年不紊,各国都使用一个共同的干支日历,月球的朔望又人人可见,日与月的一致自不待言。有这样一个共同的月历、日历作为基础,历法普施于战国才有可能。

从现有文献资料看,《孟子》所记时令与《楚辞》所记,仅只是岁首不同而已。据《孟子》载:“七八月之间雨集,沟浍皆盈”(《孟子·离娄下》);又“七八月之间旱则苗槁矣,天油然作云沛然下雨,则苗浡然兴之矣”(《孟子·梁惠王上》)。讲的是下暴雨。我国山东一带下暴雨的时间,当是夏历五、六月。因《孟子》一书的用历是取建子为正,所以与建寅为正的夏历有两月之差,究其实则是指同一天象,《孟子》用的也是四分历。

据《楚辞·怀沙》载:“滔滔孟夏兮,草木莽莽。”孟夏即四月,草木繁茂,与建寅为正的夏历合。又《楚辞·抽思》:“望孟夏之短夜兮,何晦明之若岁。”讲初夏昼长夜短明显起来,正合夏历。

秦用四分历,从《史记·秦本纪》中也有反映:“(昭襄王)四十八年十月韩献垣雍。……正月兵罢复守上党,其十月五大夫陵攻赵邯郸。又四十九年正月益发卒佐陵。陵战不善,免,王龁代将,其十月将军张唐攻魏。”此两处,先记秦十月、正月,再记“其十月”(它的十月)。因为兵入赵魏之地,故用赵魏之月序记。足证秦与赵魏同用四分历,只不过秦以十月为岁首,三晋用夏正罢了。

燕国僻远,用历无考,以理推之,密近三晋。一句话,《历术甲子篇》通用于七国,战国时代实际全用四分历。

由于齐鲁建子为正,秦历又建亥为首,与楚、晋各异,似乎战国有多种历法了,这便给“三正论”者以生事的机会,造成后世的惑乱。

战国用历原本四分术,然而为什么名目如此繁多呢?

首先,列强出于政治斗争的需要,在用历上往往变换一些手法,以示与周王朝分庭抗礼,尽管都用四分历却有意标新立异,独树一帜。

其次,自封为王,欲兼天下,必然要利用“君权神授”的观念,这就是历志上“改正朔,易服色”的记载,用以表明“受命于天”,从而威天下而揽民心。

再次,托古作伪以自重,也是列强君王惯用的手法。四分历创制之初,就曾伪称“成汤用事十三年”把创立之功归于前代圣王。秦历托名“颛顼”,也同样出于托古自重。战国时代所谓“周历”“夏历”,莫不如此。汉代有“古六历”之说(黄帝历、颛顼历、夏历、殷历、周历、鲁历),那虽是后人的附会,实际也可见托古作伪的痕迹。

战国用历从表现形式看,或建正不同(齐鲁建子为正,秦楚三晋建寅为正),或岁首不同(齐以子月为岁首,楚三晋以寅月为岁首,秦以十月为岁首),或历名不同(秦称颛顼历,以别于殷历),如此而已。而其所宗之“法”,也都为四分术。在当时的条件下四分历的周密与完整是无法取代的。

这种种名目,却给“三正论”制造者以可乘之机。按照“三正论”者对“周正建子、殷正建丑、夏正建寅”的解释,夏、商、周三代使用了不同的历法,即夏代之历以寅月为正,殷代之历以丑月为正,周朝之历以子月为正。夏商周三朝迭相替代,故“改正朔”以示“受命于天”。秦王迷于“三正论”,继周之后以十月为岁首,也有绍续前朝,秉天所命之意。实际上,四分历产生之前,还只是观象授时,根本不存在完整的行用于夏时之夏历,行用于殷商时代之殷历,行用于西周之周历,所谓夏历、殷历、周历,纯然是后人的概念。

懂得了战国用历的实质,排除“三正论”的干扰,就可以运用四分历进行具体历点的推算。

第二,四分历取岁实36514日,与实际回归年长度必有误差,307年盈一日。如果将一日化为940分,940÷307=3.06(分/年),即每年有3.06分的误差。这样,以公元前427年四分历行用之时为基点,在它以后的年份每年有+3.06分的误差,在它以前的年份,每年有-3.06分的误差。因此,在推算实际天象时,公元前427年之前的年份,每年要加3.06分;公元前427年之后的年份,每年要减3.06分。这就是前加后减的原则。只有这样,才能得出密近的实际天象。3.06分就是推求实际天象的改正值。

在四分历行用的年代,由于时人不了解这个误差,自然不可能将误差计算进去。所以,典籍中总有历法与天象不符的记载,汉初“日食在晦”的文字就属此类。我们在考究战国至汉末这段时期的历点时,除了顾及朝代交接和改历等重大问题外,应用四分历进行推算时,不必使用“前加后减”的原则。因为追求实际天象除了验证朔望,反而与实际用历相违。实际用历还不知道这个3.06分。

第三,公元前427年之前的年份,仍可用四分历推算月日。公元前427年之前,未行用四分历法,还是观象授时阶段。但月相在天,有目共睹,干支纪日从殷商时代已延续不断,人皆遵用。这就构成了历法推算的基础。前代学者依据《春秋》所载月日干支,编制出春秋时代的历谱。张汝舟先生《西周经朔谱》《春秋经朔谱》就立足于殷历的朔闰,取密近的实际天象,将古代文献所记这两个时期的年、月、日一一归队入谱,贯穿解说,对前人之误见逐次加以澄清。因此,“两谱”既是对两周文献纪日的研究成果,也是广大文史工作者研究两周文史的极好工具。

要之,编定历谱或考释历点,都得以《历术甲子篇》为依据,将四分历普遍地应用于文史研究工作中。

二、失闰与失朔 #

年、月、日能够有规律地进行调配的真正历法(四分历)产生于战国初期,有历法之前都还是观象授时。观象授时就是制历。制历的主要内容就是告朔和置闰两件大事。告朔是定每月朔日的干支,朔日干支一经确定,其余日序自有干支。置闰是定节气,一年之气,冬至最要紧。冬至一经确定,闰与不闰及全年月序就自然清楚。

在观象授时阶段,告朔就全凭月相。古人凭月相告朔,承大月二日朏,月牙初见,承小月三日朏,月牙初见(见《说文》)。同理,承大月十五日望,月满圆,承小月十六日望,月满圆。月相分明,只在一天。

在观象授时阶段,置闰须观斗柄所指方位,观二十八宿中天位置,验之气象、物象,加以土圭测影。随着长年的经验积累,观测仪器的精当,测定气节的准确程度必然逐有提高。前已述及,到春秋中期,十九年七闰的规律就已完全掌握了。

四分历的回归年长度定为36514日,且使用平朔、平气,所以失闰,特别是失朔还不能完全避免。更何况春秋、西周还处在观象授时的时代,失闰与失朔当是屡见不鲜的。比如,实际是乙丑朔,因为分数小,司历定为甲子朔。如果乙丑分数大,司历定为丙寅朔。这叫失朔。

失闰,说得确切些,就是失气。实际是子月初冬至,司历错到亥月末,亥月就成了岁首(建亥)。冬至若在下旬,司历错到丑月,丑月就成了岁首(建丑)。失闰由失气而起,我们还叫失闰。

失朔,失闰,《春秋》有宝贵资料。例如,昭公十五年经朔:

子月大,己未623分合朔

丑月小,己丑182分合朔

寅月大,戊午681分合朔

卯月大,戊子240分合朔

辰月大,丁巳740分合朔

……

《春秋》载:“二月癸酉,有事于武宫。”“六月丁巳朔,日有食之。”以此二条验谱,己未朔,癸酉乃十五日,子月实《春秋》所书“二月”。“六月丁巳朔”正合辰月。这一年必是建亥为正,子月顺次定为“二月”,辰月顺次定为“六月”,全合。大量材料证实,春秋后期建子为正,现在正月到了亥月,这就是失闰之铁证。

将一部《春秋》进行研究,可以发现:

隐、桓、庄、闵共63年49年建丑,8年建寅,6年建子;

僖、文、宣、成共87年58年建子,16年建丑,13年建亥。

这说明,前四公,即春秋前期,建丑为正,建子、建寅都算失闰,而没有建亥的。后四公,即春秋后期,建子为正,建亥、建丑都算失闰,而没有建寅的。这又说明,失闰不会超过一个月。按平气计算,一般失闰都在半月之内,只有周幽王六年失闰十七天(据《诗经·十月之交》所给历点推算)。

《春秋》记37次日食,有5个书月日不书朔。《左传》认为“史失之”,未免武断。因为食不在朔,所以《公羊传》云“或失之前,或失之后”,是正确的。失朔一般在半天之内,只有鲁文公元年“二月癸亥,日有食之”,失朔508分,超过半天(一日940分)。

为什么要掌握一个失闰限、失朔限呢?这是应用四分历推演经朔考订古籍古器历点必须遵循的准则。如果历点与实际天象所确定的朔、闰相差甚远,失闰超过一月,失朔超过一天,就宁可存疑也断不可硬套,去企求得出一个相合的结论。如果没有一个失闰、失朔限,古器物上的历点就可左右逢源,安在哪一年都会大致相符。记有历点的出土文物,一到专家的手里,考证出的结论往往大相径庭,其道理就在这里。可见,确定失闰限、失朔限是多么重要。它提醒你,要严谨,不可信口雌黄。

有没有“再失闰”的情况?古籍中确有记载。《汉书·律历志》载,襄公二十七年“九月乙亥朔,是建申之月也。鲁史书:‘十二月乙亥朔,日有食之。’传曰:‘冬十一月乙亥朔,日有食之,於是辰在申,司历过也,再失闰矣。’言时实行以为十一月也,不察其建,不考之于天也”。

《春秋》经文杜注:“今长历推为十一月朔,非十二月。传曰辰在申,再失闰。若是十二月,则为三失闰,故知经误。”

《左传》杜注:“谓斗建指申,周十一月今之九月,斗当建戌而在申,故知再失闰也。文十一年三月甲子至今七十一岁应有二十六闰,今长历推得二十四闰,通计少再闰。释例言之详矣。”

杜预这两条注,将《春秋》经传所记,辨析明白,断定经误传是。传文“再失闰”是可信的。杜以自编《经传长历》验证,确为“再失闰”。《汉书·律历志》解释说,当时是记为十一月的,这种“再失闰”是不观察斗柄所指,不考之于天象的原因。可见,观象授时阶段失闰是不足为怪的,但已不可能在春秋时代出现“再失闰”的怪现象。

如果用《历术甲子篇》推演,襄公二十七年(公元前546年)朔闰如次。

是年入辛卯蔀(蔀余27)第三十四年。

太初三十四年:前大余四十八,小余五百五十二先天+364分

子月朔己卯552分916己卯十五

丑月朔己酉111分475己酉 四十五

寅月朔戊寅610分34 己卯 十五

卯月朔戊申169分533戊申 四十四

辰月朔丁丑668分92 戊寅 十四

巳月朔丁未227分591丁未 四十三

...

第4讲-第5讲

第四讲二十四节气 #

古代劳动人民在认识自然、改造自然的过程中,创造了先进的耕作制度,形成了精耕细作的优良传统,推动了农业生产不断发展。在漫长的岁月中,对与农业生产紧密相关的农业气象条件,进行过精细的观察、深入的研究,逐步形成了二十四节气,概括了黄河中下游地区农业气候特征。它利用简要的两个字,把这一地区的日地关系、气候特点以及相应的农事活动恰当地表达出来。可以说,二十四节气是古代天文、气候和农业生产实践最成功的结合,从古到今都起着一种简明而又切合农业生产需要的农事历的作用。

二十四节气一旦形成,劳动人民就因时、因地加以发展,它的应用就不仅仅局限于黄河中下游地区了,而是逐步推广到全国各地,几乎渗透到我们这个农业大国的各个领域,甚至涉及人们的衣食住行。所以,对依据古代天文而形成的这样一部农事历——二十四节气进行一番研究,就是很有必要的了。

一、先民定时令 #

有了年、月、日的时间概念,并不等于就能得心应手地安排好时令。汉枚乘诗:“野人无历日,鸟啼知四时。”讲的是当时的“野人”,亦可想见先民的时令观念。《后汉书·乌桓鲜卑传》云“见鸟兽孳乳,以别四节”,道理亦同。《魏书》卷一百一讲到宕昌羌族“俗无文字,但候草木荣枯,记其岁时”。宋代洪皓《松漠纪闻》亦云:“女真……其民皆不知记年,问之则曰我见草青几度矣。盖以草青为一岁也。”据此推知,先民的时令,最早主要是靠物象——动植物的表象来确定的。

《山海经》记载了先民观察太阳升落位置以定季节的材料。《大荒东经》上记有六座日出之山:

东海之外,大荒之中,有山名曰大言,日月所出。

大荒之中,有山名曰合虚,日月所出。

大荒之中,有山名曰明星,日月所出。

大荒之中,有山名曰鞠陵,于天东极离瞀,日月所出。

大荒之中,有山名曰猗天苏门,日月所出。

大荒之中,有山名曰壑明俊疾,日月所出。

《大荒西经》上记有六座日入之山:

西海之外,大荒之中,有方山者,上有青树,名曰柜格之松,日月所出入也。

大荒之中,有山名曰丰沮玉门,日月所入。

大荒之中,有龙山,日月所入。

大荒之中,有山名曰日月山,天枢也。吴姖天门,日月所入。

大荒之中,有山名曰鏖鏊钜,日月所入者。

大荒之中,有山名曰常阳之山,日月所入。

大荒之中,有山名曰大荒之山,日月所入。

这是在不同季节、不同月份,观察到的太阳出山入山的不同位置。这种观察方法同观察鸟啼、鸟兽孳乳、草木荣枯的方法一样,是凭着经验,凭着目睹耳闻的感受,其粗疏是自不待言的。因为观察者的地域毕竟狭小,局限性很大,以此定季节势必误差很大。

观察太阳运行的另一种方法是观察日影长度的变化。最早当是利用自然的影长,进一步发展就是人为的立竿测影。

太阳视运动的轨迹无法在天空中标示,反映到地面上就是事物的投影。高山、土阜、树木、房舍,晴日白昼都会留下或长或短的影子。《吕氏春秋》“审堂下之阴,而知日月之行,阴阳之变”,就是这个意思。根据这些影子的长短可以判明时间的早晚,有经验的老人往往判断得十分精确,这无疑是依靠长期的经验积累。

如果要有意测影以确定时令,这得人为地在平地上立一根规定长度的竿子,把它的影子在地面上标示出来。这根竿子就是“表”,《周髀算经》中称之为“髀”。“表”的影子,古字写作“景”。这就是土圭测景。

从出土的甲骨文中考察殷商文化,可以明白地看到,殷商时代测定方向、时刻都已比较准确。卜辞中将一天的时刻分为:明(旦)、大采、大食、中日、昃、小食、小采、暮等时间段落。甲骨文中的“昃”字,就是人侧影的象形。作为时段,日侧之时为昃。发掘出的殷代宫殿基址是南北方向的,其方向所指与今天的指南针方向无异。这种方向的确定及中日、昃等时刻的测定,显然和观测日影紧密相关。

这都说明,殷商时代已有了早期的圭表。实践证明,通过长期测日影的实践就会认识到冬至、夏至、春分、秋分。甲骨卜辞中,有一些文字很可能就是至日的记录。

有了圭表,就能够比较准确地确定分、至,就可以对闰月的设置(闰在岁末)加以规律化的安排。所以,推知殷商之历应该比较规整,岁首应该比较固定,误差不会大于一个月。有人统计了记有月名的“今何月雨”“田”,其他农事季节及其他天文气象卜辞,证明了殷代月名和季节基本上已有了固定关系。《尧典》“期三百有六旬有六日,以闰月定四时成岁”的记载,大体符合这个时代的情况。

二、土圭测景 #

日影的长短与寒暑变化有关,这是先民积累的生活常识。要准确地测量寒来暑往的季节变化,很自然地就产生了立竿测影的方法。这是用最简易的天文仪器来研究历法、确定时令,是天文学发展的一次飞跃。

立竿测影又称土圭测景、圭表测景。表是直立的竿子,圭是平放在地上的玉版。《说文》云:“圭,瑞玉也。上圆下方。”日影长短就从平放的圭上显示出来。土,度也,测量的意思。土圭,就是度圭,测量圭上日影的长短以定时令。远在周代,“表”就规定为八尺,已有了长度标准。《周礼·考工记》云:“土圭尺有五寸,以致日,以土地。”致是推算义,土是量度义。土圭长一尺五,来推算节气日期,量度土地远近。《周礼·夏官司马》云:“土方氏,掌土圭之法以致日景。以土地相宅而建邦国都鄙。”注曰:土方氏,主四方邦国之土地。可见,周代已有人家来掌管土圭测景了。

《周礼·地官大司徒》云:“日至之影,尺有五寸。”这是说,夏至时,圭上影子有一尺五寸长。这样看来,圭长一尺五寸就远远不够了。《周礼·春官冯相氏》郑玄注云:“冬至,日在牵牛,景丈三尺;夏至,日在东井,景尺五寸。此长短之极,极则气至。冬无潜阳,夏无伏阴。春分,日在娄;秋分,日在角;而月弦于牵牛东井,亦以其景知气至不。春秋冬夏气皆至,则是四时之叙正矣。”圭有多长?当在一丈三尺以上。

根据《史记》记载,圭表测景当更早在传说中的黄帝时代。《史记·历书》“索隐”说:“黄帝使羲和占日,常仪占月,臾区占星气,伶纶造律品,大挠造甲子,隶首作算数,容成综此六术而著调历也。”不仅有专门测定日影的专家,并在测量日、月、星有关数据的基础上,利用甲子推算,创制时历。《尚书·尧典》“期三百有六旬有六日,以闰月定四时成岁”,可看作是远古时代测量日、月、星而后制历的发展。这就是以岁实366日为基本数据的我国有文字记载的最早的阴阳历。

制历调历是一件神圣的工作,《尧典》说“允厘百工,庶绩咸熙”,起到一个信治百官、兴起众功的作用。正因为这样,圭表测景就不可能是民间百姓的事,只能在天子或君王旨意下由专职官员负责进行。周代的测景遗址——周公测景台还保留在今天河南登封告成镇(古称阳城)这个地方。

阳城地处中原,物产丰富,文化发达。周公想迁都中原,视阳城为“地中”,居天下九州中心的意思。《周礼·地官大司徒》云:“以土圭之法测土深,正日景,以求地中。日南则景短,多暑。日北则景长,多寒。日东则景夕,多风。日西则景朝,多阴。日至之景,尺有五寸,谓之地中。天地之所和也,四时之所交也,风雨之所会也,阴阳之所合也。然则百物阜安,乃建王国焉。”如此详细地叙述求地中的方法,“地中”地理位置如此重要,占尽地理之便。这就是周公为迁都造下的舆论。实际上,所谓地中,是指当时国土南北的中心线而已。

告成镇的周公测景台,有一个高耸的测量台,相当于一个坚固的“表”,平铺于地面的是“量天尺”,也就是一个放大了的石“圭”。现今遗留的测景台,元代初建,明代重修。重修的测景台是正南正北走向,高出圭面8.5米,下面的圭长30.3米。

从周公在这里主持测景后,历代都在这里进行过测量,至今还有公元724年唐代所立的石“表”,上面刻有“周公测景台”五字。

三、冬至点的测定 #

我国古代以冬至作为一个天文年度的起算点,冬至的时刻确定得准不准,关系着全年节气的预报。古代天文学家的一项重要任务就是测定准确的冬至时刻。测出两次冬至时刻,就能得到一年的时间长度。这样定出的年,就是回归年,古代称为“岁实”。《后汉书·律历志》说:“日发其端,周而为岁,然其景不复。四周,千四百六十一日而景复初,是则日行之终。以周除日,得三百六十五四分日之一,为岁之日数。”四分历的岁实36514日就是这样测出来的,这是利用冬至日正午日影长度四年之后变化一周这一实测得出的数据。这样的数据,四年之后误差积累才有0.0312日,即不到45分钟。这已是测得很精确的了。可以认为,过四年后,冬至日正午影长大体复回到最初的长度。

下面介绍祖冲之测刘宋武帝(刘骏)大明五年(公元461年)十一月冬至时刻的方法。文载《宋书·历志》。

十月十日影一丈七寸七分半

十月十日影长10.7750尺

十一月二十五日一丈八寸一分太

十一月二十五日影长10.8175尺

二十六日一丈七寸五分强

二十六日影长10.7508尺

折取其中,则中天冬至

冬至应在十月十日与十一月二十五日之间

应在十一月三日

正中那一天,即十一月三日

求其早晚

求冬至时刻在早晚什么时候

令后二日影相减,则一日差率也

一日差率=10.8175-10.7508=0.0667

倍之为法

法=0.0667×2=0.1334

前二日减,以百刻乘之为实

实=(10.8175-10.7750)×100刻=4.25刻

以法除实,得冬至加时,在夜半后三十一刻

冬至时刻=实÷法=4.25÷0.1334=31.86

因为十月十日和十一月二十五日正午之间的中点是在十一月三日的子夜,冬至时刻从子夜起算。又,古历计算中通常不进位,故31.86刻记为31刻。又,“太”即34;“强”即112。

不难看出,在只有圭表测影的时代,祖冲之测定冬至时刻的方法确实是大大进步了。

前已提到,冬至点是指冬至时太阳在恒星间的位置,现代天文学是以赤经、赤纬来表示,我国古代是以距离二十八宿距星的赤经差(称入宿度)来表示。四分历明确记载,冬至点在牵牛初度。冬至点这个数据如何测定,没有留下任何文字记录。《左传》上有两次“日南至”的记载:一是僖公五年“春王正月辛亥朔,日南至”;一是昭公二十年“春王二月己丑,日南至”。说明鲁僖公时代有过日南至的观测,可是没有留下如何观测的记录。唐代僧一行(张遂)在《大衍历议·日度议》提到,古代测定太阳位置的方法是测定昏旦时刻的中星,由此可以推算出夜半时刻中星的位置,在它相对的地方就是夜半时刻太阳的位置。这是间接推求冬至点的方法。《大衍历议》也提到,后来采用直接测量夜半时刻中星的办法。这就要求漏刻(计时工具)有比较稳定的精确度。利用太阳日行一度的规律,求出某日夜半时刻太阳在星空间的位置,就不难求得冬至时刻太阳所在位置,即冬至点的位置。

...