微信号:csdnbigdata

介绍:CSDN分享Hadoop、Spark、NoSQL/NewSQL、HBase、Impala、内存计算、流计算、机器学习和智能算法等相关大数据观点,提供云计算和大数据技术、平台、实践和产业信息等服务.

实名推荐熊节《敏捷中国史》,IT 历史不止有趣的故事

2019-03-08 08:39 余晟


本文来源 | 公众号-余晟以为

作者 | 余晟

责编 | 林瑟


许多人大概还记得列宁有句名言:“忘记历史就等于背叛”,也承认历史的重要价值。但是,IT 的历史有什么价值,有多重要?恐怕对许多人来说,IT 的历史只是有趣故事的集合。


这不奇怪,因为“计算机的历史”实在不是一门显学。许多人都认为,计算机(或者“IT行业”)太年轻,一切尚待摸索,发展又太快,所以不了解过去,完全不是什么问题。我以前也这么想,不过在这个行业干了十多年之后,我不得不承认,多懂点 IT 的历史真不是坏事。


有时看到一些程序员写的程序职责混杂,最基础的操作和存储都没有分离,真是让人无语。不过,这正是我今天推荐《敏捷中国史》的理由所在。与常见的“IT 技能培训”不同,《敏捷中国史》由熊节这位开发专家撰写,讲解的却不是具体的  IT 技能,而是接近 20 年的开发演变历史。


长期以来,外行虽然能把故事讲好,又缺乏专业素养,经常闹一些笑话,而 IT 行内人士更多擅长讲解专业技术,不擅长也没兴趣讲 IT 的历史。反过来想,IT 行内人士来正经讲 IT 历史,这恰恰是《敏捷中国史》的独到之处。而且我相信,熊节讲的这段历史值得如今的从业人员了解。那么,它包含了哪些内容呢?


先不要被“敏捷”所迷惑,以为是它是在念经。其实不是,这里说的“敏捷”,其实是相对传统开发模式而言的。那是什么模式?瀑布式开发、大版本、长周期、部署繁杂…… 似乎一切都与今天流行的“开发”不同。《敏捷中国史》所讲的,就是这种转变的故事。简单来说,它主要包括两方面的内容。


扫码查看《敏捷中国史》

01

一方面是全球的 IT 发展潮流


举个例子,像我这样“入行比较早”的开发人员都还记得,曾经有个东西叫 EJB,一度非常红火,成为企业应用中当仁不让的主力。EJB 也得到了大批产业人士的推崇——当时“中国 Java 第一人”,深圳金蝶中间件有限公司技术总监袁红岗就声称:“如果项目中没有使用 EJB,就不能算是真正使用了 J2EE 技术”,斩钉截铁,言犹在耳。


EJB 是什么?是当年 Sun 主推的技术方案之一,其设计初衷是成为基于 RPC(远程过程调用)的分布式应用架构。简单说,可以把远端进程当成普通对象,像本地 Java 方法那样简单调用。所以,对象需要考虑分布,RMI 成为标配,XML 更是铺天盖地……


为什么如今的分布式架构和 EJB 看起来截然不同?很大程度上是因为敏捷开发的领袖们发出了不一样的声音。Martin Fowler 大力主张“分布式对象设计的第一原则就是对象不能分布”,他提出的解决之道是如今开发的常识:


Put all the classes into a single process and then run multiple copies of that process on the various nodes. That way, each process uses local calls to get the job done and thus does things faster. You can also use fine-grained interfaces for all the classes within the process and thus get better maintainability with a simpler programming model.


这还不算,另一位大神 Rod Johnson 更是写了一本振聋发聩的著作《Expert One-on-One J2EE Development without EJB》,书名直接打脸。什么,你不知道 Rod Johnson 是谁?那你更应当去读IT的历史了。如今大红大紫的 Spring 框架,可不是石头缝里蹦出来的。


当年 EJB 为何得到厂商的大力推广?敏捷阵营又如何颠覆了 Sun 的“亲儿子”EJB?这个故事在《敏捷中国史》里有专门描述。看完,估计你会对如今热炒的、有各路人士站台的技术潮流有更多的看法,这是好事。


02

另一方面是国内的 IT 发展故事


第一个例子是微软的公众印象。如今微软在国内开发者心中的形象并不太好,甚至 C# 的开发人员都已经越来越难招了。但是倒回去 20 年,画面可截然不同。对许多开发者来说,“Visual C++ 就是 C++ 的同义词”。在 2001 年,著名程序员孟岩写了《VC 不是梦想,C++ 需要自由的心》。在中文世界里用“梦想”、“自由”这样的词汇来描述一种编程语言,就算他不是第一个也差不太远。


把当年如日中天的微软批评为“封闭”、并振臂疾呼“在我们程序员的心中,没有凯撒,我们可以把你当朋友,但是你别想做我们的主子”、“不自由,毋宁死”,这些真诚的呼声,在当年看来是极具开创性和震撼力的观点。如今这样的声音似乎不见了,即便有也往往伴随着各式嘲讽。这到底是好事还是坏事?我不知道答案。但知道历史上有过这样的呐喊,总不是一件坏事。


另一个例子来自敏捷在国内的落地。今年初任正非老先生专门写了封信,强调软件工程。那么,如今成为普遍共识的“敏捷开发”,在各家公司是如何导入的?《敏捷中国史》里用三节,分别讲述了敏捷在阿里、华为、腾讯落地的故事。


简单来说,华为采用的是“三步走”的策略,2008 年先在核心网、无线等产品线试点,成功之后再全面推行,由系统工程部提出了完整的规范和详细的计划。而在腾讯,之前已经有模糊的敏捷的实践,所以研发管理部没有设计全公司的整体路线,而是以平台和服务的形式提供给各团队,自由选择。


阿里巴巴的故事最神奇,2005 年8 月,雅虎以雅虎中国全部资产和 10 亿美元为代价,换取了阿里巴巴 30% 的股权(后来看这是雅虎历史上最正确的选择)。原来雅虎中国的广告团队整体切换为阿里广告团队,后来成立了阿里妈妈。阿里巴巴的敏捷实践,最早就是这支团队在 2006 年 3 月开始的。联想到早期雅虎和 Sun 的工程师为阿里的技术做出了很重要的贡献,我们是不是可以得出结论说:阿里巴巴的文化确实有独到之处呢?


当然中国的故事还不只这些。在阅读过程中我经常遇到尘封许久的名词,比如“软件蓝领”,当时很多人主张要学习印度,像培养流水线工人一样培养软件开发人员;又比如 CMM,这个概念一度大热,各公司都以能拿一个 CMM x 为宣传……这些东西为什么后来沉寂了,消失了?我似乎没想过,此时听作者娓娓道来,是一种享受。


我一直很认同秦晖老师的话:“主义可拿来,问题须土产”。在技术领域也是如此,单纯是贩卖些流行的概念,尽管光鲜亮丽,更像绣花枕头,其实不能产生多少实际价值。唯有静下心来收集信息、了解情况、细致分析,投进去足够多的工夫,才能发现真问题,才能推动解决问题。


如果上面的故事让你产生了兴趣,如果上面我的观点让你认同,建议你阅读《敏捷中国史》。我相信,在阅读过程当中,你收获的并不只是“历史故事”,肯定还有对现实的更立体的了解,以及其它启发。


03

再介绍《敏捷中国史》的作者熊节


如果你阅读计算机书籍时留意过译者,应当记得和这个名字相关的有一系列重磅作品:《重构》、《软件工艺》、《实现模式》。但他其实不是专门的译者,而是技术专家,现任宝尊电商成都研发中心总经理,曾任 ThoughtWorks 总监咨询师、 CSDN 技术主编。


我们都知道,在这个年代,做技术的收入远远超过写一套 IT 历史。所以,愿意花这么大力气写整套历史,除了兴趣和情怀,实在找不到更好的理由了。 


最后,《敏捷中国史》未来有书籍出版计划,目前是以线上课程形式在GitChat 提供。我觉得这是好事,一方面它本身天然适合分章分节阅读,另一方面,读者的许多疑问也可以及时提出,得到作者解答。


有兴趣的读者,扫描上方海报的二维码就可以试读了,这是《敏捷中国史》的阅读指南,大家可以尝鲜预览:


适宜人群

  • 致力于高效开发的程序员

  • 对 IT 发展感兴趣的人士

  • 互联网从业人员


购买须知

  1. 本课程为图文课程,共计 35 篇。

  2. 付费用户可享受文章永久阅读权限。

  3. 本课程为虚拟产品,一经付费概不退款,敬请谅解。

  4. 本课程也可在 gitbook.cn 上购买和阅读。


点击阅读原文,了解中国软件开发工程 20 年!

 
CSDN大数据 更多文章 今日头条的推荐阅读你为什么都喜欢? Python ,AI 时代的第一开发语言! 10 分钟用 Python 搞定数据可视化! 不学设计模式,源码你都看不懂! 轻量级编程模型、Web 2.0 创业神器 Ruby on Rails&nbsp
猜您喜欢 如何为 Python 添加远程调试能力而不修改系统代码 神奇的三维全景拍照是如何诞生的 Nginx实现负载均衡的方式有哪几种呢? 常驻查询引发的thread pool 性能问题之一 如何用Apache Kylin让Hive表查询提速千百倍