近日,龍蜥社區(公眾號:OpenAnolis)的貢獻者之一、來自理事單位阿里云的許傳奇加入了 C++ 標準委員會。這是首個國內企業代表進入 C++ 標準委員會。
C++20 是 C++ 的一個重大更新,例如 Coroutine、Module、Concept 以及 Range 等。其中 Coroutine 可以讓程序員以同步方式編寫高并發的異步代碼,會帶來性能與開發效率的雙重提升。他們實現了一個高性能的輕量級協程庫,允許 C++ 開發者以同步方式寫異步代碼。也正因為這個特點,同步代碼可以很方便地切換到協程代碼,同時完成異步化,這往往能獲得一個數量級的性能提升。而協程也可以使代碼更簡潔易懂、方便維護。
但 Coroutine 在正式進入 C++20 時,其支持并不完善。一方面是編譯器支持層面有許多問題,如優化不完善、bug 比較多等;另一方面是在標準制定層面,Coroutine 只制定了基礎語法,并沒有完成協程庫的制定。由于 C++20 協程的語法對 C++ 開發者而言難以理解,不容易直接使用,因此一個包裝好的協程庫是必須的。如果沒有一個穩定的編譯器支持,那使用協程必然是沒有希望的;同時如果沒有一個好用易懂的協程庫,那大規模地使用協程也必然沒有希望。
據許傳奇透露,新語言標準在大規模 C++ 項目中的規模化落地并不容易,因為是最新標準,在落地過程中遇到的許多問題在公開的互聯網中并不存在,更不用提解決方案了,所以大部分時間都花在理解與解決這些問題上。在積累新標準在大規模 C++ 項目中的實踐經驗的同時,一方面對當前標準的設計有了更深的理解,另一方面也看到了可以改進標準的機會。經過持續努力,完成了協程在大型 C++ 項目中的規模化應用。在這個過程中,他們不斷地嘗試將經驗、 問題與解決方案反饋到 Clang/LLVM 與 C++ 社區,也得到了社區的高度認可。
龍蜥社區(龍蜥微信號:openanolis_assis)一直秉持著開放、中立的原則,一方面歡迎更多的企業和企業優秀成員加入社區,另一方面社區企業和成員們也在積極為國際社區做貢獻。龍蜥社區(釘釘號:33311793)的理事單位會一直持續地將基礎軟件領域的工作貢獻到 Linux Kernel、OpenJDK、Clang/LLVM、GCC 等社區,另外其他的工作也會逐步開源。
進入 ISO C++ 標準委員會,這代表著龍蜥社區理事單位之前在 C++ 語言方面的工作走在正確的道路上,也代表著其正式踏進了語言演化生態的上游,進入了設計階段。
許傳奇表示,希望通過參與程序語言標準的制訂,進入到程序語言演化周期的上游,以把握住程序語言技術演進的主航道,打造出領先的程序語言基礎設施。未來,這一成果也將支持和反饋到龍蜥社區中。
再次恭喜龍蜥社區成員許傳奇同學入選,也歡迎更多優秀的人加入龍蜥社區。