[討論] 未來C++地位會像高級組語碼?
現在的 llvm bytecode 是很流行的中介碼 非常類似組合語言
很多語言只要寫好前端接到llvm ir 就可以輕易地轉後端就跑在各種硬體上
C++20 想要靜態動態兼具 (modules, injection/reflection) 和圖形化
(C++:「我全都要」)
這樣當C++擁有全部語言都有的feature的時候
任何語言都可以轉成 C++ code 作為後端
這樣具有比組合語言更好的可讀性
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.113.126.235
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1530667875.A.944.html
推
07/04 10:31,
7年前
, 1F
07/04 10:31, 1F
→
07/04 10:32,
7年前
, 2F
07/04 10:32, 2F
→
07/04 10:33,
7年前
, 3F
07/04 10:33, 3F
llvm 已經是組語等級 本來就很好直接轉C
最主要是像functional programming , OO 這種paradigm要轉C就很麻煩
C++自帶所有 任何語言都相對好轉成C++
→
07/04 11:03,
7年前
, 4F
07/04 11:03, 4F
→
07/04 11:03,
7年前
, 5F
07/04 11:03, 5F
→
07/04 11:04,
7年前
, 6F
07/04 11:04, 6F
→
07/04 11:05,
7年前
, 7F
07/04 11:05, 7F
→
07/04 11:05,
7年前
, 8F
07/04 11:05, 8F
推
07/04 13:32,
7年前
, 9F
07/04 13:32, 9F
→
07/04 13:33,
7年前
, 10F
07/04 13:33, 10F
→
07/04 13:33,
7年前
, 11F
07/04 13:33, 11F
→
07/04 13:34,
7年前
, 12F
07/04 13:34, 12F
對 就是中間再加一層C++
其實這是我昨天跟學長聊天他想到的 他說既然C++未來有動態和靜態 加上所有範型
那轉成C++可讀性比較高 又不會離原本語言太遠
OO或動態語言轉C就很醜
推
07/04 15:23,
7年前
, 13F
07/04 15:23, 13F
→
07/04 15:24,
7年前
, 14F
07/04 15:24, 14F
→
07/04 15:25,
7年前
, 15F
07/04 15:25, 15F
→
07/04 15:26,
7年前
, 16F
07/04 15:26, 16F
→
07/04 15:27,
7年前
, 17F
07/04 15:27, 17F
→
07/04 15:28,
7年前
, 18F
07/04 15:28, 18F
為了效能優化 很多時候還是要去看編出來的ir
雖然大家都說compiler現在很成熟比人工優化快
benchmark用下去一定有熱區 通常第一熱區和第二熱區有時候手動優化還是有機會變快
這種優化都是case by case 所以還是不少人會去看中間語言的部分
組合語言的可讀性還是比主流高階語言困難 至少對於非駭客很不直覺
※ 編輯: Sidney0503 (140.113.210.215), 07/04/2018 15:41:16
→
07/04 15:36,
7年前
, 19F
07/04 15:36, 19F
→
07/04 15:37,
7年前
, 20F
07/04 15:37, 20F
→
07/04 16:03,
7年前
, 21F
07/04 16:03, 21F
→
07/04 16:04,
7年前
, 22F
07/04 16:04, 22F
推
07/04 18:10,
7年前
, 23F
07/04 18:10, 23F
→
07/04 18:31,
7年前
, 24F
07/04 18:31, 24F
推
07/04 21:57,
7年前
, 25F
07/04 21:57, 25F
推
07/04 22:48,
7年前
, 26F
07/04 22:48, 26F
→
07/04 22:49,
7年前
, 27F
07/04 22:49, 27F
→
07/04 23:25,
7年前
, 28F
07/04 23:25, 28F
→
07/04 23:25,
7年前
, 29F
07/04 23:25, 29F
→
07/04 23:29,
7年前
, 30F
07/04 23:29, 30F
→
07/04 23:30,
7年前
, 31F
07/04 23:30, 31F
→
07/04 23:38,
7年前
, 32F
07/04 23:38, 32F
→
07/05 00:27,
7年前
, 33F
07/05 00:27, 33F
→
07/05 00:28,
7年前
, 34F
07/05 00:28, 34F
推
07/05 20:30,
7年前
, 35F
07/05 20:30, 35F
→
07/05 23:09,
7年前
, 36F
07/05 23:09, 36F
→
07/05 23:10,
7年前
, 37F
07/05 23:10, 37F
→
07/06 01:08,
7年前
, 38F
07/06 01:08, 38F
→
07/06 01:09,
7年前
, 39F
07/06 01:09, 39F
→
07/06 01:09,
7年前
, 40F
07/06 01:09, 40F
→
07/06 16:52,
7年前
, 41F
07/06 16:52, 41F
推
07/08 14:48,
7年前
, 42F
07/08 14:48, 42F
推
07/10 10:40,
7年前
, 43F
07/10 10:40, 43F
→
07/10 11:18,
7年前
, 44F
07/10 11:18, 44F
→
07/10 11:19,
7年前
, 45F
07/10 11:19, 45F
→
07/11 22:52,
7年前
, 46F
07/11 22:52, 46F
→
07/11 22:53,
7年前
, 47F
07/11 22:53, 47F
→
07/11 22:53,
7年前
, 48F
07/11 22:53, 48F
→
07/11 22:54,
7年前
, 49F
07/11 22:54, 49F
推
07/14 06:11,
7年前
, 50F
07/14 06:11, 50F
→
07/14 06:11,
7年前
, 51F
07/14 06:11, 51F
推
07/15 14:09,
7年前
, 52F
07/15 14:09, 52F