C++真的能够王者归来吗?
@吴穹Adam
我个人认为不太可能!因为不能光看C++改进了什么,有什么优点?而要看环境,看对手!
这篇博客不想写太长,提出一些点供大家参考:
1.中间件的力量:在现在的江湖里面,语言已经唱独角戏了,而是必须有中间件的配合。中间件这里是一个泛化的概念,包括VM,Web、App Server等等。Java,C#,Ruby等等都有丰富的中间件支持。其实这里语言和中间件实现了一个很好的关注点分离,语言注重抽象和编程效率,而中间件去关注运行效率,而C++基本上在唱独角戏,一人包打天下。因此,下面这张比较图其实是不全面的比较,是一种误导!
2.动态语言的崛起:动态语言是新时代的平衡,CPU运算能力运行能力越来越强,原来需要在编译时必须做出的决定,现在可以用解释的方式推后到运行时决定了,进一步带来编程的灵活性和效率的提升,我觉得动态语言会是未来的趋势(有关这个话题,内容很多,我也还在更深入地思考,未来再专文展开吧);
3.业界的现状:在我咨询的客户里面,C++的市场份额其实很小。电信设备其实大多数还在用C,人家还嫌C++慢呢!企业IT市场主要是Java和C#的天下,只有一些像百度这样的搜索引擎在用C++,以及一些手机软件开发商。从爱立信的姿态来看,更多在推行Java,而企业IT回归C++,简直是天方夜谭,至于移动开发,我觉得这是一个变化最迅速的领域,这个领域的硬件变化速度以及软件形态变化的速度都会非常快,因此,未来还很难说,我个人的片段是手机和PC会慢慢融合,APP的问题会慢慢暴露,最终还是回到B/S形态。
综上所述,诚然C++还是还在某些专业领域里面发挥它的价值,但我觉得C++回不来,即便他是曾经的王者。因此,我同样赖勇浩的判断,如果你还不精通C++,它绝不应该是你2012学习的重点,根据你所在的行业的不同该学的东西多了,学一门动态语言,学学REST,OSGi,学学HTML5, CSS3,学学backbone.js,node.js,学学持续交付,学学自动化测试工具!
一个时代有一个时代的东西,大家需要与时俱进!!!
补注:
各位C语言的爱好者,这里说的是C++,C语言是嵌入式领域的王者;
各位C++的爱好者,我不是说C++不好,只是说C++不会再大热了,有时间也不应该技术储备C++(除非你的工作马上要用)!