腾讯使用C++为主要开发语言。
虽然腾讯后台经常要面对各种高并发大数据的场景,很关注高性能低成本高可用,但这是在架构层面解决的,业务开发其实并不需要考虑太多,根据场景选用合适的架构和组件即可。
以我这几年观察,大部分业务代码写得都是一团糟。性能、可扩展性、健壮性非但比不过我写的C++,也不比过我写的java。甚至我敢说用js都可以写得比它快。太多低效算法,二重循环求vector交集你能忍?还有太多的内存拷贝,中转层服务对象拷贝五六次太常见了;至于经常crash,毫无扩展性,这更不用说了。C++理论上可以写出性能很好的代码,但是你需求那么紧迫,开发时间不足,单元测试都没时间搞,哪里还有时间去优化代码?何况大家水平也不高,毕竟招了上万人,哪里能都"精通"C++?虽然C++开发效率低(现用gcc 4.1.2),又容易出bug,但大家都在用,你当然也只能继续用。