日更130天 - (翻译)The Mathematical Hacker(上)

程序员圈子里不乏很多有天赋的博主。今天我挑出三位我最喜欢的: Eric Raymond, Paul Graham, Steve Yegge
因为他们都不赞同程序员在实际开发中一定需要数学。

Eric Raymond: 除了特定领域像3D图像和科学计算,数学不是必须的
Paul Graham: 数学更像是禅宗的花园,用来汲取灵感。
Steve Yegge: 数学是计算机科学的基础,人们可以在维基百科上找到很多有趣的数学文章。

学术届的计算机科学家和工程界的软件工程师其实做的事情也是不同的。一个是汽车设计师,一个是开车的司机

所有这些观点,我认为都是短视的。

在特定的场景里,这些观点是对的。 如果你是像Raymond一样的系统和网络程序员,你除了知道乘法和模算数之外,就能做好工作。Graham提到,数学可以是丰富的隐喻来源,也是对的。而Yegge那部分描述同样是正确的,计算可以被简化为数学形式主义(这是Lisp黑客们喜欢经常重申的事实)。

他们似乎都同意一件事:从工作的角度来看,数学基本上是无用的。Lisp程序员被告知该感谢数学中有Lambda算式,但今天数学更像是一种个人启蒙形式,而不是完成实际工作的工具。

这种观点是错误的。它之所以盛行,是因为没有任何科学或数学知识,也有可能成为一个富有成效、报酬丰厚的程序员--甚至是一个一流的黑客。但我认为,大多数认真工作的程序员应该知道微积分(真正的那种)、线性代数和统计学。原因与编程本身无关--编译器、数据结构,以及所有这些--而是编程在经济中的作用相关。

解读20世纪商业历史的一种方式就是经历一系列的转变,即那些 "不需要数学 "的行业突然发现自己严重依赖数学。统计质量控制重塑了制造业;农业经济学改变了农业;方差分析彻底改变了化学和制药业;线性编程改变了供应链管理和物流的面貌;布莱克-舒尔斯模型(BS模型,是一种为金融衍生工具中的期权定价的数学模型)凭空创造了一个新市场。最近,"Moneyball魔球理论 "技术已经占领了体育管理。还有很多其他的例子。

image.png

日更129天 - (翻译) C语言学习中的数学知识简要说明
日更128天 - (翻译) 编程是否需要数学(下)
日更127天 - (翻译) 编程是否需要数学 (上)
日更126天 - 知识付费是士力架还是人参果
日更125天 - 整理下自己的手机,别让它碎片化了我们的生活
日更124天 - 打造自己小环境
日更123天 - 杠杆
日更122天 - 收入的四个象限
日更121天 - 时光穿梭,回顾和展望
前日更120天索引

你可能感兴趣的:(日更130天 - (翻译)The Mathematical Hacker(上))