腾讯为什么还在用C语言开发

腾讯为什么还在用C语言开发


一、是因为C++服务端相比JAVA有某些优势吗?

答:不是,但任何一个公司都是有技术积累的。相比于java,腾讯在C++方面的积累更多,这当然是历史原因。如果你算搞一个新项目,在腾讯你可以有大量C++的开源组件可以使用,这些组件都是有专人维护而且绝大多数是经过生产环境考验的。现成可用的东西,为什么不用呢?

二、如果说是因为腾讯里会C++的员工比较多

(1)又经常看到有人说编程语言只是工具,精通一个其他的很容易上手?引申以下一个长久的疑问:

(1.1)熟悉JVM,java并发编程,java开源框架的人转C++依然很快能达到相当水平?熟 悉C++的转java也很快能熟悉这些吗?

答:我见过熟悉C++转Java很容易,但是反过来却不一定,从语言本身C++还是要比Java难很多的。而事实上作为一个专精于某领域的程序员,从熟悉的语言转到其他语言也并非易事。不是因为语法本身,而是因为转到其他语言就要熟悉新的开发环境、工具链、各种组件等等。无论是时间成本还是风险都很高。

(2)为什么不招JAVA的程序员开发呢?

答:如果你是精通C++的JAVA程序员,会招的。

虽然腾讯后台经常要面对各种高并发大数据的场景,很关注高性能低成本高可用,但这是在架构层面解决的,业务开发其实并不需要考虑太多,根据场景选用合适的架构和组件即可。

以我这几年观察,大部分业务代码写得都是一团糟。性能、可扩展性、健壮性非但比不过我写的C++,也不比过我写的java。

甚至我敢说用js都可以写得比它快。太多低效算法,二重循环求vector交集你能忍?还有太多的内存拷贝,中转层服务对象拷贝五六次太常见了;至于经常crash,毫无扩展性,这更不用说了。

C++理论上可以写出性能很好的代码,但是你需求那么紧迫,开发时间不足,单元测试都没时间搞,哪里还有时间去优化代码?何况大家水平也不高,毕竟招了上万人,哪里能都"精通"C++?虽然C++开发效率低(现用gcc 4.1.2),又容易出bug,但大家都在用,你当然也只能继续用。你换一个语言,配套的工具链,编译发布运维,各种对内对外接口,都要重新开发,成本实在太大了。

就算是新项目,成本也太大了,项目失败谁负责得起?

文章最后

怎么快速学C/C++,有什么方法,打算深入了解这个行业的朋友,可以加C/C++学习群:1023934779,不管你是小白还是大牛,小编我都欢迎,不定期分享干货,包括小编自己整理的一份2019最新的C/C++资料和0基础入门教程,欢迎初学和进阶中的小伙伴。

每天晚上20:00我都会开直播给大家分享C/C++编程学习知识和路线方法,群里会不定期更新最新的教程和学习方法,大家都是学习C/C++的,或是转行,或是大学生,还有工作中想提升自己能力的前端党,如果你是正在学习C/C++的小伙伴可以加入学习。最后祝所有程序员都能够走上人生巅峰,让代码将梦想照进现实,非常适合新手学习,有不懂的问题可以随时问我,工作不忙的时候希望可以给大家解惑。

学习思路:

腾讯为什么还在用C语言开发

学习资料:

腾讯为什么还在用C语言开发

相关推荐