程序员所积累的编程知识在十年后将有多少变得没用?zt# Faculty - 发考题
y*e
1 楼
十几年前,我正用 VC++, WTL 写 ActiveX。那是个 windows 程序,几千个商业用户使
用,分布在世界各地,各地还有分公司,开发自己的商业模块,我们公司负责主程序。
VC++写的框架里嵌套了IE的控件,IE调用ActiveX控件,并检测是否有最新版本,自动
升级。这也是为什么要用ActiveX。至于WTL,当时网络慢,WTL写出的UI省空间,所以
用它。后来我们老大发现,分公司的人C++不行,经常写bug,把整个程序搞崩溃,痛定
思痛,在框架里又嵌套了个 Web 控件,让大家用 HTML,javascript写模块,从此就告
别了C++写UI的刺激生活。这部分重构还是我负责的。
当然,现在我不写这些东西了,技术细节也忘的差不多了。但是,再看看那时面对的问
题,是不是有些眼熟?IE控件,ActiveX,WTL,HTML,说到底,就是为了热更新。持续
集成,持续交付,热更新,当前的 app 也有着各种各样的解决方案,而且原理上,和
十几年前我们的系统也一脉相承。
技术变了,平台变了,但问题的模式没变。技术细节,会随着技术消亡,但留下来的是
分析问题,解决问题的能力。学一个类库,可能一两年有用。掌握个框架,可能三四年
有用。背会个标准,可能五六年有用。学会门语言,可能七八年有用。大学里的基础课
,可能十年以上都有用。
那又如何?框架有坑,今天你踩了,就算以后没用,你也得想法给它填了,日子要过,
项目要交,只要今天有用,那就要学!Javascript 那么多坑,前端库如过江之鲫,还
不得吭哧吭哧的学,谁也不敢说,这技术十年后可能用不上,所以就不学了。技术是变
着法的解决问题,一个技术消失,意味着有更好的解法了,不必纠结,把眼光放在分析
问题,解决问题上,往往会有更好的提高。
用,分布在世界各地,各地还有分公司,开发自己的商业模块,我们公司负责主程序。
VC++写的框架里嵌套了IE的控件,IE调用ActiveX控件,并检测是否有最新版本,自动
升级。这也是为什么要用ActiveX。至于WTL,当时网络慢,WTL写出的UI省空间,所以
用它。后来我们老大发现,分公司的人C++不行,经常写bug,把整个程序搞崩溃,痛定
思痛,在框架里又嵌套了个 Web 控件,让大家用 HTML,javascript写模块,从此就告
别了C++写UI的刺激生活。这部分重构还是我负责的。
当然,现在我不写这些东西了,技术细节也忘的差不多了。但是,再看看那时面对的问
题,是不是有些眼熟?IE控件,ActiveX,WTL,HTML,说到底,就是为了热更新。持续
集成,持续交付,热更新,当前的 app 也有着各种各样的解决方案,而且原理上,和
十几年前我们的系统也一脉相承。
技术变了,平台变了,但问题的模式没变。技术细节,会随着技术消亡,但留下来的是
分析问题,解决问题的能力。学一个类库,可能一两年有用。掌握个框架,可能三四年
有用。背会个标准,可能五六年有用。学会门语言,可能七八年有用。大学里的基础课
,可能十年以上都有用。
那又如何?框架有坑,今天你踩了,就算以后没用,你也得想法给它填了,日子要过,
项目要交,只要今天有用,那就要学!Javascript 那么多坑,前端库如过江之鲫,还
不得吭哧吭哧的学,谁也不敢说,这技术十年后可能用不上,所以就不学了。技术是变
着法的解决问题,一个技术消失,意味着有更好的解法了,不必纠结,把眼光放在分析
问题,解决问题上,往往会有更好的提高。