本月,《程序员》邀我写篇文章,回顾5年来的技术变化给我带来的感悟。5年前我是如何预料的,什么判断对了,什么没有预料到。如果回到五年前,如何选择路线。对于未来的技术发展怎样看,打算怎样走。看到这样的主题,觉得非常有意思,当下立刻答应。
首先我要来谈谈面对技术的心态,再来说说我选择技术的原则,最后就是回首过去、验证现在、展望未来。
我不愿意在这里自命清单,高谈阔论地讲一些大道理。但是大家必须了解,台面上的这些技术没有什么好与坏,我们顶多只能说某些是过时的,某些是符合现今流行架构。遗憾的是,不少人在技术的选择上总是有门户之见,就拿.NET 与J2EE来说吧,你是因为讨厌微软才选择J2EE,或者说因为您是Bill Gates的忠实fans才非微软技术不用呢。我要说的是,检视诸项技术时,最忌讳的就是“成见”以及那股莫名的“情绪”,或是说“情节”。当您有了这样的心态,如何以客观的心情去评量各种技术呢?
我从来不否认我与微软有紧密的关系,也不否认我这近二十年来用的都是微软的技术,但是我从来不否定与批评其它厂商的技术架构。这不仅是一种气度,也能帮助我以客观的角度来学习,毕竟知己知彼才能百战百胜。
我常常看到有许多人喜欢比较 .NET 与J2EE。说句实在话,这两种技术路线都有极深的内涵,单单看了技术架构,稍微用了点其中的技术进行开发,就足以评断两者的优劣吗?这未免太自以为是,大放厥词。我投注了极大的心力研究.NET,才比较认为能够稍微随心所欲地掌握其内涵,也才能够真正体会其中的优点与缺点。我相信同理之于J2EE。问题是,我时间有限,精力有限,能力有限,不可能同时研究这二者,既然如此,何德何能去评论呢?
其实只要您真正投入,掌握技术的精要,自然能将其特性彻底发挥,进而开发出优质的应用程序。如果您学东西总是半调子,那即使您用的是什么伟大的技术,写出来的东西也是平淡无奇,甚至上不了台面。
我选择技术的原则非常简单,第一看技术的进入障碍;第二看技术有没有未来性。所谓进入障碍,当然就是跟我目前的技术能力是不是有延续性,是不是能够有良好的衔接,这是为了确保我过去投入的心血不会轻易付诸流水。就未来性而言,也就是看技术有没有前景,说得露骨点,或者应该说有没有“钱”景,毕竟技术必须叫好,也要叫座,才是好技术,那种孤芳自赏者,通常没有好下场。没错,这两个原则有时候是彼此相冲突的。放诸技术的演进史,有时候会因为某种革命性架构与装置的推出,导致引发大跃进式的演进。在这种时候,未来性的考虑当然更胜于进入障碍。
文章来源于领测软件测试网 https://www.ltesting.net/