若要向C++之父 Bjarne Stroustrup 請教10個技術Topics,有什麼好的建議么?
假如時間截止明天(當然如果大牛能夠迸發出新的靈感可以在問題下自由討論不限時間),需要向 Bjarne 大神請教大約10個關於C++語言、標準,或者技術架構 方面的Topics,該問些什麼具體或者方向性的問題才能顯得問題不是很Low ,也不會被大神鄙視呢?
我自己首先能想到的大概是以下3個:*) C++17 中有哪些新概念是可以值得討論的(network , etc.)? 或者哪些被deprecated的東西也值得聊?*) C++設計方面的問題,比如 Signal Slot 機制是否有考慮過,GC現在的最佳使用場景,以及和RAII的區分。
*) 項目實踐類,比如 在 module 來臨之前,如何解決項目中頭文件包含關係存在冗餘導致編譯時間過長?我只能想到這些(恕我自從研究安全後,對C++標準遠離很久了,不了解最新情況了),請各位大牛拋磚引玉,似乎任何關於 language、architecture 都可以。我會在答案中選取最有代表性、最實用的10個問題,明天向大神請教。如果我能聽的懂大神的解答的話,我會再次更新提問或者答案,將解答補充在此問題下(包括同事們準備的topics)
Update 1:---------------------------------------------------------------------------------------------------------------結合自己的想法再加上現有的回答:1) Best practice of GC (Diff from RAII)
2)
type introspection (Object serialization / Static
Reflection)3)
module (when ?)4)
network model in c++17 (Async / Sync ? Diff from boost::asio)5)
multi-process library support (When if possible?)6)
Concepts (when?)7)
Signal Slot mechanism (When if possible?)8)
Async / Await in C++ (diff from std::async)9)
std::range (when ? Avoid native pointer)10)
Uniform of ABI
現在回頭看,對內存資源管理來說,RAII是否必要?配合const expr,模板表達式和類型是否應該有對應的數據形式,比如vector&
他媽的什麼時候把 Type Instropection 給加上。
Web瀏覽器其實就是一個微型操作系統,因此,只要規定好統一的APIs,就可以用純C/C++寫頁面。其優點不僅僅在於淘汰現有的低效文本代碼,而在於可以統一web和桌面的開發,再造一個涵括所有平台的類POSIX,且順手就將ABI給解決掉了。我想知道有沒有人計劃做類似的工作?
ABI那檔子事兒啥時候能解決?
老頭子在官僚的委員會也影響不了什麼吧.還好比java之父來得幸福....
推薦閱讀:
※將一個double類型的指針自增一次,前後的地址差是否一定為sizeof(double)?
※C++ 中的 std::map 不同線程操作不同 key 是否需要加鎖?