1. 程式人生 > >2018中國C++大會精彩回顧

2018中國C++大會精彩回顧

12月22日,TEG技術事業工程群聯合Purecpp開源社群共同舉辦了2018中國C++大會,大會誠邀四位modernC++國內技術先鋒帶來modern c++應用、最新標準以及未來發展趨勢,更有騰訊Tars、Libco開源專案技術負責人,以及CDN伺服器開發技術負責人,分享了騰訊在C++工程實踐應用經驗,可以說這是一場最純粹的C++大會,只有C++的各種技術細節,乾貨滿滿。現場共計數十家公司、近400位技術夥伴們參會,創造了難得的C++愛好者們的線下交流機會,線上也有800多位夥伴觀看直播,氣氛非常活躍。

大會開場致辭

騰訊開源管理辦公室執行總監許勇展示了騰訊為開源領域做出的突出貢獻,截止2018年12月,騰訊總共對外開源了65個開源專案,其中C++類已經佔到17個,佔26%,共獲得17w stars,非官方統計全球排名第11位,並分享了騰訊近年來加大和外部開源社群合作交流的專案,也向與會者們發出呼籲,期待外部的C++開發者們能夠與騰訊的技術夥伴有更多交流互動,共同促進中國C++生態的發展。


Purecpp社群創始人祁宇在致辭中帶來了C++之父Bjarne Stroustrup,國際C++標準委員會委員Timur Doumler對大會的祝福,並向大家介紹了PURECPP社群的創辦初衷:致力於Modern C++研究、應用和推廣,從2015年開始通過推進一些開源專案,來不斷彌補ModernC++缺失的基礎設施,如高效能http server、RPC、序列化引擎,資料ORM訪問庫,協程,希望和C++愛好者們一起推動中國 C++技術越來越好。


2018中國C++大會精彩回顧



主題演講

C++反射應用和實踐

C++語言缺少語言反射的基礎設施,而即將到來的C++ reflection特性依然在TS階段,因此實踐一個功能完備的C++ reflection library,在現有的C++專案中帶來很高的收益。開源庫iguana貢獻者恪分享了他在公司實際專案中應用C++反射的實踐經驗,也談到一些大型專案中C++反射的應用,及C++ reflection新標準的簡介和前瞻。


2018中國C++大會精彩回顧



C++ Ranges

前英特爾亞太研發中心資深軟體架構師吳詠煒開場引用“向指環王致敬標題”,興奮的告訴大家Range TS將正式加入C++ 20標準草案。隨後為大家逐一介紹了Ranges的起源和試圖解決的問題,以及Ranges的核心思想及對標準演算法的修改,Ranges用到的C++概念,Ranges和惰性求值,並分享了不是範例的範例:range-v3庫。


2018中國C++大會精彩回顧




Modern C++ 超程式設計應用

很多c++開發者尤其是新人覺得模版元的程式碼很難懂,比較難學,還有一些開發者對於模版超程式設計有誤解,甚至偏見,認為它純粹是些奇技淫巧,花哨不中用,更多的人是不清楚模版元究竟如何應用於實際專案中的或者說它到底有什麼用。Purecpp社群創始人祁宇在他的演講中,首先澄清了對模版超程式設計的誤解和偏見,並結合自己多年的模版元使用經驗,總結了模版元應用於實際專案的方法,整個演講以豐富的示例展示模版

元的優雅與強大,引導大家見識超程式設計之美!


2018中國C++大會精彩回顧




C++ Modules

開源庫Capo作者張軼提到C++Modules要加入到新標準的草案的說法已經很多年了,為什麼一直被關注,是源自被大家使用了三十多年的標頭檔案的各種罪狀:脆弱的文字展開、內部細節的意外匯出、大量的重複處理(編譯時間是N×M的增長),還有很多不一一贅述, C++ Modules的到來,將有望改變這一切。他在分享中為大家詳細詮釋Modules究竟能夠解決哪些實際場景問題,以及如何解決問題的,帶領聽眾一起探討Modules編碼和編譯帶來的改變。


2018中國C++大會精彩回顧




高效能Tars開發框架的實踐之路

TARS(歡迎前往github檢視原始碼,給一個star或者提出你的pull request)是騰訊從2008年到今天一直在使用的後臺邏輯層統一應用框架(Total Application Framework)的開源版本,目前支援C++,Java和NodeJs三種語言。來自PCG的Tars技術負責人劉豪詳細講解在面對公司海量、高併發請求的業務場景下, Tars在網路io、通訊協議、服務模型、程式設計介面等方面是如何設計和演進的,以實現高效能、低延時、簡單易用的服務能力,助力業務更好地發展。



2018中國C++大會精彩回顧




微信Libco協程分享

libco是微信後臺大規模使用的c/c++協程庫,早在2013年就作為騰訊六大開源專案開源,至今穩定執行在微信後臺的數萬臺機器上。libco支援後臺敏捷的同步風格程式設計模式,同時提供系統的高併發能力。來自WXG的Libco技術負責人李方源介紹了Libco產生的背景及應對的挑戰,詳細解析了其架構實現以及協程的底層實現機制。



2018中國C++大會精彩回顧




C++伺服器開發實踐

NWS,是騰訊CDN伺服器簡稱,全稱為Next Web Server,來自TEG的CDN伺服器開發技術負責人吳銳介紹了CDN自研伺服器的背景:為經受高流量、高訪問量和海量儲存的考驗,CDN伺服器一方面要具備高效能,同時要考慮靈活支援不同的業務,靈活擴充套件新功能,確保開發人員可維護性,還需要支援特定的業務場景中新網路協議,最終經過對比業內通用的Web框架,NWS在架構實現方面的思考及實現,以及C++11新特性在其中的實踐應用經驗。



2018中國C++大會精彩回顧




C++ User Group成立

為促進國內C++開發者、公司、組織之間的技術交流和技術創新,緊跟國際C++標準委員會前沿,本次大會發起了C++ User Group成立環節,未來參與此group的成員都可以成為召集人,只要有創新的idea,或者有希望討論的技術熱點都可以召集發起活動。現場以騰訊為首的十家公司代表通過簽字儀式宣告正式加入,TEG雲資料庫專家程彬在發言中表示,每個公司在C++領域都有自己的經驗和成果,希望通過這樣的平臺,促進國內C++開發者們一起學習、交流業界最新成果,推動中國C++快速進步、成長,在國際上也能產生影響力。


2018中國C++大會精彩回顧




編外語:

C++發展至今已有35個年頭,在tiobe程式語言排行榜長期居於前五。儘管不知從何時起,國內對於C++的批判聲不斷,然正如前人所言:語言只是解決問題的工具。因為C++的廣度和複雜,也成就了在很多領域都離不開C++,如伺服器端、高效能的底層系統開發、大部分的遊戲軟體系,Chromium瀏覽器等。至今國際C++委員會仍在繼續為C++新增新特性適應網際網路時代快速發展的需要,C++11、14、17的釋出也讓C++擁有更多適應潮流的新特性和功能,進一步提高開發效率。

促進語言的良好發展離不開蓬勃的社群和開發者,開發者所需技能之一是視野,技術上的視野。這需要開發者走出去,與人交流分享,從技術角度看看別人的why、how、what。很開心此次大會有機會將眾多C++愛好者聚在一起,一起交流C++、推動C++,這是C++生態發展最好的反饋。

大家通過小程式「騰訊技術課」即可視訊回顧現場嘉賓精彩分享。