入那个状态的呢?
袁浩瀚,Quant, Geek, Actuary, Photographer
作为一个写程序很长时间但是不以程序员为职业的人,我爱 coding,我说说我的感受:
1. 世界上有很多系统是完全由人设计的,比如金融、比如计算机。但是数学和计算机是两种最常见的确定式系统。举个例子,金融系统基本由人类设计,但是在市场上,你的对口是人,比如股市是人与人之间的博弈,人是不确定的,因此这个系统也是不确定的,小概率(黑天鹅)事件比比皆是,作为一个赌性不强的人,我对于这种非确定性系统,是爱恨交织的。但是数学和计算机的根本都是 1+1=2,或者 1+1=10(二进制),一旦你掌握了原理,你是可以完全确定的去完成很多事情的。但是数学的创造远难于编程,因此我对于在一个确定性系统下去创造的感觉,只能说很踏实很爽。相信很多朋友也有这种感受。
2. 编程让你的思维会条理化,细致化:编程说简单了,就是告诉计算机按照一定的步骤去高速完成任务。人的特点是可以直觉思考(intuitive thinking),但是计算速度有限;计算机的特点是不能直觉思考但非常听安排,但是计算速度巨快。所以编程是一个你教计算机如何去做一件事情的过程,比如 如何把大象关进冰箱。当你熟练后,你会发现你的思考问题的条理好了很多,做事一二三四步安排得很清楚,步骤先后顺序(拓扑关系)也能处理得很好。同时,编程要考虑很多极端情况,比如内存溢出。编程越来越多,你会发现自己越来越谨慎,特别是长期做网站等交互性比较强的程序后,你会反复思考如何面对 变态用户,到后来你做事就会越来越细致。这个思维训练的过程数学和物理也有,但是你是在创造中学习,这一点会很销魂。
3. 廉价的工科实践方式:工科很多都是有创造因素的,按照人的定义,人就是能制造工具的动物,因此创作的成就感于我个人是高于去做重复劳动的。就像 80 后小孩儿时喜欢玩四驱车一样,创造永远是一种令人兴奋的乐趣。现在大部分工科的实践,成本都略高,比如让你去造台汽车,或者合成个有机物,一般人都没有条件去完成。但是编程,算是物美价廉的去满足你创造欲的一种方式:一个还算 ok 的电脑足以。
4. 代码之美:说实话,这个魅力需要你在一定时间的编程后才能体验,其感觉类似于看到数学中的美妙公式。代码是程序员写出的文字,有些代码,如同诗歌一般,令人黯然销魂;有些代码,如同杂文一般,令人拍案叫绝;有些代码,如同小说一般,令人反复回味;有些代码,如同谜语一般,令人前赴后继;有些代码,如同歌剧一般,令人如痴如狂。当你有一天面对一段代码内流满面,你就懂了我在说什么。
|