当摩尔定律不在那么有效的时候, 我们是依然静观其变,还是努力的寻找解决办法? 多数人当然会说后者, 可实际上绝大部分还是安分守己的选择前者, 不光是传统的编程思想易学, 更重要的还是考虑成本的问题, 多数公司不太希望在创新上浪费太多的钱, 更多的愿意选择使用经过别人发布测试好的程序. 在工程上来讲这确实可取, 毕竟可靠稳定是第一因素, 其次才是性能. 不过时代确实改变了..... 处理器的发展速度朝着截然不同的方向前进, 鸵鸟算法不再适用的时代, 为什么还有这么多人争先恐后的争当鸵鸟.... 确实让我很不解.... .....
话说, 今天头疼... 可能是忽冷忽热的地铁让我很不适应... 这两天研究并改进一套算法, 虽然有些地方还没能自己实现下, 但好在的是思路更加开阔了.... 有时候看到一个人每天写了好几百行甚至上千行程序.... 暂且不说质量如何... 我是真的不敢恭维这样的速度.... 估计他要花上数周的时间来重构几次.... 最终下来的程序或许只有100行不到.... 多核时代带给我们的不仅仅是挑战,也是机遇... 将旧有的程序改成高性能的并行程序并非一件易事, 这需要一个人的知识储备量达到一定数量级才能做到... 不过编写一个稳定程序的难度要远高于编写一个高性能的程序.... 这中间又涉及到很多取舍问题....
一个优秀的程序员可以做到在恰当的场合使用恰当的语言, 而非对一门语言有过于严重的依赖.有些公司使用C/C++这类编译型语言来写逻辑, 当然并不是说这样不可以, 对于追求极致性能的产品还是可以的, 但如果产品追求的更高的稳定性,更强的容错性, 再用这类语言只会让你每天忙于各种BUG的修复.... 通常这类BUG都是可以导致程序挂掉的.... 因为并没有办法阻止程序员犯错... (人都会犯错... 包括大牛们). 这时候脚本语言这种简单易学,容错性高的语言就可以很好的派上用场了.更适合做服务器和客户端的逻辑层开发. 对于一些长久不变且对性能有严格要求的地方,比如服务器引擎,客户端引擎这类的框架通常还是C/C++配合适当的汇编来完成更加合适.
同样一段程序,可能每个程序员的实现都或多或少会有不同,但真正能写出优美代码的人毕竟还是少数, 这样的程序融合了大师级的设计思想,无论从程序结构上,稳定性, 效率等方面都是优异的, 或许你现在还对此并不在意, 当你维护一个让你每天都崩溃无数次的程序时, 或许你会翻然醒悟优美代码的好处 :) 编写那样的代码绝对不是在浪费时间....
希望有一天,我能带给大家的不仅仅是启示,而是深思....