關(guān)于這個問題要你要從騰訊發(fā)家開始看。
騰訊最開始是以做通訊軟件開始發(fā)家的,也就是qq.因為qq主要涉及到的就是網(wǎng)絡(luò)通訊這一塊,再加上當時主要就是用在PC端,從程序的運行效率考慮C++無疑都是最好的選擇。包括后面騰訊的一系列產(chǎn)品qq音樂,qq管家,qq游戲等等基本上都是基于C++開發(fā)的。據(jù)我所知他們的服務(wù)端應(yīng)該也是用C++寫的。
我負責(zé)過QQ秀和Qzone的運維,也在QQ秀做過開發(fā),當時我所在的部門,如果用java作為開發(fā)語言的話以當時服務(wù)器的數(shù)量是不足以支撐數(shù)億用戶的服務(wù)的。
要知道,與淘寶不同,騰訊許多業(yè)務(wù)是免費使用的,例如qzone的許多功能都可以免費使用包括心情,日志,相冊,服務(wù)器要承擔(dān)這些億級的有大量高密集的碎片化請求,如果用java來支撐,經(jīng)濟上是不劃算是一方面,響應(yīng)速度方面用戶體驗也非常不好。
再來看淘寶,與qzone發(fā)個心情,日志相比淘寶用戶在淘寶上的行為最終要觸發(fā)商品交易的,說通俗點就是淘寶用戶的行為大都是跟錢相關(guān),而且淘寶要不斷迭代更新的同時確保程序邏輯的嚴謹,Java綜合來說是個非常好的選擇。
對于高效處理這些高密集的用戶請求,c是一個非常好方案,非常適合騰訊的用戶場景;淘寶也不是不用c,像淘寶的圖片服務(wù)器,也是屬于海量的高密集用戶請求服務(wù),淘寶在這里使用淘寶技術(shù)團隊修改過的nginx,我們都知道nginx就是c開發(fā)的,類似的場景在淘寶的服務(wù)架構(gòu)里應(yīng)該還有很多這樣的例子,阿里也雇傭了不少c的工程師,Linux內(nèi)核工程師。
這個和每個公司的技術(shù)沉淀有關(guān)系吧,可能騰訊已經(jīng)沉淀了很多c++的組價,用的也相對順手吧。就跟阿里喜歡JAVA一樣