December 2018


前些天和朋友讨论一则社会新闻——发生交通事故之后,犯罪嫌疑人因为赔不起两万块钱,铤而走险杀死对方三人。群里有朋友说:实在想不通,两万块钱也不多,犯得上去杀人吗?现在随便做点什么,一个月也有万把块钱呀。

听了这话,我不知道该说什么。这位朋友其实并无恶意,本来也不是大富大贵的家庭。但是这几句话,总让我想到之前经历的一些事情。

(more…)

“软件工程”是个老话题了,我以前写过一篇文章《名不副实的“软件工程”》,当时还引起了不小的争议。回头看,当时更多的思考还是在“软件工程”本身。我们完全可以把讨论的范围扩得更大一些:“软件工程”和“工程”有关吗?如果有,到底有多大的关系?(这里的“软件”泛指IT的各种开发,不存在“软件”和“互联网”的分别。)

不要以为这些问题很好回答。在大学里,“计算机/软件开发”专业到底属于理科还是工科?似乎一直没有明确答案。到了社会上,一说起“计算机/软件”,很多人都觉得它既不同于文科,也不同于传统的“工程”(硬件)。

那么,“软件工程师”和“程序员”究竟有什么区别?似乎一直也没有人说清楚,只是名称不一样。就我所知,不少搞软件开发的人认为,软件是全新的领域,应当有全新的知识体系和工作范式,所以学校教育根本没啥用。甚至,有些人在内心看不上传统的工程人员,认为那都是“夕阳行业”的过时经验。

“软件工程”真的有这么特殊,可以大喊“我们不一样”吗?中国历史上有过“白马非马”的辩论,“软件工程”和“工程”之间也是这种关系吗?

下面结合软件工程,讲几个“传统”工程的故事。如果你也好奇“软件工程”和“工程”的关系,相信可以得到启发。

(more…)

11月27日,印尼公布了“狮航”失事波音737飞机的初步调查结果。调查显示,飞机从起飞到失事的11分钟内,最后两分钟里,飞行员和飞机进行了不下二十次“搏斗”,最后败给了飞机。

事情是这样的:最新款的波音737,也就是737 Max,安装了名为“机动能力增强系统”(maneuvering characteristics augmentation system,简称M.C.A.S.)的系统。如果驾驶员操作不当,这套系统可以自动介入,修正飞行姿势。不幸的是,这架飞机的攻角(angle-of-attack,即仰角)传感器一直有问题,总是发出错误数据,虽然之前已经替换了一个,但也不是新的,而是经检测“可用”的传感器。

(more…)