騰訊爲何還在用C語言開發?!

1、是由於C++服務端相比JAVA有某些優點嗎?java

答:不是,但任何一個公司都是有技術積累的。相比於java,騰訊在C++方面的積累更多,這固然是歷史緣由。若是你算搞一個新項目,在騰訊你能夠有大量C++的開源組件能夠使用,這些組件都是有專人維護並且絕大多數是通過生產環境考驗的。現成可用的東西,爲何不用呢?程序員


2、若是說是由於騰訊裏會C++的員工比較多web

(1)又常常看到有人說編程語言只是工具,精通一個其餘的很容易上手?引伸如下一個長久的疑問:算法

(1.1)熟悉JVM,java併發編程,java開源框架的人轉C++依然很快能達到至關水平?熟 悉C++的轉java也很快能熟悉這些嗎?編程

答:我見過熟悉C++轉Java很容易,可是反過來卻不必定,從語言自己C++仍是要比Java難不少的。而事實上做爲一個專精於某領域的程序員,從熟悉的語言轉到其餘語言也並不是易事。不是由於語法自己,而是由於轉到其餘語言就要熟悉新的開發環境、工具鏈、各類組件等等。不管是時間成本仍是風險都很高。微信


(2)爲何不招JAVA的程序員開發呢?架構

答:若是你是精通C++的JAVA程序員,會招的。併發


雖然騰訊後臺常常要面對各類高併發大數據的場景,很關注高性能低成本高可用,但這是在架構層面解決的,業務開發其實並不須要考慮太多,根據場景選用合適的架構和組件便可。app

以我這幾年觀察,大部分業務代碼寫得都是一團糟。性能、可擴展性、健壯性非但比不過我寫的C++,也不比過我寫的java。框架


甚至我敢說用js均可以寫得比它快。太多低效算法,二重循環求vector交集你能忍?還有太多的內存拷貝,中轉層服務對象拷貝五六次太常見了;至於常常crash,毫無擴展性,這更不用說了。


C++理論上能夠寫出性能很好的代碼,可是你需求那麼緊迫,開發時間不足,單元測試都沒時間搞,哪裏還有時間去優化代碼?況且你們水平也不高,畢竟招了上萬人,哪裏能都"精通"C++?雖然C++開發效率低(現用gcc 4.1.2),又容易出bug,但你們都在用,你固然也只能繼續用。你換一個語言,配套的工具鏈,編譯發佈運維,各類對內對外接口,都要從新開發,成本實在太大了。

就算是新項目,成本也太大了,項目失敗誰負責得起?


C語言錯誤拍照記錄


熱點文章

國內IT界最火的5名女神程序員?!

華爲21級程序員月薪曝光:270k 可封神!

程序員都用什麼牌子電腦編程?!

C語言遊戲外掛:一個簡單的內存外掛

你永遠不知道程序員無聊的時候會作什麼

我寫了一段代碼,爲何不能運行呢?


轉發朋友圈,點下「在看」就是對小編的最大支持!

本文分享自微信公衆號 - C語言入門到精通(c_printf)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索