今年看了一部电影 The Intern(《实习生》)Anne Hathaway(安妮·海瑟薇)主演的,觉得这类都市片还不错,然后在豆瓣的相关影片推荐中又碰巧看到了她的另外一部旧片 The Devil Wears Prada(中文译名叫《穿普拉达的女王》或《时尚女魔头》)一部讲时尚产业的电影,看完后觉着即使把 IT 技术放进去也挺合适的,毫无突兀,若有所感。
潮流的历史
在知乎上看到这样的问题,面对层出不穷的新技术,一般程序员追逐技术潮流,总感到疲于奔命,如何是好?我想这个问题应该是个普遍性的问题,因为曾经也让我困扰过。
刚入行的时候我用 PB,没多久又换成了 Delphi,为企业写 C/S(Client/Server) 结构的软件。但不久 C/S 软件就日薄西山,不流行了。互联网兴起了后,B/S(Browser/Server)结构的应用开始热门,我又去学了 JSP,进入当时如火如荼的 J2EE 应用开发。刚把 EJB 搞明白用熟练,一个哥们跑出来说 EJB 太重了,轻量级框架的春天(Spring)来了,于是我又赶快踏上开往「春天」的列车。
还未感受够春光明媚,天空又飘来一朵「云」。云计算掀起了新的技术潮流,虚拟化从 Hypervision、Xen 到 OpenStack 和 Docker。在云时代上了年纪的关系数据库和 SQL 看起来不够活力飘逸,NoSQL 应时而生,一时数不过来的各类 NoSQL 数据库,风光无限。 有云自有它的好兄弟大数据,系出名门的 Hadoop 家族也盖不住新贵 Spark 的风头。一时落在地上的我,只好看庭前花开花落,望天上云卷云舒。
近年,不仅是后端技术潮头涌动,前端技术也不遑多让。好多年前还能自诩全栈开发,除了写后端逻辑,还得自己设计页面,HTML、JS 和 CSS 三件套玩得有模有样。仅 JS 一样就框架无限多,从 jQuery、Ext 到 Angular 和 React 已是沧海桑田间,HTML 似乎变化最少,可我早已没时间去关心 H5 到底有了什么变化,而如今谁还写 CSS 呢,我们现在写更高级的再编译成 CSS。
上面提及的好多技术也只是与我插肩而过便已进入历史的故纸堆中,但潮流还在继续,我们终将还会面对大潮的一遍遍冲刷。
传播的路径
在这股技术大潮面前,为什么是上面这些技术最终站上潮头,冲刷到了我们面前?而我想还有很多技术甚至连名字都没能留下,便已沉入水底。
在电影中有一段谈及潮流和时尚传播的场景,穿普拉达的女魔头是这样教育初出茅庐的安妮·海瑟薇的:
你去你的衣橱,选择,我不知该怎么说好,比如选择了你那件松松垮垮的蓝色绒线衫。
因为你试着告诉世人你的人生重要到你无法关心自己的穿着。
但你要知道那衣服不仅仅是蓝色,不是青绿色,也不是蓝青色,而是天蓝色。
你还漫不经心的忽视了这个事实,早在 2002 年,奥斯卡·德拉伦塔设计过一系列天蓝色礼服。
然后,我想是伊夫·圣罗兰(法国著名时尚品牌),是它吧?设计了天蓝色的军式夹克衫。
之后天蓝色就成为了八位不同设计师的最爱。
再之后流入百货商店,最后慢慢渗入到一些可悲的中档品牌(原文用 Casual Corner 美国中档舒适品牌作代表)。
毫无疑问,这才让你从它们的清仓货中淘到了它。
总之,那蓝色价值数百万美元,花费了数不尽的心血。
滑稽的是,你以为是你选择了这个颜色让自己远离时尚界。
而事实却是,这屋子里的一帮人帮你从一堆衣服里选了这件绒线衫。
这是一段描述时尚潮流如何从*设计师逐渐渗透流入到普通人中间的,实际上技术潮流的传播路径我感觉到也很类似。
最近有一本书《微服务设计》刚出版,使得关于微服务的讨论变得似乎热闹起来,微服务架构也成为大型互联网应用架构的一个热门技术潮流了。而这本书实际是翻译的 2014 年底出版的《Building Microservices》,而在英文版书出来之前,2014 年初,技术界的架构理论大师 Martin Fowler 已经写了不少关于系统地探讨微服务的文章。而在这些文章之前的 2011 和 2012 年一些来自互联网公司的精英工程师们就在威尼斯附近组织小范围的专题讨论会(workshop)探讨他们正在实践的软件架构方式。
所以,也许今天你在津津乐道并选择的某种新潮技术,正是不知何时屋子里的(workshop)一小帮人帮你做出的选择。
时尚的形成
对我们大多数人而言,我们面对技术这片水域,投身其中便如砸下一颗石子,也许溅起了一小片水花,便复归平静,从未掀起过一次浪潮。而只有少数公司或少数人在引领和推动技术潮流,并形成了时尚。
比如前面提及的微服务背后的少数公司是 Amazon、Netflix,少数人是 Martin Fowler。iOS7 开启了扁平化的审美时尚,这背后的少数人和公司正是 Jony Ive 和 Apple 吗。AlphaGo 围棋大胜人类*棋手,一场人工智能的盛宴正在开场,Google 站在背后笑而不语。
技术的水域一直未曾平静,一浪接着一浪,推升着一轮又一轮的新时尚。扑面而至的技术浪潮与新时尚让我们心怀不安和恐惧,应接不暇而又怅然若失,也许你曾经也站上过某个潮头浪尖,但我们未必需要去征服每一个浪头。
技术的T台
电影里女魔头说一年最重要的就是在巴黎的一周(巴黎时装周),在这里时尚工业围绕的核心问题是引领审美的趋势,围绕这个核心来选择、裁剪和搭配。
技术界也有类似的大会,这是一个技术的T台。各公司的技术「模特」们在这里上演一场场关于技术的秀,我们在这里能看到的只是技术时尚的外衣,但别忘了在这样的秀场围绕的核心问题是什么呢?
正如时尚大会交换着设计师关于审美的看法,技术大会则交换着工程师关于现实问题的看法。技术的出现总是为了解决问题本身,带着问题去看不同公司的工程师如何去选择、裁剪和搭配技术。
所以当我们聚焦在问题上后,会发现很多新出现的技术名词,大多是重新发现旧技术的价值。微服务重新应用了 Unix 哲学的价值,分布式服务框架重新发现了四十年前就出现的 RPC 的价值。云计算重新把对操作系统的认识定义在了机器和机器之间,甚至数据中心和数据中心之间。技术潮流和时尚不过是枝和叶,技术基础才是根和源。
时尚如乱花,迷人双眼,问题如浅草,遮人道路。回归技术的本质,拨开乱花与浅草,轻松前行。
...
好多年前,我还算个全栈(沾),网站上的图片也想自己设计,于是买了本 PhotoShop 的书想学着做,看了一阵后突然领悟到,错了。今天浪潮依然汹涌,我站在岸边,看着潮头跃过,渐行渐远。这其实关乎选择。
写点程序世间的文字,画点生活瞬间的画儿。
微信公众号「瞬息之间」,遇见了不妨就关注看看。