Re: [問題] 如何學寫COMPILER? [純拋磚引玉]

看板Programming作者 ( )時間18年前 (2007/04/28 17:17), 編輯推噓3(300)
留言3則, 3人參與, 最新討論串34/38 (看更多)
※ 引述《halajohn (Wei Hu)》之銘言: : : 答案很簡單, : : 因為 C++ 和 Java 一直還有在改進, : : 但是 yacc 停住了, : : spirit 不但使用了新技術且確實達到了使用該技術的目的 (好寫好 debug), : : 而且它仍然在不斷改進當中 (要注意是技術面的改進,可以比較看看它的歷史紀錄)。 : boost::spirit 有使用新技術嗎? : 應該都是舊技術吧, 只是封裝在 C++ 絢麗的用法裡面. 我倒不覺得那個叫做只是絢麗的用法, 固然某些寫法會讓人覺得驚奇, 但強調「將錯誤提前至編譯期」的技術本身確實是先進的, 錯誤訊息的長度並非除錯困難的判斷標準, 所謂除錯困難是連 bug 在哪都不知道的才較困難, 特別是在執行期偶爾出現的 bug 最不好抓; 虛有其表的技術終究只是玩具, 只能拿出來跟人現卻缺乏實際用途, 要把一個 library 送進 boost 裡並沒有想像中的容易, 人們就是覺得需要它才會被納入。 當然 spirit 裡用的技術都是要說它舊也是可以, 只不過相較之下 yacc 更舊, C++ 本身就是舊東西, 從現今的角度來說它的某些技術應被視為「舊的底線」, 有不少地方採用的技術都停留在 80 年代和更早, 在 2000 年以後還持續重複犯著 80 年代或更早的人犯的錯誤, 不斷的為這些已知可以避免的錯誤付出昂貴代價, 堅持相信人是完美的 (永遠在工作時保持最佳狀態,嚴謹的注意每件該注意的事), 搞到現在大家的主要工作內容還總是在 debug, 這樣實在不是好現象。 -- Name: Tseng, Ling-hua E-mail Address: uranus@it.muds.net School: National Tsing Hua University Department: Computer Science Interesting: C++, Compiler, PL/PD, OS, VM, Large-scale software design Researching: Software pipelining for VLIW architectures Homepage: https://it.muds.net/~uranus -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.230.220.241

04/28 17:19, , 1F
人不可能24小時都在最佳狀態, 不是嗎?
04/28 17:19, 1F

04/28 18:19, , 2F
我一天只要有 24 分鐘正常就好了 T__T
04/28 18:19, 2F

04/28 20:13, , 3F
把人類從地球上de掉 這樣就沒有bug了
04/28 20:13, 3F
文章代碼(AID): #16Cn4knh (Programming)
討論串 (同標題文章)
文章代碼(AID): #16Cn4knh (Programming)