还是一篇老文章 - 由软件升级想到的
最近一波WannCry病毒,把很多还在用XP操作系统的机构都搞得不是焦头烂额,就是人心惶惶。XP虽然成功,但是都这么多年了,微软早就说好不支持了,这个锅不愿意背估计还得背。今天在印象笔记中看到自己一篇2014的文章,写的也是关于软件升级的,文章早就随我CSDN账号没了,在这里从新发出来,也算应个景。
下面是文章全文:
这几天因为要用的到,对单位只有.NET 4.0产生了极大的怨念。在羡慕.NET 4.5的诸多新功能,和Visual Studio 2013的强大的Github集成之余,怨念为什么公司升级那么慢之后,再自己想想,其实对开发环境,基础类,以及集成开发环境的快速升级其实是对企业用户,和广大程序员的背叛。
对于我们个人用户,升级操作系统往往是由更换硬件带来的,而安装很多基础软件和环境,往往大多数时候是为了使用什么软件。比如很多人在XP上安装.NET 4.0都是由于游戏运行不了这种原因。在这种原因的驱动下,我们个人是有很大动力进行升级的,因为要进游戏嘛:)。举个自己的例子,前几周,自己为了在新买的笔记本上运行极品飞车18,一晚上就把DirectX 9到11,显卡驱动,.NET 4.5等一大堆东西都装上了,直到游戏可以运行,才心满意足。
而大型企业在基础IT平台升级的时候,往往考虑的并不是新的平台到底带来了什么好处这种广告性问题,而是很实在的另一个问题:以前可以运行使得好好的软件现在到底还可不可以用。考虑这个问题,就给企业升级背上了沉重的包袱。小到Windows上的一个安全补丁,这种对于我们个人用户往往是默认安装的东西,对于企业来说,则需要在开发环境,测试环境经过严格测试后,才可以发布到生产机上。大到公司升级Windows版本,哪个公司不是要花几年才能完成Windows XP的淘汰啊。再举个服务器升级的例子,公司升级Web服务器从Windows Server 2003到Windows Server 2012,就从IIS6升级一个网站,在所有代码都不用修改的情况下,光环境配置什么的就搞得我的同事忙了3个月。不要说是微软的问题,在企业中管理过多个Java项目的人都会知道一台服务器上要装多少个版本的JVM,哪个不是因为软件有什么功能不支持新版,只好把所有的版本都装上。
所以说,企业升级不是不想快,是真的快不起来。那么回到最开始说的,对于企业用户,如果软件厂商经常对自己的产品进行升级,就产生了屋漏偏逢连夜雨的效果了。所以说平台的稳定性,也是企业选型的时候一个很重要的参考因素。
说完了企业,再看我们程序员,面对软件开发平台的日新月异,我们到底是受益者吗?不可否认,现在软件开发环境越做越好,越来越好用。可是和80年代的那波程序员聊聊的话,我们就知道现在多郁闷了。80年代的那波程序员,大多数都可以一招先吃遍天,而我们现在呢?不会上那么五六种语言自己都不好意思说自己是程序员。更不要说多如牛毛的框架,完全学不过来。更加郁闷的是,由于上面提到的企业升级的不可承受之慢,我们往往在工作中不能使用到最新的版本。这就导致了一种只能使用过时技术的怨念。
那么升级是背叛,不升级呢?那自然也是不行的。至于各个厂商如何掌握这个度,那就不是我可以说清楚的了。
不过作为程序员的我们,在设计系统,写代码和维护自己代码的时候,不妨也请换位思考一下,我们是不是为自己的用户考虑了将来软件升级和维护的问题了呢?这些“软的”需求一般用户很难自己提出,请“己所不欲,勿施于人”。