看来看去都是看数学书
计算机需要数学,这是无庸置疑的。可是有些事情还是很 shocking. 比如,全世界的程序员都写函数式编程写得好好的,用着只要小学生就理解的 LOGO 升级版–LISP,突然一个哥们跑出来说,我们要用一个新玩意儿,叫做 monad. 不懂的人请翻开范畴论教科书第200页,估计一帮高中毕业就编程的人肯定要跳楼至死了,想弄懂范畴论没几年抽象数学的训练肯定是不可能的。做 model checking 的人也是,老老实实的状态空间搜索和约减问题嘛,最多就是一些逻辑条件和线性时序逻辑推来推去的,结果好了,突然跳出一行字,写着 XX拓扑和 YY同伦等几个大字,好像就是在考验你知不知道数学的数有四种写法。
更加狠的是,有个朋友,昨天给我带了本书,让我看着玩。我光看标题和目录觉得没啥兴趣。 因为这本书标题叫做《多方民主》,每章就是讲讲欧洲民主,以色列民主啥的。 然后我就随便翻了一页这么一看,神奇的事情发生了:里面全是数学公式。不是高中数学公式,不是 C+M 这样的“文科生”数学公式,是正常的需要大学本科数学知识才能看懂的数学公式。这本书表面上看是很”文科“的书,其实丫就是一本博弈论书以”文科“的面目出现。这样的书,让无数以为文科都是傻妞的人情何以堪啊?
当然,政治科学需要博弈论是显然的,Tit for Tat, IPD 和 ESS 也基本是政治学系的人发扬光大的,所以,这还不是最狠的。
我遇到的比较神奇的是上次我在旧书摊上捡了一本讲“经济和合同法”的法学书,原来是想借此了解一下美帝国主义的契约文化的,一开始也明明就是讲合同法的,可是10页往后, 突然话锋一转,就来了个纳什均衡和证明,然后下面就完全是定理了。 其实纳什均衡本来也不是什么复杂的东西,证明均衡也只要不动点定理,可是,有没有搞错,这是一本法学书哎,居然余下的那章都是在讲实变函数和纳什博弈!
好,现在我要讲最神奇的数学书了,是我昨天做梦梦到的,
我梦见我买了本 geek 菜谱,做两立方厘米的糖果的菜谱上写着 三次根号二 的大小的模具,附带一个开三次根的牛顿迭代法,我不得不用人肉开了一次立方根。咖喱牛肉中,牛肉和水的比例是1比根号2, 我在梦里不得不用无穷递降法,证明给我未婚妻看,不管她买多少有理数数量的牛肉和水,都不能配比成正好根号二这个无理数。 最变态的是做一个 Pie, 要我加 Pi 量的面粉才能做出半径为1的饼,旁边还附带了拉马努金老师的公式, 可是我这个菜鸟还是没编出那个高精度运算的程序…
数学书啊数学书,做梦你都不放过我。

star said,
October 22, 2009 @ 3:30 am
证明你已经完全geek化了…
humann said,
October 22, 2009 @ 3:55 am
那是学术界的病。
明明是一两句话就能说清楚的浅显问题,为了发论文好看,硬是搞的无比复杂:非要先定义一大堆抽象的数学概念,搞几个集合,定义几个没用的公式,还美其名说”要建立在扎实的数学基础上”。
看看牛人写的书,哪本不是清清楚楚几句话就把重点给讲出来了。
我一直认为,数学公式是拐杖,给能力不够的人用的。
能用人类质朴的语言解释清楚这个复杂的世界,是一种 超能力。
hayate said,
October 22, 2009 @ 8:51 am
@humann
这个世界有很多语言,数学的语言,计算机的语言,音乐的语言,都是为了弥补人类自然语言的局限性。
如果理解那些数学公式,你会发现没有更简洁的描述了。这就像我们很难用人类语言来代替五线谱表达音乐一样。
装b的当然不算,但是不是所有东西都能简洁地用人类语言表达的。
Matrox said,
October 22, 2009 @ 9:13 am
@humann
讲重点、使读者理解,可能只需要几句话,但是要让这几句话严谨的无懈可击,可能需要一百句。
数学语言显然是表达这一百句话的最佳工具,而啰嗦、又臭又长的自然语言才是能力不够的人需要的拐杖。
ablmf said,
October 22, 2009 @ 9:33 am
看过几天haskell的monad,看完就彻底放弃了——
就算我看懂了,我不太可能请到可以用monad编程的程序员。
Yuanxi said,
October 22, 2009 @ 1:49 pm
@ 呵呵 书写了就是给人看的 表达方式的不同而已 博学的人当极可能多得掌握写不同类型书的技巧。
文科理科还有艺术生体育生等各种分法虽然有其道理,弊病也甚多。
否则的话,达芬奇是要算文科生还是理科生,是算艺术生还是体育生呢?
Xiang said,
October 22, 2009 @ 9:38 pm
看到这篇文章,不得不上来留言。多少有点为赋新词强说愁的味道。
大家以为这种现象的原因是什么呢?
Hong Xiaowan said,
October 22, 2009 @ 10:27 pm
这篇文章是我所讨厌的大徐的文章中我最不讨厌,也是最喜欢的文章,数学是一切学科的基础,没有数学,任何学科都不能算是成熟,或者真正可用的学科。
而任何数学分支在一个领域中的处女之旅,都可以带来惊喜,这也算是一种创新吧。
Hong Xiaowan said,
October 22, 2009 @ 10:32 pm
我很喜欢烹饪,曾经用简单的黄金分割来确定调料的配比,结果也是非常惊喜的,你可以试试,用几十种调料,然后彼此之间用黄金分割进行任意调配,生成的无数种复合调料,真的让你感慨,人生何其短。
reeze said,
October 22, 2009 @ 11:04 pm
作的梦都不是一般的高深啊
梦就是把潜意识思考的东西给展现出来了
xuanhen said,
October 23, 2009 @ 12:16 am
哈,天……朝宽恕了你。。又可以到站上来看了,而不是reader
Righthand said,
October 23, 2009 @ 12:22 am
对于自然学科,最后能回归质朴的语言向众人清晰的描述所知图像,确实是需要极大天赋和才能,但是背后是需要繁琐的数学作为理论的支撑的
dulao5 said,
October 23, 2009 @ 3:03 am
你的梦让我想起 王小波《寻找无双》
Trustno1 said,
October 24, 2009 @ 9:08 am
数学中的公理–定义-定理体系的思想方法与软件中抽象-设计模式相当。
数学中的证明过程的价值与软件开发中的unit-test相当。
数学工作者与物理学家,化学家,程序员之间的关系与软件开发中的类库开发者和应用程序员的关系相当。
当数学工作者看到某个外行把n个的同构的数学性质用了10多页的废话证明了n遍,其心情不亚于一个软件设计老鸟看到某个程序员写出长达几百行的if-else.
当数学工作者看到某个外行所使用的数学规则充斥着猜想,循环论证其心情不亚于一个敏捷程序员看到一大坨没有写unit test的代码。
数学的公理-定义-证明的作用,不在于能够发现任何新的知识,而是帮助别的领域专家整理知识,提供可靠的工具。这恰如OO,functional programming,design pattern的作用不在于能帮你解决具体的业务逻辑,而在于他们能帮你精简代码,减少码字的时间,降低代码出错的可能性。
当然叶公好龙式的使用数学,其大概也类似于那种FactoryofFactoryofFactory式design pattern.
hui said,
October 25, 2009 @ 8:00 pm
A短信B
A:你在干什么?
B: 玩…
A:玩什么?
B: 玩数学
瘦肉丝 said,
October 28, 2009 @ 3:52 pm
赞“未婚妻”。
今后再也不会提到“女朋友”了吧?
@-默荷 said,
November 3, 2009 @ 10:54 am
太有才了,这菜谱。。。。。。。。。
coral said,
November 5, 2009 @ 3:29 pm
我做梦也很扭曲,在我复习Psychoacoustics快疯了一天晚上,我梦见自己的cochlea自己断开然后横截面自己介绍自己每层膜儿是用来干嘛的……
pre said,
December 6, 2009 @ 9:58 pm
数学之美
KEviN said,
December 10, 2009 @ 8:52 am
请问“拉马努金老师的公式”是什么?解pi的吗?
还有请问数学中的数有哪4种写法呀?
th000 said,
December 15, 2009 @ 10:24 am
追楼主的博客很久了,收获很多,在编程上也算入门了。最近对形式语言和自动机以及Lambda很感兴趣,形式语言可以看成一种Lambda演算,开源库Boost也推出了Lambda以及tuple这些东西,看来函数式编程要抬头了,新兴的模板元编程也是这个的应用,但自己对丘奇以及Lambda了解很浅,一直不知道看什么书,楼主可不可以提供一些具体的教材以及学习途径啊,谢谢楼主。
anonymous said,
December 15, 2009 @ 10:26 am
忽悠,都是忽悠!