化学出身的计算机达人

2009/08/30 | 12:06 | 分类:学习随感 | 标签: | 3,843次阅读

  昨天的 Beijing Open Party 上,我听了段炼同学介绍 GWT 的主题。上个月认识他时,我还误以为他是北理工新闻中心专职摄影的段炼老师,但他的真实身份却是华东理工大学制药工程专业的学生,计算机只是其“业余爱好”。段炼的 ID“chemhack”不禁让我猜想他是不是有像刘未鹏的“mindhacks”那样的风范。听了他的演讲、看了他的 blog,发现他确实是一个有 hack 精神的人。
  这是我认识的又一位从事化学相关领域的计算机高手。本科玩计算机博弈时,我认识了复旦大学化学系毕业的黄晨,他是象棋百科全书网站和象棋巫师软件的作者,UCCI 协议的制定者。后来参加中国机器博弈锦标赛时,我又有幸见到了中国电脑围棋的先行者、中山大学化学系退休的陈志行教授(陈老先生已于 2008 年不幸病故)。他研制的《手谈》软件曾多次在国际赛事中夺冠,商业版本也畅销于日本等国。在我决定读研之前,曾想了解一下科研生活,师兄推荐给我的是名曰“学术科研第一站”,实为化学相关专业主导的小木虫论坛,这个论坛也让我收益不少。在中科院研究生院集中教学期间,我又在计算机专业的课堂上认识了多位外专业的同学,他们有冶金化学的、化工自动化的、过程工程的,选择计算机类课程或出于实验室工作的需要,或出于个人兴趣。
  为什么会有这么多化学相关专业的朋友涉足了计算机领域呢?个人兴趣之外,或许最主要的因素是化学的很多研究需要以计算机作为海量数据采集、存储、分析、处理的工具。化学领域作为数据库、数据挖掘、网格计算等技术的重要应用,受益于计算机技术的发展,同时也对通过其复杂的需求引导着计算基础设施及算法的改进与发展。如今化学信息学的引入就是要用计算机来解决化学信息存储与检索的子问题。但除了这些技术上的因素,计算机和化学有没有本质上的相通呢?计算机是公认的人造科学、技术科学,而化学一般被认为是自然科学,尽管它也包含了一些技术科学和工程技术领域的分支。但我的初中、高中化学老师都给我灌输过这种思想:化学只是一系列模型,方便描述自然现象的,有些概念并不反映真实的存在;还说中学化学讲的都是早期的经典模型,为了解释新的现象,模型总在不断修补。我的大学同学,爱好电子、物理与计算机的 m100 则直接认定“化学是骗人的”。但我想,无论化学家们的科学信仰和主观意愿如何,化学和计算机科学在客观呈现上有两点是共通的:一是抽象建模,二是实用主义。计算机中只有线性的指令流和数据流,人们用结构化编程语言和文件系统的抽象将它们变得易于理解和使用;同样化学元素也不是什么微观物质,但化学家可以用这一抽象来表示特定原子组成,构建宏观世界到微观世界的桥梁,便于统一研究物质的性质。这种方法论上的相似或许是化学专业的朋友们乐于钻研计算机的原因之一。
  学术的火花往往都是在交叉领域中迸发的,黄晨的《电脑象棋和量子化学——计算量子化学的新思路》(黄晨网站原文无法找到,请看 google 到的转载结果)就是一例有益的探索。做计算机的人,不要耻笑个别外专业人员写的蹩脚的代码,也不要不屑于倾听外行对计算机技术看似幼稚的见解。内行最容易犯的毛病就是被既有知识的“框框”限制住,多看看外行在本领域的工作,听听他们大胆的思路,也许就能为自己的科研创新另辟蹊径。

对“为人民计算”的几点思考

2009/06/30 | 23:30 | 分类:计算机科学与编程 | 标签: | 2,646次阅读

对“为人民计算”的几点思考

(本文为本人“先进计算机和软件技术系列讲座”课程作业)

 
  “为人民计算”(Computing for the Masses)是近年来计算机科学技术和产业发展的目标之一。而究竟什么是“为人民计算”,出于国情、技术水平和个人认识的差异,不少学者提出过不同的理解。我国人口众多,农村人口占56%(国家统计局2007年10月数据),城乡经济和区域发展尚不协调,正处于信息化带动工业化的发展时期。在这种历史条件下,如何使得信息化的成果真正惠及人民,实现计算机行业所谓“普惠计算”的目标,是业界出于其社会责任感有必要思考的一个问题。针对我的导师徐志伟研究员在“为人民计算”方面的提出的一些观点,我浅谈一下我对几个相关问题的思考。
对“为人民计算”的几点思考
 
  消费动机不在信息化本身
  在受益于信息化且面向大众服务的行业当中,近几年来增长较为显著的是移动通信产业。中国的移动电话用户数量由1999年底的4330万户发展到2009年中期的6.87亿户。城市手机用户已经趋于饱和,但运营商对农村移动通信市场仍有信心。移动通信之所以得到了市场的认可,与其明确的消费目的息息相关。绝大多数消费者购买手机,其基本动机就是为了享受通信的便利;对于相当一些职业的人士,实时的通信可能已经不是“方便”而是“必须”。对于农村新市场的开拓,其难点可能在经济方面,而不在于人民对手机的基本功能和作用的认知。类似的案例还有银行卡。截至2009年6月,全国累计发行银行卡18.88亿张,银行卡的主要用户也分布在城市,农村和欠发达地区受制于经济条件和消费意识,对银行卡产品也许有所误解,但这不能说明银行卡本身的定位有问题,至少它们的功能是相对单一和明确的,满足了人民群众的特定需求。
  然而,计算机与网络技术对人民大众来说,其直接的消费目的性并不如移动通信、银行卡那样显而易见。在目前阶段,计算机与网络更多地扮演着工具和桥梁的角色。购买计算机、接入互联网,并不能直接解决什么具体问题,计算机和网络解决的问题是通过运行在其上的应用体现出来的。“上网”、“获得信息”、“学习”都是一些相对抽象的动机,不能直接满足低端用户具体一项生活需求。因此在商业化推广中,这些空虚的目标可能不会对低端消费者产生太大的吸引力。即便通过财政支持来发展信息化,这些成果也很可能沦落为地方政绩的象征或闲人娱乐的工具,对生产生活不会有实质的影响。要在2040年建成惠及至少12亿人的信息化社会,我认为不能把民用计算机、网络定位为移动通信那种具有明显消费目的性的产品,而必须改变现有中低端计算机和网络相关产品或服务的社会定位,在应用层面寻找“为人民计算”的突破口。
  信息化被作为工具的现状令很多从业者,特别是计算机科学研究人员不满:业界不愿意让信息技术变成像楼宇保洁一样必不可少但几乎不能创造价值的服务业,学界不也甘心计算机科学停滞不前,最终被其它学科以工具和技术的名义吞并。上世纪末本世纪初,网格计算的理念曾十分风行,研究人员力图建立一种像电网一样即插即得的信息基础设施,但至今网格技术只在部分专业研究领域发挥了功效,而那种惠及全民的“Great Glocal Grid”还未见雏形。其中主要的原因,我认为是信息资源缺乏像电力资源那样的同质性,抛开技术层面的因素,难以同质化的信息本身就使得潜在的用户无法建立明确的消费动机。但信息的同质化正是一个值得研究的科学问题,这个问题的解决,将使得计算机、网络由独立的工具进化为信息基础设施的地位。我们需要这样的基础设施在社会的后台像电网一样默默无闻地“为人民计算”,而用来明确消费动机、创造商业价值、进而构建信息社会的,不是计算机和网络的实体,而是这一基础设施之上的、像家用电器一样的、但目前尚未被发明的具体应用。
 
  比“脱贫”更难的是“第二跳”
  目前我国大多数人口仍处于“信息贫困线”以下,“脱贫”是产业界、学术界和决策层正在着力解决的问题。“脱贫”的方向相对明确。对于产业界,主要需要考虑机器生产和网络运营的成本,让计算机和网络对所有人来说由奢侈品变成日用品;对于学术界,需要摒弃一味追求性能的老路,从功耗、易用性等贴近用户的角度考虑体系结构的设计;决策层则需要提供政策扶持,对相关产业采取优惠措施,对人民群众加以合理引导。但我认为有可能出现困难的,并不在于“脱贫”的“第一跳”,而在于由基本价值向商品价值提升的“第二跳”。
  还是以银行卡为例,我国银行卡发行数量虽然已经超过人口总量,但真正用卡的人群并不大,相当一部分银行卡是通过任务摊派的方式进入低端市场的,这些卡大都成了没有任何交易记录的“死卡”。即使是使用银行卡的人,他们中的多数也只享受了其商品价值,把它当作一张可以自助取款的存折,从未使用甚至从未听说过银行卡所关联的高级金融服务。
  纵观我国计算机网络用户,其层次分化较为明显。IT界的精英人士、具有探索精神的专业人士早已享受到了信息产业的泛在价值、专业价值乃至个性价值,他们甚至可以在软件开发商与网络运营商尚未提供相关服务的情况下发扬自主创新的DIY精神,主动地让信息化为自己创造价值。而目前数目最庞大的用户群是将计算机、网络作为工具的人群,他们虽然享受了信息化带来的基本价值和商品价值,但只是在工作和生活中为了特定的目的有意去使用计算机和网络,计算机和网络更多地作为间接、高效实现传统生产模式价值的途径,而不是直接为这些用户提供新的价值。在农村和欠发达地区也有一定数量的计算机、网络用户,网吧是他们接触信息化成果的主要场所。这些用户缺乏自主探索的意识,他们通常使用仅仅使用网吧预置的网站、软件与游戏。即使是这些地区的一些官员,对信息产业的理解也有可能过于狭隘,甚至可能因为未成年人沉迷网游等问题对计算机、网络建立负面的印象,进而抵制信息化进程。然而要达到“普惠计算”的目标,必须把这类人群作为未来市场的潜在用户。目前我国的信息化还没有像工业化那样彻底地改变大多数人的生活方式;在相当一部分地区,工业化的成果甚至还没有全面应用到生产中,在这些地区谈信息化的价值,确实不容易为当地政府和人民大众所接受。单纯的基础设施建设所带来的基本价值就像提供给毫无养殖经验的农户的良种牲畜,他们只能一吃了之,不懂得通过繁殖子代、获取副产品来增值。既然信息化带动工业化已经是中国特色的跨越式发展模式,我们就应该在“脱贫”的同时完成“第二跳”的工作,提供一系列能够直接服务于生产、生活的应用。只有完成“第二跳”,信息化才不再是软硬件堆叠的花架子,其价值才能使个人用户受益。如何让人民群众真正从“为人民计算”中得到实惠,让计算机科学的成果成为人民群众喜闻乐见的事物,而不是像银行卡市场那样徒有虚名,这才是比信息“脱贫”更重要的任务。
 
  对“计算透镜”半保守半超前的认识
  Richard M. Karp提出的“计算透镜”(Computational Lens)理念被认为是未来二十年计算机科学可能的发展方向之一。其核心理念是将计算作为一种通用的思维方式,通过这种广义的计算(涉及信息、执行算法、关注复杂度)来描述各类自然过程和社会过程,从而解决各个学科的问题。Karp给出了计算透镜理论在生物科学中的成功应用。这一理论试图将计算机科学由最初的数值计算工具、仿真与可视化技术以及后来基于网络、面向多学科的e-Science平台,变成普遍适用于自然和社会领域的通用思维模式。从这一点上看,计算透镜的思路也似乎是要将计算机从传统的“为军事计算”、“为科学计算”、“为商业计算”过渡到“为人民计算”、“为人类计算”,只是这一思维工具并不一定直接为人民所使用,而是要借助学界和业界之手将计算透镜带来的好处通过生产力的发展来施惠与人。
  世界真的可以用计算过程来表达吗?在初次接触到计算透镜的概念时,我首先想到的是近代机械唯物主义的自然观,试图用力学和机械的观点来解释并分析自然与社会现象。进而联想到了人工智能发展史上的符号主义、连接主义和行为主义等学派的基本观点,它们都力图用一种简单的形式化模型来解释智慧和思维。计算透镜是不是在走这些老路呢?我个人感觉,在图灵机模型和现行的可计算性理论本身是否符合自然规律尚未被证实的前提下,不要指望计算透镜能在短期内给一般大众的工作和生活带来什么影响。但对计算透镜的研究是有意义的,其意义可能不在于用计算改造自然,而在于更好地认识自然,从而改造现有的计算模型,使之能够像一些自然过程一样高效。也许到那个时候,人、机、物界限因为思维方式的统一而变得模糊,“为人民计算”的理念演化为对人类思维能力的直接扩展,届时作为中介的信息化工具、应用可能反而变得不重要了。
  回到现实,这方面已经存在的一些问题需要引起我们的关注。计算透镜理论中包含“社会计算”。尽管社会计算的概念目前还没有精确的定义,无论是用计算机的方法研究社会还是用社会学的方法研究计算机,统统被一些机构打上了“社会计算”的标签。从“社会”二字可以看出,这一计算的执行也并非人民的个体可以完成的,要做到社会计算,仍需要掌握着社会数据和社会决策权的机构来完成。但在法治完善程度赶不上技术发展速度的情况下,如何保证社会计算的成果真正服务于民,成为“为人民计算”的理念与实践需要面对的一个重要的非技术问题。例如当前舆情计算技术的发展确实为政府机关提供了迅速准确的决策支持,但一些社会团体对舆情计算中的个人隐私保护问题仍存在争议,认为这对网民存在侵权。舆情计算技术还被某些搜索引擎公司或网络公关公司所利用,通过推送正面信息、屏蔽负面评价的方式从不法商家手中谋利,直接侵害了消费者的知情权,损害了市场的公平竞争。从这一点可以看出,“为人民计算”不是一两个新理论、新技术就可以实现的,它需要完善的法治框架、良好的业界环境,以及官、产、学、研各方对人民利益高度负责的态度。
 
  总之,我心中的“为人民计算”应该是由有价值的应用所导向的、带来明确消费动机的、架构在信息基础设施之上的信息化发展模式。它应该像电网和电器一样易用,让人民受益的同时却感觉不到信息基础设施的存在;它应该突破城乡与区域差异,惠及全民,为信息化带动工业化带来历史契机;它应该兼顾可用性、保密性与可控性,在具有社会负责感的机构的运营下真正代表人民群众的利益。
 
参考文献
[1] 徐志伟.为人民计算的三个问题.中国计算机学会通讯,2008(10).
[2] 江泽民.新时期我国信息技术产业的发展.上海交通大学学报,2008(10).
[3] 李国杰.创新求索录.电子工业出版社,2008.
[4] Richard M. Karp. Computer Science as a Lens on the Sciences. ICDCS 2008.

有关计算机专业,答网友的一幅图

2009/02/10 | 22:35 | 分类:学习随感 | 标签: | 2,661次阅读

  jfsmtsh网友问我“计算机的知识梯形结构”,我就发一幅不久前与大一学生交流时做的图作为解答吧。这只是我作为一个计算机专业本科毕业生的一点理解,肯定有缺陷和不足。还望你深入了解,听取多方面意见,找到适合自己的方向。

有关计算机专业,答网友的一幅图
发件人 blog

阅读我们的学科——计算机专业学习浅谈:四、理性思辨,体味计算机哲学

2007/03/10 | 19:47 | 分类:学习随感 | 标签: | 2,410次阅读

阅读我们的学科——计算机专业学习浅谈
(北理计算机学院新闻社《九歌》专栏文章)

四、理性思辨,体味计算机哲学

  Bill Gates对计算机事业充满激情——“每天早晨醒来,一想到所从事的工作和所开发的技术将会给人类生活带来的巨大影响和变化,我就会无比兴奋和激动。”自由软件运动的精神领袖Richard Stallman几十年如一日,将打破知识垄断、共享人类智慧作为己任,带领着数以万计的软件志愿者推动着开源世界的发展。但并非每个计算机业者都能有 Gates那样豪迈的气度和Stallman那种坚定的信仰,计算机及其相关技术对于大多数业者来说仅仅是兴趣爱好或者谋生的工具。计算机行业半个多世纪以来形成了其独有的文化氛围,作为一名计算机专业学生,了解专业文化,体味专业哲学,对于学习和从业都是具有指导意义的。

  首先必须承认,计算机世界中存在着形形色色的意识理念差异。诸如微软帝国与开源世界的明争暗斗,不仅仅是一场商战,更多的是两种哲学的搏击。当代大学生多数是在微软Windows光环照耀下认识计算机的。在这种环境下,多接触一些开源世界的事物,对于理解计算机的本质不无裨益。《共创未来:打造自由软件神话》(《Free for All: How Linux and the Free Software Movement Undercut the High-Tech Titans》,中文版,上海科技教育出版社)是一本讲述开源世界发展史的书,你可以从中了解自由软件运动及其领袖人物的传奇故事,从而对GNU、 Linux、OpenSource这些概念蕴生人性化的理解。清华大学王垠的《完全用GNU/Linux工作,摈弃Windows——你我共勉》、兰州大学黄平的《自由,你忘记了吗?》等长篇文章则是国人对开源运动的慷慨陈辞。尽管这些文章常常被指为“偏激”,但没有调查就没有发言权,无论支持还是反对,客观的认识是第一位的。

  其次,我们应该用平和的心态对待知识与技术,衡准专业学习在生活中的位置。一些同学出于种种原因,成为了“先进技术”的追随者:通晓各类流行的编程语言,一有新版本的工具推出立即安装学习,一有新的技术论战立即关注其走向。还有一些同学成为了某些技术的忠实信徒:看准了Java就对.NET的东西置之不理。这些追随者和信徒们往往为突飞猛进的技术所累,以至于有感于学习的空虚。过分追捧技术可谓舍本逐末,死扣某一知识也显得目光短浅。一方面百变的技术离不开计算机科学的本源,在实践过程中深入理解基础知识是关键;另一方面任何技术都有统领其实现细节的思想精髓,观其形不如知其神。我们不妨甩开冗繁的技术,换个角度静下心来读几部计算机文化与哲学作品:

  程序人生方面:《编程之道》(《The Tao of Programming》,双语版,电子工业出版社)一书出自一位对东方道家与禅宗思想有着独特理解的美国软件工程师之手,全书由一则则短小而富有哲理故事组成,以类似寓言的形式生动地反映了程序员群体的生活以及计算机文明的演进。闲暇时随手翻阅,即使不能立刻体会到每个故事的真谛,但随着自身阅历的增长,相信你会领悟程序人生的“道法自然”。

  设计理念方面:开源软件界的“斗士”级元老Eric Raymond所著的《Unix编程艺术》(《The Art of Unix Programming》,中文版,电子工业出版社)一书,以Unix系统的设计原则为主线,展示了Unix所开启的“KISS”(Keep It Simple, Stupid!)编程文化与思维方式。对于很多干啃千篇一律的课本、禁锢于Windows开发的计算机专业学生来说,这本书一定能够使你眼界大开——“结构化”并非真理,“面向对象”也不是王道;而对于有一定Unix/Linux使用或开发经验的同学,这本书也一定会使你豁然明朗——原来一个程序的设计竟可以如此精巧!

  管理哲学方面:对于有志于软件工程,想涉足项目管理的同学,《人月神话》(《The Mythical Man-Month》,中文版,清华大学出版社)这本书就有必要读一读了。它拿真实案例说事,仿佛一部实例化的软件工程课本。如果你在团队开发的道路上陷入了困境,不如参考一下前辈们是如何处理“人”与“月”二者之矛盾的吧。事实上不仅是软件工程,任何事业的成功,往往技术不是关键,社会科学的因素才是埋头技术的朋友们更应当关注的。

  归根结底,计算机的哲学依旧是人的哲学。抛开理念之争议,超越技术的形式,以人为本地认识我们的行业与自身的地位,或许会使将来的发展道路走得更舒心一些。

阅读我们的学科——计算机专业学习浅谈:三、运筹帷幄,掌握编程的思想

2006/12/06 | 12:45 | 分类:学习随感 | 标签: | 2,921次阅读

阅读我们的学科——计算机专业学习浅谈
(北理计算机学院新闻社《九歌》专栏文章)

三、运筹帷幄,掌握编程的思想

  程序设计与开发是计算机学习的一个关键环节,编程能力是衡量一名计算机专业人员素质的重要考核点。这是因为程序是连接理论与实践的纽带,是计算机科学与计算机技术相交融的领域。作为一名计算机专业学生,我们一方面有别于其它专业将计算机作为工具的应用型人才,不能仅仅利用计算机,而要为他人利用计算机提供平台;另一方面我们暂时达不到计算机科学家的水平,不能做出理论研究成果,但能为理论学习铺垫实践基础。因此,只有具备足够的程序设计与开发能力,才能真正体现我们的智慧,同时充分发挥计算机的潜力。

  学习编程,首先应掌握至少一门程序设计语言。C语言作为一种语法清晰、功能强大、应用广泛的高级语言,长期以来被国内大多数高校的定为程序设计必修课。全面理解和掌握C语言的脉络的重要意义这里毋庸多言。市面上C语言的教程多如牛毛,但最经典的当数C语言的设计者Kernighan与Ritchie 合著的权威白皮书——《C程序设计语言(第2版)》(《The C Programming Language》,中文版,机械工业出版社)。书虽不厚,但绝对全面而准确。其语言简洁,例证通俗,实用性强。相比之下国内的一些C语言教材在学习曲线可能比前者平滑,但它们往往以考试为导向,过多地纠缠语法死角,同时大都未遵从ANSI标准。对于计算机专业学生来说,前者能够让我们看到更加严谨与实务的态度。当你的语言功底达到一定程度后,就需要从一个更高的视角来探察语言的本质,不妨看看这本:《计算机程序的构造和解释(第2版)》(《Structure and Interpretation of Computer Programs》,中文版,机械工业出版社)。它阐述了编程语言本身的机制与实现,同时引入了一门对于大多数中国学生来说不甚了解的语言——LISP。 LISP是很多美国高校计算机专业的入门语言,也是一种结构上与C、Pascal、Java、Basic等完全不同的非冯·诺依曼语言。研读SICP,体味LISP,给你耳目一新的感觉之后更多地可以加深对编程思想本质的理解。

  大学的各类程序设计与开发课程旨在培养我们两方面的能力——算法设计能力与应用开发能力。前者偏重计算机科学,后者偏重计算机技术。算法是用计算机思维解决现实问题的理论,具有较强的数学性。算法学的旷世巨著应数Knuth的《计算机程序设计艺术》(《The Art of Computer Programming》,中文版,清华、机工、国防等出版社皆有授权),不过要彻底读懂这个大部头需要相当的数学理论基础与编程实践经验积累。对于初学者,建议首先培养使用常规算法解决小规模问题的能力,并行地提高驾驭语言的水平与抽象问题的思维。针对这个目的,结合程序设计实践一类的课程,可以读读这几本书:《编程珠玑(第2版)》(《Programming Pearls》,中文版,中国电力出版社)、《程序设计实践》(《The Practice of Programming》,中文版,机械工业出版社)、《代码阅读方法与实践》(《Code Reading: The Open Source Perspective》,中文版,清华大学出版社)、《C专家编程》(《Expert C Programming》,中文版,人民邮电出版社)。它们的侧重点各有不同,但对于通过实践来学习算法与数据结构都是很有益处的。

  应用开发方面,实践是第一要务,然而高效的实践是建立在科学的程序设计方法之上的。以C语言为代表的结构化程序设计方法是规范的程序逻辑的基础,目前主要使用在系统级开发中,前面所提到的诸多书籍都或多或少有所涉及。而以Java、C++为代表的面向对象程序设计方法广泛应用于实用项目开发,这方面的经典之作中,推荐阅读Bruce Eckel的《Java编程思想(第3版)》(《Thinking in Java》,中文版,机械工业出版社)与《C++编程思想(第2版)》(《Thinking in C++》,中文版,机械工业出版社)。此外软件架构设计、编码规范与风格、代码除错与质量管理以及软件工程的各类原则在实际项目开发中都是及其重要的,在具备了一定的编程经验、准备投入一些实际项目开发的时候务必要了解。建议阅读《代码大全(第2版)》(《Code Complete》,中文版,电子工业出版社)这本大而全的软件构建综合性宝典,它在从总体上指导软件开发的各个环节的同时也引入了一些细节问题(诸如 goto的使用)的讨论,引导我们对一些司空见惯的程序设计理念不但要知其然,而且要知所以然。

  有一位热衷于游戏的同学告诉我,游戏给予他满足控制欲的空间。但是请放眼看看,游戏的控制范围不外乎一个特定进程中他人预先设定好的一系列数据,并以有限的图像与声音形式体现出来。然而如果你掌握了编程这一强大的武器,就能够面对眼前的计算机游刃有余,在硬件条件允许的情况下尽你所能将控制欲升华为创造力,方便自己的同时造福他人。运筹帷幄,掌握编程的思想,无论走向科学研究或是应用开发,这都将为你奠定坚实的基础!

页面: 上页(较新) 1 2 下页(较旧)