2005-07-30

Adopting a common coding standard across your web applications

ASP.Net Coding Standards - ASP.NET Forums: "Adopting a common coding standard across your web applications"

Naming Guidelines

Naming Guidelines

Design Guidelines for Class Library Developers

Design Guidelines for Class Library Developers

如何用正确的方法来写出质量好的软件的75条体会

如何用正确的方法来写出质量好的软件的75条体会
[日期:2004-10-14] 来源:屋顶上的木帷幕 作者: [字体:大 中 小]

前两天贴了一篇《如何用正确的方法来写出质量好的软件的75条体会》的Blog,里面是75句话,可能有些话单看一句话不太好理解。杨晔希望“还是由MVM公布一个标准答案”,所以我就再逐条解释一下。篇幅有些长,大家谅解。

1. 你们的项目组使用源代码管理工具了么?
应该用。VSS、CVS、PVCS、ClearCase、CCC/Harvest、FireFly都可以。我的选择是VSS。

2. 你们的项目组使用缺陷管理系统了么?
应该用。ClearQuest太复杂,我的推荐是BugZilla。

3. 你们的测试组还在用Word写测试用例么?
不要用Word写测试用例(Test Case)。应该用一个专门的系统,可以是Test Manager,也可以是自己开发一个ASP.NET的小网站。主要目的是Track和Browse。

4. 你们的项目组有没有建立一个门户网站?
要有一个门户网站,用来放Contact Info、Baselined Schedule、News等等。推荐Sharepoint Portal Server 2003来实现,15分钟就搞定。买不起SPS 2003可以用WSS (Windows Sharepoint Service)。

5. 你们的项目组用了你能买到最好的工具么?
应该用尽量好的工具来工作。比如,应该用VS.NET而不是Notepad来写C#。用Notepad写程序多半只是一种炫耀。但也要考虑到经费,所以说是“你能买到最好的”。

6. 你们的程序员工作在安静的环境里么?
需要安静环境。这点极端重要,而且要保证每个人的空间大于一定面积。

7. 你们的员工每个人都有一部电话么?
需要每人一部电话。而且电话最好是带留言功能的。当然,上这么一套带留言电话系统开销不小。不过至少每人一部电话要有,千万别搞得经常有人站起来喊:“某某某电话”。《人件》里面就强烈谴责这种做法。

8. 你们每个人都知道出了问题应该找谁么?
应该知道。任何一个Feature至少都应该有一个Owner,当然,Owner可以继续Dispatch给其他人。

9. 你遇到过有人说“我以为…”么?
要消灭“我以为”。Never assume anything。

10. 你们的项目组中所有的人都坐在一起么?
需要。我反对Virtual Team,也反对Dev在美国、Test在中国这种开发方式。能坐在一起就最好坐在一起,好处多得不得了。

11. 你们的进度表是否反映最新开发进展情况?
应该反映。但是,应该用Baseline的方法来管理进度表:维护一份稳定的Schedule,再维护一份最新更改。Baseline的方法也应该用于其它的Spec。Baseline是变更管理里面的一个重要手段。

12. 你们的工作量是先由每个人自己估算的么?
应该让每个人自己估算。要从下而上估算工作量,而不是从上往下分派。除非有其他原因,比如政治任务工期固定等。

13. 你们的开发人员从项目一开始就加班么?
不要这样。不要一开始就搞疲劳战。从项目一开始就加班,只能说明项目进度不合理。当然,一些对日软件外包必须天天加班,那属于剥削的范畴。

14. 你们的项目计划中Buffer Time是加在每个小任务后面的么?
不要。Buffer Time加在每个小任务后面,很容易轻易的就被消耗掉。Buffer Time要整段的加在一个Milestone或者checkpoint前面。

15. 值得再多花一些时间,从95%做到100%好
值得,非常值得。尤其当项目后期人困马乏的时候,要坚持。这会给产品带来质的区别。

16. 登记新缺陷时,是否写清了重现步骤?
要。这属于Dev和Test之间的沟通手段。面对面沟通需要,详细填写Repro Steps也需要。

17. 写新代码前会把已知缺陷解决么?
要。每个人的缺陷不能超过10个或15个,否则必须先解决老的bug才能继续写新代码。

18. 你们对缺陷的轻重缓急有事先的约定么?
必须有定义。Severity要分1、2、3,约定好:蓝屏和Data Lost算Sev 1,Function Error算Sev 2,界面上的算Sev 3。但这种约定可以根据产品质量现状适当进行调整。

19. 你们对意见不一的缺陷有三国会议么?
必须要有。要有一个明确的决策过程。这类似于CCB (Change Control Board)的概念。

20. 所有的缺陷都是由登记的人最后关闭的么?
Bug应该由Opener关闭。Dev不能私自关闭Bug。

21. 你们的程序员厌恶修改老的代码么?
厌恶是正常的。解决方法是组织Code Review,单独留出时间来。XP也是一个方法。

22. 你们项目组有Team Morale Activity么?
每个月都要搞一次,吃饭、唱歌、Outing、打球、开卡丁车等等,一定要有。不要剩这些钱。

23. 你们项目组有自己的Logo么?
要有自己的Logo。至少应该有自己的Codename。

24. 你们的员工有印有公司Logo的T-Shirt么?
要有。能增强归属感。当然,T-Shirt要做的好看一些,最好用80支的棉来做。别没穿几次就破破烂烂的。

25. 总经理至少每月参加次项目组会议
要的。要让team member觉得高层关注这个项目。

26. 你们是给每个Dev开一个分支么?
反对。Branch的管理以及Merge的工作量太大,而且容易出错。

27. 有人长期不Check-In代码么?
不可以。对大部分项目来说,最多两三天就应该Check-In。

28. 在Check-In代码时都填写注释了么?
要写的,至少一两句话,比如“解决了Bug No.225”。如果往高处拔,这也算做“配置审计”的一部分。

29. 有没有设定每天Check-In的最后期限?
要的,要明确Check-In Deadline。否则会Build Break。

30. 你们能把所有源码一下子编译成安装文件吗?
要的。这是每日编译(Daily Build)的基础。而且必须要能够做成自动的。

31. 你们的项目组做每日编译么?
当然要做。有三样东西是软件项目/产品开发必备的:1. bug management; 2. source control; 3. daily build。

32. 你们公司有没有积累一个项目风险列表?
要。Risk Inventory。否则,下个项目开始的时候,又只能拍脑袋分析Risk了。

33. 设计越简单越好
越简单越好。设计时候多一句话,将来可能就带来无穷无尽的烦恼。应该从一开始就勇敢的砍。这叫scope management。

34. 尽量利用现有的产品、技术、代码
千万别什么东西都自己Coding。BizTalk和Sharepoint就是最好的例子,有这两个作为基础,可以把起点提高很多。或者可以尽量多用现成的Control之类的。或者尽量用XML,而不是自己去Parse一个文本文件;尽量用RegExp,而不是自己从头操作字符串,等等等等。这就是“软件复用”的体现。

35. 你们会隔一段时间就停下来夯实代码么?
要。最好一个月左右一次。传言去年年初Windows组在Stevb的命令下停过一个月增强安全。Btw,“夯”这个字念“hang”,第一声。

36. 你们的项目组每个人都写Daily Report么?
要写。五分钟就够了,写10句话左右,告诉自己小组的人今天我干了什么。一则为了沟通,二则鞭策自己(要是游手好闲一天,自己都会不好意思写的)。

37. 你们的项目经理会发出Weekly Report么?
要。也是为了沟通。内容包括目前进度,可能的风险,质量状况,各种工作的进展等。

38. 你们项目组是否至少每周全体开会一次?
要。一定要开会。程序员讨厌开会,但每个礼拜开会时间加起来至少应该有4小时。包括team meeting, spec review meeting, bug triage meeting。千万别大家闷头写code。

39. 你们项目组的会议、讨论都有记录么?
会前发meeting request和agenda,会中有人负责主持和记录,会后有人负责发meeting minutes,这都是effective meeting的要点。而且,每个会议都要形成agreements和action items。

40. 其他部门知道你们项目组在干什么么?
要发一些Newsflash给整个大组织。Show your team’s value。否则,当你坐在电梯里面,其他部门的人问:“你们在干嘛”,你回答“ABC项目”的时候,别人全然不知,那种感觉不太好。

41. 通过Email进行所有正式沟通
Email的好处是免得抵赖。但也要避免矫枉过正,最好的方法是先用电话和当面说,然后Email来确认。

42. 为项目组建立多个Mailing Group
如果在AD+Exchange里面,就建Distribution List。比如,我会建ABC Project Core Team,ABC Project Dev Team,ABC Project All Testers,ABC Project Extended Team等等。这样发起Email来方便,而且能让该收到email的人都收到、不该收到不被骚扰。

43. 每个人都知道哪里可以找到全部的文档么?
应该每个人都知道。这叫做知识管理(Knowledge Management)。最方便的就是把文档放在一个集中的File Share,更好的方法是用Sharepoint。

44. 你做决定、做变化时,告诉大家原因了么?
要告诉大家原因。Empower team member的手段之一是提供足够的information,这是MSF一开篇的几个原则之一。的确如此,tell me why是人之常情,tell me why了才能有understanding。中国人做事喜欢搞限制,限制信息,似乎能够看到某一份文件的人就是有身份的人。大错特错。权威、权力,不在于是不是能access information/data,而在于是不是掌握资源。

45. Stay agile and expect change
要这样。需求一定会变的,已经写好的代码一定会被要求修改的。做好心理准备,对change不要抗拒,而是expect change。

46. 你们有没有专职的软件测试人员?
要有专职测试。如果人手不够,可以peer test,交换了测试。千万别自己测试自己的。

47. 你们的测试有一份总的计划来规定做什么和怎么做么?
这就是Test Plan。要不要做性能测试?要不要做Usability测试?什么时候开始测试性能?测试通过的标准是什么?用什么手段,自动的还是手动的?这些问题需要用Test Plan来回答。

48. 你是先写Test Case然后再测试的么?
应该如此。应该先设计再编程、先test case再测试。当然,事情是灵活的。我有时候在做第一遍测试的同时补上test case。至于先test case再开发,我不喜欢,因为不习惯,太麻烦,至于别人推荐,那试试看也无妨。

49. 你是否会为各种输入组合创建测试用例?
不要,不要搞边界条件组合。当心组合爆炸。有很多test case工具能够自动生成各种边界条件的组合——但要想清楚,你是否有时间去运行那么多test case。

50. 你们的程序员能看到测试用例么?
要。让Dev看到Test Case吧。我们都是为了同一个目的走到一起来的:提高质量。

51. 你们是否随便抓一些人来做易用性测试?
要这么做。自己看自己写的程序界面,怎么看都是顺眼的。这叫做审美疲劳——臭的看久了也就不臭了,不方便的永久了也就习惯了。

52. 你对自动测试的期望正确么?
别期望太高。依我看,除了性能测试以外,还是暂时先忘掉“自动测试”吧,忘掉WinRunner和LoadRunner吧。对于国内的软件测试的现状来说,只能“矫枉必须过正”了。

53. 你们的性能测试是等所有功能都开发完才做的么?
不能这样。性能测试不能被归到所谓的“系统测试”阶段。早测早改正,早死早升天。

54. 你注意到测试中的杀虫剂效应了么?
虫子有抗药性,Bug也有。发现的新Bug越来越少是正常的。这时候,最好大家交换一下测试的area,或者用用看其他工具和手法,就又会发现一些新bug了。

55. 你们项目组中有人能说出产品的当前整体质量情况么?
要有。当老板问起这个产品目前质量如何,Test Lead/Manager应该负责回答。

56. 你们有单元测试么?
单元测试要有的。不过没有单元测试也不是不可以,我做过没有单元测试的项目,也做成功了——可能是侥幸,可能是大家都是熟手的关系。还是那句话,软件工程是非常实践、非常工程、非常灵活的一套方法,某些方法在某些情况下会比另一些方法好,反之亦然。

57. 你们的程序员是写完代码就扔过墙的么?
大忌。写好一块程序以后,即便不做单元测试,也应该自己先跑一跑。虽然有了专门的测试人员,做开发的人也不可以一点测试都不做。微软还有Test Release Document的说法,程序太烂的话,测试有权踢回去。

58. 你们的程序中所有的函数都有输入检查么?
不要。虽然说做输入检查是write secure code的要点,但不要做太多的输入检查,有些内部函数之间的参数传递就不必检查输入了,省点功夫。同样的道理,未必要给所有的函数都写注释。写一部分主要的就够了。

59. 产品有统一的错误处理机制和报错界面么?
要有。最好能有统一的error message,然后每个error message都带一个error number。这样,用户可以自己根据error number到user manual里面去看看错误的具体描述和可能原因,就像SQL Server的错误那样。同样,ASP.NET也要有统一的Exception处理。可以参考有关的Application Block。

60. 你们有统一的代码书写规范么?
要有。Code Convention很多,搞一份来发给大家就可以了。当然,要是有FxCop这种工具来检查代码就更好了。

61. 你们的每个人都了解项目的商业意义么?
要。这是Vision的意思。别把项目只当成工作。有时候要想着自己是在为中国某某行业的信息化作先驱者,或者时不时的告诉team member,这个项目能够为某某某国家部门每年节省多少多少百万的纳税人的钱,这样就有动力了。平凡的事情也是可以有个崇高的目标的。

62. 产品各部分的界面和操作习惯一致么?
要这样。要让用户觉得整个程序好像是一个人写出来的那样。

63. 有可以作为宣传亮点的Cool Feature么?
要。这是增强团队凝聚力、信心的。而且,“一俊遮百丑”,有亮点就可以掩盖一些问题。这样,对于客户来说,会感觉产品从质量角度来说还是acceptable的。或者说,cool feature或者说亮点可以作为质量问题的一个事后弥补措施。

64. 尽可能缩短产品的启动时间
要这样。软件启动时间(Start-Up time)是客户对性能好坏的第一印象。

65. 不要过于注重内在品质而忽视了第一眼的外在印象
程序员容易犯这个错误:太看重性能、稳定性、存储效率,但忽视了外在感受。而高层经理、客户正相反。这两方面要兼顾,协调这些是PM的工作。

66. 你们根据详细产品功能说明书做开发么?
要这样。要有设计才能开发,这是必须的。设计文档,应该说清楚这个产品会怎么运行,应该采取一些讲故事的方法。设计的时候千万别钻细节,别钻到数据库、代码等具体实现里面去,那些是后面的事情,一步步来不能着急。

67. 开始开发和测试之前每个人都仔细审阅功能设计么?
要做。Function Spec review是用来统一思想的。而且,review过以后形成了一致意见,将来再也没有人可以说“你看,当初我就是反对这么设计的,现在吃苦头了吧”

68. 所有人都始终想着The Whole Image么?
要这样。项目里面每个人虽然都只是在制造一片叶子,但每个人都应该知道自己在制造的那片叶子所在的树是怎么样子的。我反对软件蓝领,反对过分的把软件制造看成流水线、车间。参见第61条。

69. Dev工作的划分是单纯纵向或横向的么?
不能单纯的根据功能模块分,或者单纯根据表现层、中间层、数据库层分。我推荐这么做:首先根据功能模块分,然后每个“层”都有一个Owner来Review所有人的设计和代码,保证consistency。

70. 你们的程序员写程序设计说明文档么?
要。不过我听说微软的程序员1999年以前也不写。所以说,写不写也不是绝对的,偷懒有时候也是可以的。参见第56条。

71. 你在招人面试时让他写一段程序么?
要的。我最喜欢让人做字符串和链表一类的题目。这种题目有很多循环、判断、指针、递归等,既不偏向过于考算法,也不偏向过于考特定的API。

72. 你们有没有技术交流讲座?
要的。每一两个礼拜搞一次内部的Tech Talk或者Chalk Talk吧。让组员之间分享技术心得,这笔花钱送到外面去培训划算。

73. 你们的程序员都能专注于一件事情么?
要让程序员专注一件事。例如说,一个部门有两个项目和10个人,一种方法是让10个人同时参加两个项目,每个项目上每个人都花50%时间;另一种方法是5个人去项目A,5个人去项目B,每个人都100%在某一个项目上。我一定选后面一种。这个道理很多人都懂,但很多领导实践起来就把属下当成可以任意拆分的资源了。

74. 你们的程序员会夸大完成某项工作所需要的时间么?
会的,这是常见的,尤其会在项目后期夸大做某个change所需要的时间,以次来抵制change。解决的方法是坐下来慢慢磨,磨掉程序员的逆反心理,一起分析,并把估算时间的颗粒度变小。

75. 尽量不要用Virtual Heads
最好不要用Virtual Heads。Virtual heads意味着resource is not secure,shared resource会降低resource的工作效率,容易增加出错的机会,会让一心二用的人没有太多时间去review spec、review design。一个dedicated的人,要强过两个只能投入50%时间和精力的人。我是吃过亏的:7个part time的tester,发现的Bug和干的活,加起来还不如两个full-time的。参见第73条。73条是针对程序员的,75条是针对Resource Manager的。

海洋工作室 SharePoint FAQ

SharePoint FAQ

2005-07-19

Copy user profiles with Windows 2000's User Profiles tab

Copy user profiles with Windows 2000's User Profiles tab

by Jim Boyce
http://techrepublic.com.com/5100-10877_11-5793056.html?tag=nl.e030


Takeaway:
A user profile in Windows encompasses the desktop, application settings, and other folders that define the user's working environment. Learn how a handy Windows feature can make it simple to copy user profiles.
A user profile in Windows encompasses the desktop, application settings, and other folders that define the user's working environment. When a user logs on for the first time with an account, Windows 2000 automatically creates their profile in the \Documents and Settings\(user) folder, where (user) is the logon name.

If you wanted to copy a profile, you could simply copy folders. However, Windows includes a feature specifically to help you copy user profiles. To use this feature, right-click My Computer and choose Properties. Then, click the User Profiles tab. This tab displays a list of all of the user profiles stored on the computer.

To copy a profile, follow these steps:

Click the profile and then click Copy To.
In the resulting Copy To dialog box, click Browse to specify the location for the copy. (Make sure to include the new user name in the path.)
Click Change if you need to change the list of users allowed to use the profile.
Select the user and click OK, then click OK in the Copy To dialog box to begin the copy.
Click OK to close the System Properties sheet when you have finished copying profiles.
When you copy a profile using the User Profiles tab, keep in mind that Windows does not copy the hidden Local Settings folder in the profile. This folder stores non-essential files, but can also store critical files such as Outlook mail stores (PST files). If you need these files as part of the destination profile, copy the Local Settings folder manually to the target profile.

2005-07-16

数学和中国文学的比较

数学和中国文学的比较zt

丘成桐

二零零五年六月二十四日

很多人会觉得我今日的讲题有些奇怪,中国文学与数学好象是风马牛不相及,但我却讨论它。其实这关乎个人的感受和爱好,不见得其它数学家有同样的感觉,「如人饮水,冷暖自知」。每个人的成长和风格跟他的文化背景、家庭教育有莫大的关系。我幼受庭训,影响我至深的是中国文学,而我最大的兴趣是数学,所以将他们做一个比较,对我来说是相当有意义的事。

中国古代文学记载最早的是诗三百篇,有风雅颂,既有民间抒情之歌,朝廷礼仪之作,也有歌颂或讽刺当政者之曲。至孔子时,文学为君子立德和陶冶民风而服务。战国时,诸子百家都有著述,在文学上有重要的贡献,但是诸子如韩非却轻视文学之士。屈原开千古辞赋之先河,毕生之志却在楚国的复兴。文学本身在古代社会没有占据到重要的地位。司马迁甚至说:「文史、星历,近乎卜祝之间,固主上所戏弄,倡优畜之,流俗之所轻也。」一直到曹丕才全面肯定文学本身的重要性:「盖文章,经国之大业,不朽之盛事。」即使如此,曹丕的弟弟曹植却不以为文学能与治国的重要性相比。他写信给他的朋友杨修说:

「吾虽德薄,位为蕃侯,犹几戮力上国,流惠下民,建永世之业,留金石之功。岂徒以翰墨为勲绩,辞赋为君子哉。」

至于数学,中国儒家将它放在六艺之末,是一个辅助性的学问。当政者更视之为雕虫小技,与文学比较,连歌颂朝廷的能力都没有,政府对数学的尊重要到近年来才有极大的改进。西方则不然,希腊哲人以数学为万学之基。帕拉图以通几何为入其门槛之先决条件,所以数学家得到崇高地位,在西方蓬勃发展了两千多年。

一、数学之基本意义

数学之为学,有其独特之处,它本身是寻求自然界真相的一门科学,但数学家也如文学家般天马行空,凭爱好而创作,故此数学可说是人文科学和自然科学的桥梁。

数学家研究大自然所提供的一切素材,寻找它们共同的规律,用数学的方法表达出来。这里所说的大自然比一般人所了解的来得广泛,我们认为数字、几何图形和各种有意义的规律都是自然界的一部份,我们希望用简洁的数学语言将这些自然现象的本质表现出来。

数学是一门公理化的科学,所有命题必需由三段论证的逻辑方法推导出来,但这只是数学的形式,而不是数学的精髓。大部份数学著作枯燥乏味,而有些却令人叹为观止,其中的分别在那里?

大略言之,数学家以其对大自然感受的深刻肤浅,来决定研究的方向,这种感受既有其客观性,也有其主观性,后者则取决于个人的气质,气质与文化修养有关,无论是选择悬而未决的难题,或者创造新的方向,文化修养皆起着关键性的作用。文化修养是以数学的功夫为基础,自然科学为副,但是深厚的人文知识也极为要紧,因为人文知识也致力于描述心灵对大自然的感受,所以司马迁写史记除了「通古今之变」外,也要「究天人之际」。

刘勰在文心雕龙.原道篇说文章之道在于:

「写天地之辉光,晓生民之耳目。」

刘勰以为文章之可贵,在尚自然,在贵文采。他又说:

「人与天地相参,乃性灵所集聚,是以谓之三才,为五行之秀气,实天地之灵气。灵心既生,于是语言以立。语言既立,于是文章着明,此亦原于自然之道也。」

文心雕龙.风骨:

「诗总六义,风冠其首,斯乃化感之本源,志气之符契也。」

历代的大数学家如阿基米德如牛顿莫不以自然为宗,见物象而思数学之所出,即有微积分的创作。费尔玛和尤拉对变分法的开创性发明也是由于探索自然界的现象而引起的。

近代几何学的创始人高斯认为几何和物理不可分,他说:「我越来越确信几何的必然性无法被验证,至少现在无法被人类或为了人类而验证,我们或许能在未来领悟到那无法知晓的空间的本质。我们无法把几何和纯粹是先验的算术归为一类,几何和力学却不可分割。」

二十世纪几何学的发展,则因物理学上重要的突破而屡次改变其航道。当狄拉克把狭义相对论用到量子化的电子运动理论时,发现了狄拉克方程,以后的发展连狄拉克本人也叹为观止,认为他的方程比他的想象来得美妙,这个方程在近代几何的发展起着关键性的贡献,我们对旋子的描述缺乏直观的几何感觉,但它出于自然,自然界赋予几何的威力可说是无微不至。

广义相对论提出了场方程,它的几何结构成为几何学家梦寐以求的对象,因为它能赋予空间一个调和而完美的结构。我研究这种几何结构垂三十年,时而迷惘,时而兴奋,自觉同诗经、楚辞的作者,或晋朝的陶渊明一样,与大自然浑为一体,自得其趣。

捕捉大自然的真和美,实远胜于一切人为的造作,正如文心雕龙说的:

「云霞雕色,有逾画工之妙。草木菁华,无待锦匠之奇,夫岂外饰,盖自然耳。」

在空间上是否存在满足引力场方程的几何结构是一个极为重要的物理问题,它也逐渐地变成几何中伟大的问题。尽管其它几何学家都不相信它存在,我却锲而不舍,不分昼夜地去研究它,就如屈原所说:

「亦余心之所善兮,虽九死其犹未悔。」

我花了五年工夫,终于找到了具有超对称的引力场结构,并将它创造成数学上的重要工具。当时的心境,可以用以下两句来描述:

「落花人独立,微雨燕双飞。」

以后大批的弦理论学家参与研究这个结构,得出很多深入的结果。刚开始时,我的朋友们都对这类问题敬而远之,不愿意与物理学家打交道。但我深信造化不致弄人,回顾十多年来在这方面的研究尚算满意,现在卡拉比│丘空间的理论已经成为数学的一支主流。

二、数学的文采

数学的文采,表现于简洁,寥寥数语,便能道出不同现象的法则,甚至在自然界中发挥作用,这是数学优雅美丽的地方。我的老师陈省身先生创作的陈氏类,就文采斐然,令人赞叹。它在扭曲的空间中找到简洁的不变量,在现象界中成为物理学界求量子化的主要工具,可说是描述大自然美丽的诗篇,直如陶渊明「采菊东蓠下,悠然见南山」的意境。

从欧氏几何的公理化、到笛卡儿创立的解析几何,到牛顿、莱布尼兹的微积分,到高斯、黎曼创立的内蕴几何,一直到与物理学水乳相融的近代几何,都以简洁而富于变化为宗,其文采绝不逊色于任何一件文学创作,它们轫生的时代与文艺兴起的时代相同,绝对不是巧合。

数学家在开创新的数学想法的时候,可以看到高雅的文采和崭新的风格,例如欧几里得证明存在无穷多个素数,开创反证法的先河。高斯研究十七边形的对称群,使伽罗华群成为数论的骨干。这些研究异军突起,论断华茂,使人想起五言诗的始祖苏(武)李(陵)唱和诗和词的始祖李太白的忆秦娥。

三、数学中的赋比兴

中国诗词都讲究比兴,钟爃在「诗品」中说:

「文已尽而意有余,兴也。因物喻志,比也。」

刘勰在文心雕龙中说:

「故比者,附也。兴者,起也。附理者切类以指事,起情者依微以拟议。起情故兴体以立,附理故比例以生。」

白居易:

「噫,风雪花草之物《三百篇》中岂含之乎?顾所用何如耳,设如北风其凉,假风以刺威虐也,雨雪霏霏,因雪以愍征役也……比兴发于此而义归于彼。」

他批评谢朓诗「『余霞散成绮,澄江净如练。』丽则丽矣,吾不知其所讽焉,故仆所谓嘲风雪,弄花草而已,文意尽去矣。」

有深度的文学作品必需要有「义」、有「讽」、有「比兴」。数学亦如是。我们在寻求真知时,往往只能凭已有的经验,因循研究的大方向,凭我们对大自然的感觉而向前迈进,这种感觉是相当主观的,因个人的文化修养而定。

文学家为了达到最佳意境的描述,不见得忠实地描写现象界,例如贾岛只追究「僧推月下门」或是「僧敲月下门」的意境,而不在乎所说的是不同的事实。数学家为了创造美好的理论,也不必依随大自然的规律,只要逻辑推导没有问题,就可以尽情的发挥想象力,然而文章终究有高下之分。大致来说,好的文章「比兴」的手法总会比较丰富。

中国古诗十九首,作者年代不详,但大家都认为是汉代的作品。刘勰说:「比采而推,两汉之作乎。」这是从诗的结构和风格进行推敲而得出的结论。在数学的研究过程中,我们亦利用比的方法去寻找真理。我们创造新的方向时,不必凭实验,而是凭数学的文化涵养去猜测去求证。

举例而言,三十年前我提出一个猜测,断言三维球面里的光滑极小曲面,其第一特征值等于二。当时这些曲面例子不多,只是凭直觉,利用相关情况模拟而得出的猜测,最近有数学家写了一篇文章证明这个猜想。其实我的看法与文学上的比兴很相似。

我们看洛神赋:

「翩若惊鸿,婉若游龙。荣曜秋菊,华茂春松。仿髴兮若轻云之蔽月,飘飘兮若流风之回雪。」

由比喻来刻划女神的体态,又看诗经:

「高山仰止,景行行止。四牡騑騑,六辔如琴,靓尔新婚,以慰我心。」

也是用比的方法来描写新婚的心情。

我一方面想象三维球的极小子曲面应当是如何的匀称,一方面想象第一谱函数能够同空间的线性函数比较该有多妙,通过原点的平面将曲面最多切成两块,于是猜想这两个函数应当相等,同时第一特征值等于二。

当时我与卡拉比教授讨论这个问题,他也相信这个猜测是对的。旁边我的一位研究生问为甚么会做这样的猜测,不待我回答,卡教授便微笑说这就是洞察力了。

数学上常见的对比方法乃是低维空间和高维空间现象的对比。我们虽然看不到高维空间的事物,但可以看到一维或二维的现象,并由此来推测高维的变化。我在做研究生时企图将二维空间的单值化原理推广到高维空间,得到一些漂亮的猜测,我认为曲率的正或负可以作为复结构的指向,这个看法影响至今,可以溯源到十九世纪和二十世纪初期曲率和保角映像关系的研究。

另外一个对比的方法乃是数学不同分枝的比较,记得我从前用爱氏结构证明代数几何中一个重要不等式时,日本数学家Miyaoka利用俄国数学家Bogomolov的代数稳定性理论也给出这个不等式的不同证明,因此我深信爱氏结构和流形的代数稳定有密切的关系,这三十年来的发展也确是朝这个方向蓬勃地进行。

事实上,爱因斯坦的广义相对论也是对比各种不同的学问而创造成功的,它是科学史上最伟大的构思,可以说是惊天地而泣鬼神的工作。它统一了古典的引力理论和狭义相对论。爱氏花了十年功夫,基于等价原理,比较了各种描述引力场的方法,巧妙地用几何张量来表达了引力场,将时空观念全盘翻新。

爱氏所用的工具是黎曼几何,乃是黎曼比他早五十年前发展出来的,当时的几何学家唯一的工具是对比,在古典微积分、双曲几何和流形理论的模拟后得出来的漂亮理论。反过来说,广义相对论给黎曼几何注入了新的生命。

二十世纪数论的一个大突破乃是算术几何的产生,利用群表示理论为桥梁,将古典的代数几何、拓朴学和代数数论比较,有如瑰丽的歌曲,它的发展,势不可挡,气势如虹,「天之所开,不可当也」。

Weil研究代数曲线在有限域上解的问题后,得出高维代数流形有限域解的猜测,推广了代数流形的基本意义,直接影响了近代数学的发展。筹学所问,无过于此矣。

伟大的数学家远瞩高瞻,看出整个学问的大流,有很多合作者和跟随者将支架建立起来,解决很多重要的问题。正如曹雪芹创造红楼梦时,也是一样,全书既有真实,亦有虚构。既有前人小说如西厢记、金瓶梅、牡丹亭等的踪迹,亦有作者家族雕零、爱情悲剧的经验,通过各种不同人物的话语和生命历程,道出了封建社会大家族的腐败和破落。红楼梦的写作影响了清代小说垂二百年。

西厢记和牡丹亭的每一段写作和描述男女主角的手法都极为上乘,但是全书的结构则是一般的佳人才子写法,由金瓶梅进步到红楼梦则小处和大局俱佳。

这点与数学的发展极为相似,从局部的结构发展到大范围的结构是近代数学发展的一个过程。往往通过比兴的手法来处理。几何学和数论都有这一段历史,代数几何学家在研究奇异点时通过爆炸的手段,有如将整个世界浓缩在一点。微分几何和广义相对论所见到的奇异点比代数流形复杂,但是也希望从局部开始,逐渐了解整体结构。数论专家研究局部结构时则通过素数的模方法,将算术流形变成有限域上的几何,然后和大范围的算术几何对比,得出丰富的结果。数论学家在研究Langlands理论时也多从局部理论开始。

好的作品需要赋比兴并用。钟爃诗品:

「直书其事,寓言写物,赋也。宏斯三义,酌而用之,干之以风力,润之以丹采,使味之者无极,闻之者动心,是诗之至也。若专用比兴,则患在意深,意深则词踬。若但用赋体,则患在意浮,意浮则文散。」

在数学上,对非线性微分方程和流体方程的深入了解,很多时需要靠计算器来验算。很多数学家有能力做大量的计算,却不从大处着想,没有将计算的内容与数学其它分枝比较,没有办法得到深入的看法,反过来说只讲观念比较,不作大量计算,最终也无法深入创新。

有些工作却包含赋比兴三种不同的精义。近五十年来数论上一个伟大的突破是由英国人Birch和Swinneton-Dyer提出的一个猜测,开始时用计算器大量计算,找出L函数和椭圆曲线的整数解的连系,与数论上各个不同的分枝比较接合,妙不可言,这是赋比兴都有的传世之作。

四、数学家对事物的看法的多面性

由于文学家对事物有不同的感受,同一事或同一物可以产生不同的吟咏。例如对杨柳的描述:

温庭筠:

「柳丝长,春雨细……」

吴文英:

「一丝柳,一寸柔情,料峭春寒中酒……」

李白:

「年年柳色,灞陵伤别。」

「风吹柳花满座香,吴姬压酒劝客尝。」

周邦彦:

「柳阴直,烟里丝丝弄碧,隋堤上,曾见几番,拂水飘绵送行色……长亭路,年去岁来,应折柔条过千尺。」

晏几道:

「舞低杨柳楼心月,歌尽桃花扇底风。」

柳枝既然是柔条,又有春天时的嫩绿,因此可以代表柔情,女性体态的柔软(柳腰、柳眉都是用柳条来描写女性),又可以描写离别感情和青春的感觉。

对事物有不同的感受后,往往通过比兴的方法另有所指,例如「美人」有多重意思,除了指美丽的女子外,也可以指君主:屈原九章「结微情以陈词兮,矫以遗夫美人。」也可以指品德美好的人:诗经邶风:「云谁之思,西方美人。」苏轼赤壁赋「望美人兮天一方」。

数学家对某些重要的定理,也会提出很多不同的证明。例如勾股定理的不同证明有十个以上,等周不等式亦有五、六个证明,高斯则给出数论对偶定律六个不同的看法。不同的证明让我们以不同的角度去理解同一个事实,往往引导出数学上不同的发展。

记得三十年前我利用分析的方法来证明完备而非紧致的正曲率空间有无穷大体积后,几何学家Gromov开始时不相信这个证明,以后他找出我证明方法的几何直观意义后,发展出他的几何理论,这两个不同观念都有它们的重要性。

小平邦彦有一个极为重要的贡献叫做消灭定理,是用曲率的方法来得到的,它在代数几何学上有奠基性的贡献,代数几何学家却不断的企图找寻一个纯代数的证明,希望对算术几何有比较深入的了解。

对空间中的曲面,微分几何学家会问它的曲率如何,有些分析学家希望沿着曲率方向来推动它一下看看有甚么变化,代数几何学家可以考虑它可否用多项式来表示,数论学家会问上面有没有整数格点。这种种主观的感受由我们的修养来主导。

反过来说,文学家对同一事物亦有不同的歌咏,但在创作的工具上,却有比较统一的对仗韵律的讲究,可以应用到各种不同的文体。从数学的观点来说,对仗韵律是一种对称,而对称的观念在数学发展至为紧要,是所有数学分枝的共同工具。另外,数学家又喜欢用代数的方法来表逹空间的结构,同调群乃是重要的例子,由拓朴学出发而应用到群论、代数、数论和微分方程学上去。

五、数学的意境

王国维在人间词话说:

「词以境界为最上。有境界则自成高格……有造境,有写境,此理想与写实二派之所由分。然二者颇难分别,因大诗人所造之境必合乎自然,所写之境亦必邻于理想故也。有有我之境,有无我之境。『泪眼问花花不语,乱红飞过秋千去。』……有我之境也。『采菊东蓠下,悠然见南山。』……无我之境也。有我之境,以我观物,故物皆着我之色彩。无我之境,以物观物,故不知何者为我,何者为物……无我之境,人唯乎静中得之。有我之境,于由动入静时得之,故一优美,一宏壮也。自然之物互相关系,互相限制。然其写之于文学及美术中也,必有其关系限制之处。故虽写实家亦理想家也。又虽如何虚构之境,其材料必求之于自然,而其构造亦必从自然之法律。故虽理想家亦写实家也。」

数学研究当然也有境界的概念,在某种程度上也可谈有我之境、无我之境,当年尤拉开创变分法和推导流体方程,由自然现象引导,可谓无我之境,他又凭自己的想象力研究发散级数,而得到zeta函数的种种重要结果,开三百年数论之先河,可谓有我之境矣。另外一个例子是法国数学家Grothendick,他著述极丰,以个人的哲学观点和美感出发,竟然不用实例,建立了近代代数几何的基础,真可谓有我之境矣。

在几何的研究中,我们发现狄拉克在物理上发现的旋子在几何结构中有魔术性的能力,我们不知道它的内在的几何意义,它却替我们找到几何结构中的精髓,在应用旋子理论时,我们常用的手段是通过所谓消灭定理而完成的,这是一个很微妙的事情,我们制造了曲率而让曲率自动发酵去证明一些几何量的不存在,可谓无我之境矣。以前我提出用Einstein结构来证明代数几何的问题和用调和映像来看研究几何结构的刚性问题也可作如是观。

不少伟大的数学家,以文学、音乐来培养自己的气质,与古人神交,直追数学的本源,来达到高超的意境。

文心雕龙.神思:

「文之思也,其神远矣。故寂然凝虑,思接千载;悄然动容,视通万里。吟咏之间,吐纳珠玉之声,眉睫之前,卷舒风云之色,其思理之致乎。」

六、数学的品评

好的工作应当是文已尽而意有余,大部份数学文章质木无文,流俗所好,不过两三年耳。但是有创意的文章,未必为时所好,往往十数年后始见其功。

我曾经用一个崭新的方法去研究调和函数,以后和几个朋友一同改进了这个方法,成为热方程的一个重要工具。开始时没有得到别人的赞赏,直到最近五年大家才领会到它的潜力。然而我们还是锲而不舍地去研究,觉得意犹未尽。

我的老师陈省身先生在他的文集中引杜甫诗「文章千古事,得失寸心知。」而杜甫就曾批评初唐四杰的作品「王杨卢骆当时体,轻薄为文哂未休,尔曹身与命俱灭,不废江河万古流。」

时俗所好的作品,不必为作者本人所认同。举个例子,白居易留传至今的诗甚多,最出名之一是《长恨歌》,但他给元微之的信中却说:

「及再来长安,又闻有军使欲聘倡伎,伎大夸曰:『我诵得白学士《长恨歌》,岂同他伎哉。』……偖伎见仆来,指而相顾曰:『此是《秦中吟》、《长恨歌》主耳。』自长安抵江西,三四千里……每每有咏仆诗者,此诚雕虫之技,不足为多,然今时俗所重,正在此耳。」

白居易说谢朓的诗丽而无讽。其实建安以后,绮丽为文的作者甚众。亦自有其佳处,毕竟钟爃评谢朓诗为中品,以后六朝骈文、五代花间集以至近代的鸳鸯蝴蝶派都是绮丽为文。虽未殝上乘,却有赏心悦目之句。

数学华丽的作品可从泛函分析这种比较广泛的学问中找到,虽然有其美丽和重要性,但与自然之道总是隔了一层。举例来说,从函数空间抽象出来的一个重要概念叫做巴拿赫空间,在微分方程学有很重要的功用,但是以后很多数学家为了研究这种空间而不断的推广,例如有界算子是否存在不变空间的问题,确是漂亮,但在数学大流上却未有激起任何波澜。

在七十年代,高维拓朴的研究已成强弩之末,作品虽然不少,但真正有价值的不多,有如「野云孤飞,去留无迹。」文气已尽,再无新的比兴了。当时有拓朴学者做群作用于流形的研究,确也得到某些人的重视。但是到了八零年代,值得怀念的工作只有Bott的局部化定理。

能经得起时间考验的工作寥寥无几,政府评审人材应当以此为首选。历年来以文章篇数和被引用多寡来做指针,使得国内的数学工作者水平大不如人,不单与自然隔绝,连华丽的文章都难以看到。

七、数学的演化

王国维说:

「四言敝而有楚辞,楚辞敝而有五言,五言敝而有七言,古诗敝而有律绝,律绝敝而有词。盖文体通行既久,染指遂多,自成习套。豪杰之士亦难于其中自出新意,故遁而作他体以自解脱。一切文体所以始盛中衰者,皆由于此,故谓文体后不如前,余未敢言。但就一体论,则此说固无以易也。」

数学的演化和文学有极为类似的变迁。从平面几何至立体几何,至微分几何等等,一方面是工具得到改进,另一方面是对自然界有进一步的了解,将原来所认识的数学结构的美发挥尽至后,需要进入新的境界。江山代有人才,能够带领我们进入新的境界的都是好的数学。上面谈到的高维拓朴文气已尽,假使它能与微分几何、数学物理和算术几何组合变化,亦可振翼高翔。

我在香港念数学时,读到苏联数学家Gelfand的看法,用函数来描述空间的几何性质,使我感触良深,以后在研究院时才知道。代数几何学家也用有理函数来定义代数空间,于是我猜想一般的黎曼流形应当也可以用函数来描述空间的结构。但是为了深入了解流形的几何性质,我们需要的函数必需由几何引出的微分方程来定义。可是一般几何学家厌恶微分方程,我对它却情有独钟,与几个朋友合作将非线性方程带入几何学,开创了几何分析这门学问,解决了拓朴学和广义相对论一些重要问题。在一九八一年时我建议我的朋友Hamilton用他创造的方程去解决三维拓朴的基本结构问题,二十多年来他引进了不少重要的工具,运用上述我和李伟光在热方程的工作,深入地了解奇异点的产生。两年前俄国数学家Perelman更进一步地推广了这个理论,很可能完成了我的愿望,将几何和三维拓朴带进了新纪元。

八年前我访问北京,提出全国向Hamilton先生学习的口号,本来讨论班已经进行,却给一些急功近利的北京学者阻止,在国外也遇到同样的阻力,中国几何分析不能进步都是由于年青学者不能够自由发展思想的缘故。广州的朱熹平却锲而不舍,他的工作已经远超国内外成名的中国学者。

当一个大问题悬而未决的时候,我们往往以为数学之难莫过于此。待问题解决后,前途豁然开朗,看到比原来更为灿烂的火花,就会有不同的感受。

这点可以跟庄子秋水篇比较:

「秋水时至,百川灌河,泾流之大,两涘渚崖之间,不辩牛马。于是焉河伯欣然自喜,以天下之美为尽在已,顺流而东行,至于北海,东面而视,不见水端,于是焉河伯始旋其面目,望洋向若而叹曰:『野语有之曰:『闻道百,以为莫已若者,我之谓也。且夫我尝闻少仲尼之闻,而轻伯夷之义者,始吾弗信,今我睹子之难穷也。吾非至于子之门,则殆矣。吾长见笑于大方之家。』』」

科学家对自然界的了解,都是循序渐进,在不同的时空自然会有不同的感受。有学生略识之无后,不知创作之难,就连陈省身先生的大作都看不上眼,自以为见识更为丰富,不自见之患也。人贵自知,始能进步。

庄子:

「今尔出于崖涘,观于大海,乃知尔丑,尔将可与语大理矣。」

我曾经参观德国的葛庭根大学,看到十九世纪和廿世纪伟大科学家的手稿,他们传世的作品只是他们工作的一部份,很多杰作都还未发表,使我深为惭愧而钦佩他们的胸襟。今人则不然,大量模仿,甚至将名作稍为改动,据为己有,尽快发表。或申请院士,或自炫为学术宗匠,于古人何如哉。

八、数学的感情

为了达到深远的效果,数学家需要找寻问题的精华所在,需要不断的培养我们对问题的感情和技巧,这一点与孟子所说的养气相似。气有清浊,如何寻找数学的魂魄,视乎我们的文化修养。

白居易说:

「圣人感人心而天下和平,感人心者,莫先乎情,莫始乎言,莫切乎声,莫深乎义……未有声入而不应,情交而不感者。」

严羽沧浪诗话:

「盛唐诸公唯在兴趣,羚羊挂角,无迹可求。故其妙处透澈玲珑,不可凑拍,如空中之音,相中之色,水中之影,镜中之象,言有尽而意无穷。」

我的朋友Hamilton先生,他一见到问题可以用曲率来推动,他就眉飞色舞。另外一个澳洲来的学生,见到与爱因斯坦方程有关的几何现象就赶快找寻它的物理意义,兴奋异常,因此他们的文章都是清纯可喜。反过来说,有些成名的学者,文章甚多,但陈陈相因,了无新意。这是对自然界、对数学问题没有感情的现象,反而对名位权利特别重视。为了院士或政协委员的名衔而甘愿千里仆仆风尘地奔波,在这种情形下,难以想象他们对数学、对自然界有深厚的感情。

数学的感情是需要培养的,慎于交友才能够培养气质。博学多闻,感慨始深,堂庑始大。欧阳永叔:

「人间自是有情痴,此恨不关风与月。」

「直须看尽洛城花,始与东风容易别。」

能够有这样的感情,才能够逹到晏殊所说:

「昨夜西风雕碧树,独上高楼,望尽天涯路。」

浓厚的感情使我们对研究的对象产生直觉,这种直觉看对象而定,例如在几何上叫做几何直觉。好的数学家会将这种直觉写出来,有时可以用来证明定理,有时可以用来猜测新的命题或提出新的学说。

但数学毕竟是说理的学问,不可能极度主观。诗经蓼莪、黍离,屈原离骚、九江,汉都尉河梁送别,陈思王归藩伤逝,李后主忆江南,宋徽宗念故宫,俱是以血书成、直抒胸臆,非论证之学所能及也。

九、数学的应用

王国维说:

「诗人对宇宙人生须入乎其内,又须出乎其外。入乎其内,故能写之,出乎其外,故能观之,入乎其内,故有生气,出乎其外,故有高致。美成能入而不能出,白石以降,二事皆未梦见。」

「词之雅郑,在神不在貌。永叔少游虽作艳语,终有品格,方之美成,便有淑女与倡伎之别。」

数学除与自然相交外,也与人为的事物相接触,很多数学问题都是纯工程上的问题。有些数学家毕生接触的都是现象界的问题,可谓入乎其内。大数学家如尤拉、如富里哀、如高斯、如维纳、如冯纽曼等都能入乎其内,出乎其外,既能将抽象的数学在工程学上应用,又能在实用的科学中找出共同的理念而发展出有意义的数学。反过来说,有些应用数学家只用计算器作出一些计算,不求甚解,可谓二者皆未见矣。

富里哀在研究波的分解时,得出富里哀级数的展开方法,不但成为应用科学最重要的工具,在基本数学上的贡献也是不可磨灭的。近代孤立子的发展和几何光学的研究,都在基本数学上占了一个重要的位置。

应用数学对基本数学的贡献可与元剧比较。王国维评元剧:

「其作剧也,非有藏之名山,传之其人之意也,彼以意兴之所至为之,以自娱娱人,关目之拙劣,所不问也;思想之卑陋,所不讳也;人物之矛盾,所不顾也。彼但摹写其胸中之感想与时代之情状,而真挚之理与秀杰之气时流露于其间。」

例如金融数学旨在谋利,应用随机过程理论,间有可观的数学内容。正如王国维评古诗「何不策高足,先据要路津,无为久贫贱,轗轲长苦辛。」认为「无视其鄙者,以其真也。」伟大的数学家高斯就是金融数学的创始人,他本人投资股票而获利,Klein则研究保险业所需要的概率论。

然而近代有些应用数学家以争取政府经费为唯一目标,本身无一技之长,却巧立名目,反诬告基本数学家对社会没有贡献,尽失其真矣。有如近代小说以情欲、仇杀、奸诈为主题,取宠于时俗,不如太史公刺客列传中所说:

「自曹沫至荆轲五人,此其义或成或不成,然其立意较然,不欺其志,名垂后世,岂妄也哉。」

应用数学家不能立意较(皎)然,而妄谈对社会有贡献,恐怕是缘木求鱼了。

十、数学的训练

好的数学家需要领会自然界所赋予的情趣,因此也须向同道学习他们的经验。然而学习太过,则有依傍之病。顾亭林云:

「君诗之病在于有杜,君文之病在于有韩,欧。有此蹊径于胸中,便终身不脱依傍二字,断不能登峰造极。」

今人习数学,往往依傍名士,凡海外毕业的留学生,都为佳士,孰不知这些名士泰半文章与自然相隔千万里,画虎不成反类犬矣。李义山:

「刘郎已恨蓬山远,更隔蓬山一万重。」

很多研究生在跟随名师时,做出第一流的工作,毕业后却每况愈下,就是依傍之过。更有甚者,依傍而不自知,由导师提携指导,竟自炫「无心插柳柳成荫」,难有创意之作矣。

有些学者则倚洋自重,国外大师的工作已经完成,除非另有新意,不大可能再进一步发展。国内学者继之,不假思索,顶多能够发表一些二三流的文章。极值理论就是很好的例子。由Birkhoff、Morse到Nirerberg发展出来的过山理论,文意已尽,不宜再继续了。

推其下流,则莫如抄袭,有成名学者为了速成,带领国内学者抄袭名作,竟然得到重视,居庙堂之上,腰缠万贯而沾沾自喜,良可叹也。

数学家如何不依傍才能做出有创意的文章?

屈原说:

「纷吾既有此内美兮,又重之以修能。」

如何能够解除名利的束缚,俾欣赏大自然的直觉毫无拘束地表露出来,乃是数学家养气最重要的一步。

贾谊:

「独不见夫鸾凤之高翔兮,乃集大皇之野。循四极而回周兮,见盛德而后下。彼圣人之神德兮,远浊世而自藏。使麒麟可得羁而系兮,又何以异乎犬羊。」

媒体或一般传记作者喜欢说某人是天才,下笔成章,仿佛做学问可以一蹴而就。其实无论文学和数学,都需要经过深入的思考才能产生传世的作品。柳永:

「衣带渐寛终不悔,为伊消得人憔悴。」

一般来说,作者经过长期浸淫,才能够出口成章,经过不断推敲,才有深入可喜的文采。王勃腾王阁序,丽则丽矣,终不如陶渊明归去来辞、庾信哀江南赋、曹植洛神赋诸作来得结实。文学家的推敲在于用字和遣辞。张衡两京、左思三都,构思十年,始成巨构,声闻后世,良有以也。数学家的推敲极为类似,由工具和作风可以看出他们特有的风格。传世的数学创作更需要有宏观的看法,也由锻炼和推敲才能成功。

曹丕:

「古人贱尺璧而重寸阴,惧乎时之过已,而人多不强力;贫贱则慑于饥寒,富贵则流于逸乐,遂营目前之务,而遗千载之功。日月逝于上体貌衰于下。忽然于万于迁化,斯志士之大痛也。」

三十年来我研究几何空间上的微分方程,找寻空间的性质,究天地之所生,参万物之行止。乐也融融,怡然自得,溯源所自,先父之教乎。



丘成桐

二零零五年六月二十四日

2005-07-12

中小企业ERP美国上演三国演义

http://www.ceocio.com.cn/cio_community/res_11.asp
中小企业ERP美国上演三国演义
桑劲松/文

在美国,中小型企业也是ERP厂商眼中的"香饽饽"。

2004年夏,专注于美国中小企业ERP市场的微软和Best Software相继召开了代理商年度大会。这是它们每年一度向代理商发布未来市场导向的重要会议。在这两次会议中,大部分代理商都认为,美国中小型ERP软件市场已经进入了微软、Best Software和Intuit三足鼎立的时代。

微软在软件业的地位是不容置疑的,虽然它涉足ERP软件领域较晚,但发展势头十分迅猛。MBS(Microsoft Business Solutions)一系列大手笔的收购举动令业内人士颇为震惊,它先后收购了Axapta、Solomon、Great Plains和Navision等产品,其中Great Plains和Navision是两个相类似的产品。微软承诺,将对其所收购的上述4个产品继续提供技术支持,直至2013年;它们新一代的ERP软件Project Green也将于2007~2008年问世。对于收购的产品,微软采取了整合战略,即用大约10年将这些产品的技术优势和客户群逐渐融合、消化、吸收。整合战略使微软占据了美国中小型ERP软件市场的上层。不过,MBS在2003年的业绩并不理想,主要原因是由于MBS的产品多以微软的操作系统和数据库平台为依托,尽管技术先进、产品设计精致、功能强大,但实施周期相对较长,实施和维护也较为不易,总体实施费用较高。

三强中的Best Software创立于20世纪80年代初,总部位于南加州的Irvin,它长期致力于面向北美市场的ERP软件的开发,其主要产品MAS90/200在北美市场的口碑颇好,在美加拥有众多代理商,用户近8万家。MAS90/200易学、易用、易维护,其实施和维护较为容易,且物美价廉,不过在技术上稍显陈旧。库存、财务和销售管理是MAS90/200的强项,因此,它十分适合批发和分销行业的需求。在北美的华人企业中,MAS90的使用率颇高。不过,遗憾的是Best Software对少数族裔市场没有给予足够的重视。



Best Software曾先后收购了ACT、Peach Tree、ACCPAC等产品,加上其近年开发的新产品MAS500,使其产品覆盖了小型至中型企业市场,用户总数高达百万之众。对于所收购的产品,Best Software采取了集成的战略,即制做程序接口,将某些功能或模块与MAS90/200/500集成,使其主打产品的功能更为强大。这是一种投资少、见效快的方式。在过去两年中,Best Software从中获益颇多。Best Software的客户群以小型企业和中型偏小企业为主,它在美国中小型ERP软件市场上牢牢占据着中层地位。



Intuit成立于1984年,总部在加州的Mountain View。它主要致力于开发个人理财和小型财务软件。在美加和英国等国设有20个分支机构,并在欧洲和亚太地区拥有一些代理商。据悉,Intuit已通过与某企业的合作进入中国市场。Intuit的主打产品为Quicken和QuickBooks。它们在美国小企业中拥有庞大的客户群。Quicken主要用于个人理财,而QuickBooks则是侧重于服务小型企业和CPA(注册会计师)的财务软件。近年来,QuickBooks相继推出了不同的版本及应用于POS和互联网的解决方案。对大部分小型企业而言,其功能已十分丰富,但严格地讲QuickBooks只能被称为进销存和财务软件。Intuit的产品主要面向的是个人和小型企业用户,浅显易懂、价格低廉,用户能很快上手。不过,由于无法承担较大的数据量,库存管理一直是其弱项。Intuit凭借着在美国中小型企业中拥有庞大的客户群,占据了该市场的底层。

美国软件业者普遍认为,软件业已经走出了2000年后的低谷。如今,许多企业在上世纪末为解决"千年虫"升级或购买的新软件逐渐进入更新期。据预计,未来几年内,美国的软件市场将十分繁荣,而各厂商间的竞争也将更加激烈--Intuit希望自己的产品能够进入中型企业市场,Best Software则在努力稳固并不断扩大自己在中小企业中的市场占有率,而微软则想尽快在中小企业市场上抢得一杯羹。

如今,一个使用Intuit的QuickBooks的企业如果要购买Best Software的MAS90,它将能得到15%的折扣,如果它用的是微软的Great Plains或Navision,产品折扣还会更高。今年,Best Software还推出了100/100计划,即斥资100万美元为其代理商培训100名销售人才。它的某些促销措施颇值得中国软件业者借鉴,比如与信用卡公司合作,为企业采购软件提供贷款,贷款的范围不仅包括软件本身,甚至还涵盖相应的实施和服务费用。这些措施使得企业、软件商和信用卡公司三方都能从中受益。微软也正在着手将MBS的分销商和其他产品的分销商合并,这样其所有经销商都可以销售ERP产品。

众所周知,中国软件市场中的ERP软件厂商几乎都瞄准了中小企业,将中小企业的潜在购买力作为自己未来的增长点。这种市场理念并非中国市场所独有,事实上,在全球范围内,中小企业都是最具活力、增长最迅速,同时也是最具市场潜力的客户群。20世纪后期,美国国内众多大型企业集团为了降低成本纷纷将自己的生产基地移往海外,这使得它们在美国本土的机构大为精简。而近两年来,安然和凯玛特等大型企业的破产,更使得人们看到大企业正在衰落,因此面对大中型企业的ERP软件的需求也随之萎缩。与此同时,以批发、分销行业为代表的中小企业迅速崛起,对进销存及EDI等环节的有效控制成为它们的发展命脉。市场供求关系的变化为面向中小企业的ERP软件提供了巨大的发展空间。多年来,美国一直处于世界经济的领导地位,它的今天往往就是很多国家和地区的明天,因此我们不妨大胆预测,21世纪将是中小企业发展的时代,而面对中小企业的ERP软件市场也将进入繁荣期。

(本文作者曾在国内多家跨国管理软件公司任职,2001年移居美国,现任美国尖端计算机系统公司亚洲市场经理)