腾讯c++ 阿里java

来源:互联网 发布:stc单片机原理图库 编辑:程序博客网 时间:2024/05/14 21:59
现在大公司里面常用的基本语言都有岗位对应。

腾讯、微软、Oracle、Google、华为都有非常多C++的职位。



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

java市面上又许多开源的,拿来就能用的组件和架构,但是c++很少,所以,早起,腾讯这些大公司,自己内部搞c++组件,界面库等,在公司内部使用,而且有人专门维护。



其实这个问题很多内部同事都问过,tony大师兄也回答过很多次,核心的技术架构从创立之初到现在运行维护得都很稳定,如果更改架构,成本是非常巨大的,而且很冒险,根本没必要更改,因此会发现腾讯的核心技术,特别是后台,始终都是c、c++




阿里最早的代码是Java(据说有过一段LAMP的历史,后来转投Java,不知真假,不做评论),后来也延续下来了,将业务在语言之间大规模迁移是很恐怖的,尤其是代码量庞大的时候(这么多代码总不能说作废就作废),所以即使在大数据时代,阿里的Java显得力不从心,阿里也没有选择去变更语言,而是选择优化虚拟机,自己定制jvm
阿里版JVM
Facebook也是同理,Facebook是PHP技术起家的,选择PHP的主要原因并不是什么技术上的考虑,只是因为扎克伯格最熟悉的语言是PHP。加之LAMP当时在中小网站的流行。后来Facebook变成世界级公司,PHP显然也是难以应付当时的需求的(性能还不如Java),但Facebook的做法也不是变更语言,而是去优化解释器,聘请了众多编程语言大师开发出了HHVM,对PHP的解释执行进行了各种优化,使得原先的PHP代码得以复用。
Hack on HHVM —— Facebook是如何优化PHP的
此外PHP可能还存在一些根深蒂固的毛病,然后Facebook又适时地发明了自己的语言HACK,语法也是类似PHP,这样做的目的当然也是方便公司内部的PHP工程师快速上手。用他们的话说:PHP是世界上最美的语言

我知道的进行过语言迁移的是京东和大众点评,京东之前一直是微软系.net技术的拥趸(强哥是.NET出身的),后来据说迁移到了Java平台。如果自己没能力对语言进行调优,那么可能无奈之下也只能转换语言。
京东商城技术揭秘:.NET与Java博弈
大众点评网王宏:从.Net迁移向Java平台
.net确实是日薄西山的东西,现在是没办法,微软才把他开源了,之前昂贵的专利费也是被人们所诟病。携程也是.net,前段时间出了问题,也只能呵呵了。当然其实我并不了解,是不是.net技术导致的它恢复起来这么久。

所以说虽然每个公司的语言和技术有自己的传统,虽然这会有各种各样的历史遗留问题,但是只要你够叼,语言其实并不是问题。说了这么多,貌似跑题了,我们都是面向就业的,我们不可能改变一家公司的技术传统,所以能做的就是适应。如果你坚定了要做Java,阿里才是你最好的选择。




1999年,QQ上线,当年的java在高性能服务器方面可谓一塌糊涂,当时后台开发,c/c++几乎是唯一选择
然后年复一年,不断给这个庞然大物添砖加瓦,没有任何必然的理由要耗费这么多人力物力和风险去更换一个语言;
然后年复一年,各种代码库、业务框架的沉淀,新业务基本上直接那个现成c++框架搭建,感觉也不太麻烦,于是更多的产品线开始了QQ服务端程序的c/c++故事
==============================
而阿里当年从php转java,就是有一个虽然不能说必然、但也相当充分的理由,就是php性能跟不上、同时java已经在银行、金融领域得到不错的应用。可以想象,未来如果有各种比java好的语言(在我心目中,现在已经有很多了),阿里也会跟腾讯一样的很难切换出去

0 0
原创粉丝点击