以下内容转载自:阮一峰 科技爱好者周刊(第 250 期)

这几天,我读到三篇文章,全部是工程师后悔使用了新技术。

第一篇文章《为什么我们放弃 Elm 语言》

(说明一下,原文都是英文,为了方便展示,我把截图用”翻译”功能转成了中文。)

第二篇《GraphQL:从兴奋到幻灭》

第三篇《为什么我后悔使用 ionic》

上面三种新技术,都是最近10年诞生的。当时,都号称解决了开发的重大问题,看上去很有希望。 因此,一诞生就成了热点,非常吸引眼球,这些工程师就都采用了。

我说说这些技术的优点。

Elm 语言保证网页脚本不再报错。

GraphQL 只发一个请求,就满足前端的所有数据需求。

ionic 让你使用任意 JS 框架,开发安卓和苹果的手机应用。

如果你是前端工程师,一看这些技术特点,大概立刻就会心动。

但是,当你真把它们用在生产环境,各种问题就会慢慢暴露出来,几年以后你可能就像上面的文章作者一样后悔莫及。

Elm:最新一次更新是2019年,与当前 JS 生态的融合越来越困难。

GraphQL:使用后的性能提升不明显,反而使后台架构变得复杂,而且分页、缓存等问题很麻烦。

ionic:文档不足且混乱,没有社区和生态。

等到后悔了,想要更换技术栈,就晚了。上车容易下车难,项目都持续投入好几年了,再修改架构谈何容易。

这件事的教训,就是使用新技术要谨慎。新技术有一个最大风险,往往被忽视,那就是它们没有经过足够的使用,问题都没有暴露出来。

我记得,有人做过研究,企业软件的成本,只有20%是早期的开发成本,剩下的80%都是后期的维护和更新成本。

很多的新技术,看上去可以节省前面20%的开发成本,但可能大大增加后面80%的维护成本。

现实生活中,那么多企业选择 Java,而不是那些时髦花哨的新技术,原因就在这里:Java 是经过考验的,不会出现奇怪的问题,有良好的长期维护,企业长期使用的风险和成本相对较低。

如果开发者真为自己考虑,想将来简单一点,不必每天为复杂奇怪的技术问题操心,应该优先选择那些可靠的老技术,用于公司的长期项目。

老技术的问题是,它很乏味:所有可能性都被探索过了,创造发挥的空间不大。很多程序员(尤其是新程序员)因此觉得,老技术展现不了技术能力,也不够好玩,新技术更有乐趣,对自己的提升更大。

这种想法并没错,但前提是你的项目不需要长期维护,否则使用未经考验的新技术是非常冒险的。


如您从本文得到了有价值的信息或帮助,请考虑扫描文末二维码捐赠和鼓励。

尊重他人劳动成果。转载请务必附上原文链接,我将感激不尽。


与《新技术的最大风险【转】》相关的博文:


发布时间 04/26/2023 06:25:17栏目 Other.标签 .

留言

avatar
😀
😀😁😂😅😭🤭😋😘🤔😰😱🤪💪👍👎🤝🌹👌