C++20在今年2月的時候完成技術相關的工作,而現在C++20已經獲得批准,預計會在2020年底正式發布,ISO C++委員會主席Herb Sutter在部落格提到,即便技術工作早在2月的時候完成,但是明年1月前發布的標準,仍會稱為C++20。

C++20的國際標準草案(Draft International Standard,DIS),在9月4日經投票一致通過,而這代表C++20已經獲得最終技術批准,並且也完成了ISO投票,只要經過最後一輪的ISO編輯工作就能夠發布,時間點壓在2020年底。

Herb Sutter表示,根據過去的經驗,ISO即將發布的版本不應該稱為C++20,因為WG21在2月的時候就已經完成技術工作,但是如果需要一個原因,來解釋ISO要在1月前完成C++20剩下的工作,而且還指定2021年的發布日期,且仍把該標準稱為C++20,那是因為在搜尋引擎已經有超過30萬條C++20搜尋結果,C++20已經成為產業名稱。

由於武漢肺炎(COVID-19)疫情的關係,破壞了ISO C++一連串當面開會的計畫,除了國家和企業的旅行限制之外,ISO C++還受到一些上級組織的會議禁令約束,包括美國標準機構國際資訊技術標準委員會(INCITS)將實體會議的禁令,延長至2021年3月31日,因此本來ISO C++在2月的會議必須推延。

而處理程式語言國際標準化的組織ISO SC22,也規定底下組織不得召開100人以上的實體會議,但由於ISO C++的會議參與者通常多達200多名,因此他們也還在評估中。下一次的實體會議安排在2021年6月的第一周,但Herb Sutter提到,隨著疫情變化與禁令的延長,可能2021年都無法召開實體會議。

雖然無法召開實體會議,但因為過去幾年,包括制定語言和函式庫用詞的LWG,以及主要設計語言和函式庫的LEWG,這些ISO C++子工作組都定期舉行虛擬會議,因此即便因為疫情影響會議進行,但許多工作仍然持續進行中,而ISO C++也會持續調整流程,並且變更批准程序,以因應無法召開實體會議的困境。

從11月之後,ISO C++便會開始召開全工作組的虛擬會議,以進行C++23的相關工作。目前C++23的排程以及優先功能計畫皆不受疫情影響,有4項功能被排入優先功能計畫中,分別是在函式庫支援協程、模組化標準函式庫、執行程式(Executor)以及簡化網路開發的部分。

C++20雖然已經加入協程功能,但實際上開發者卻沒辦法進行任何相關操作,因為沒有協程可以識別的類型,因此毫無爭議,工作組認為這是在C++23首要解決的問題,標準函式庫會提供一些開箱即用支援協程的類型。

在C++20已經提供模組,因此工作組認為,C++23應該提供模組化標準函式庫的規範,儘管有許多重要的函式庫可進行模組化,但是標準函式庫更是重要,應該讓開發者能以模組方式使用。已經開發一陣子的執行程式,可以用於網路連接、音訊以及實現更好的非同步功能,工作組認為,這項成果應該在C++23中交付。

另外,工作組覺得應該要降低開發C++網路應用程式的障礙,所以會在C++23的標準函式庫中,添加一些基礎功能,讓開發者不需要使用額外的函式庫,就能夠實作像是跨平臺Http連線等功能。儘管疫情改變了各企業或組織的工作方式,但有許多工作仍必須要完成,ISO C++也在他們的文件寫道,C++23必須要準時發布。

熱門新聞

Advertisement