原文地址:https://www.cnblogs.com/estrigriac/p/11180124.html
即使有某一技术很优秀,比现有的、最广泛的技术还要好,这仍然无法让这个技术流行开来。
技术选型是有惯性的,如果一项新技术无法比旧有的、成熟的技术好10倍以上,那么人们迁移的意愿就会很低。
gradle的项目配置脚本,长期以来都是用groovy语言写成的DSL,gradle最新版本中支持用kotlin作为DSL来进行配置。kotlin比起groovy确实有很多优点,比如静态类型检查,但这也只是“有点好”,而不是“非常非常好”。
进行技术选型的时候,一个很重要的点在于,groovy DSL有着悠久的使用历史,各种配置和问题的解决方案都很成熟。kotlin在这方面则有很大欠缺,如果构建脚本需要改动,需要花费额外的时间精力去学习kotlin以及kotlin DSL的用法。这无疑增加了解决问题的成本。在这个视角下,往往还是倾向于使用groovy DSL这类传统、成熟、资料多的方案。
(用kotlint DSL被坑的人就是我。。。