Re: [請益] 學編譯器的出路好嗎?

看板Tech_Job作者 (pony)時間4年前 (2019/07/23 11:28), 4年前編輯推噓6(6017)
留言23則, 8人參與, 4年前最新討論串5/7 (看更多)
※ 引述《sooge (喜歡小女友Yerin )》之銘言: : 小弟不才現在資工研究所還沒有找到教授 : 小弟背景是學店電機系畢業 : 在校成績60% : 期間只修了一堆爽課混畢業 : 沒有一項技能可以拿來說嘴 : 工數 電子 電磁 電路都很差 : 真要說也只有弄專題要用的arduino有學到東西而已 : 本人"極度"討厭硬體,超級無敵他媽討厭那種,單純覺得冰冷的電子元件很沒生命力很乏味 : 大二大三時每週最討厭的課就是電子學實驗,修課都修到快憂鬱症,超級G8討厭 : 大學選系因為不了解自己興趣所向才選了以後出路比較好的電機系就讀 : 沒想到這麼不合自己口味 : 現在有在網路上學ML的相關課程,會一點數據處理 : 雖然程式基礎不好學的慢但因為是自己喜歡的課程所以學起來滿有成就感的 : 如果有在做ML和DL的老師願意收我當然是很好 : 沒有的話就只好找專攻編譯器的老師當指導教授 : 其實我也不知道編譯器是在幹嘛 : 台灣做這個的人很少? : 查了一下資料但還不是很懂 : 主要是在寫組合語言和LLVM是嗎? : 學這個會很操嗎?聽說有學生修這個課期末的project程式碼都是上千行起跳 : 之前有修過微算機8051寫組合語言 不特別討厭和感興趣 : 但就是當時程式差程式碼又多修起來有點辛苦 : 現在只想學個一技之長 : 不排斥編譯器這個領域,只是以後畢業靠這個吃飯出路好嗎? : 台灣學會編譯器容易找的到工作嗎?編譯器偏底層學起來是不是超難? : 推薦我這個半路出家基礎爛爛的學生選嗎? : 不知道這兩年會不會水深火熱 : 請求各位大大幫我解答個疑惑,有任何意見我都會聽的 : 謝謝~ : ----- : Sent from JPTT on my Asus ASUS_X00QD. 其實編譯器很多種 看你指的是哪一種 如果是單純 程式碼 轉成 executable machine code 的話 是最簡單的 軟體的程式語言 大部分都是 control flow 不外乎 if-else, for-while loop, function call/jump 好一點的就包含資料封裝 繼承 多型之類的 目前市面上的語言都有類似語法 去實作上述功能 我想一般公司也不會特地去發明一個語言 大概都是用現有的語言就好了 所以 compliler front-end parser 通常都不會碰到 因為別人早就做好了 而且技術不外乎是 LL LR LALR 之類的 (compiler很久以前學的, 有錯請更正) 至於 backend-end 範圍就很廣 一般人說做compiler 就是這種 有從語法樹(AST)分析的 也有從 control flow 做最佳化的 像是 peephole optimization, data-flow optimizations, loop unrolling 之類的 再進階就要看target machine的 pipeline 做平行運算之類的 或是使用 SIMD 指令 目前做 compiler 最夯的大概就是從 LLVM 開始著手 畢竟軟體架構好 文件也多 Apple也從 GCC 跳到 LLVM 也有人拿 LLVM 拿來做 數學軟體的 script language 像是 Julia (不是AV女優) compiler 要做出有技術性的 通常都要搞出虛擬機之類的 做出虛擬機 表示可以訂出語言的獨特性 型態轉換, 記憶體配置, 線程 之類的 像是 C#, Java, Python, NodeJS 這要學只能去找 source code 來看了... 上述是軟體程式語言 硬體程式語言 也有所謂的compiler 或者叫 hardware synthesizer 比較合適 就是將硬體描述語言 生成硬體邏輯閘 這我沒學過 沒辦法給你甚麼有用資訊 只能給你科普一下 至於學生寫code破千行 就覺得很操 ...只能說 還不及格阿.... -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.137.59.128 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Tech_Job/M.1563852530.A.804.html ※ 編輯: pponywong (220.137.59.128 臺灣), 07/23/2019 11:35:28

07/23 11:32, 4年前 , 1F
現在ic大廠很多都在徵AI chip compiler
07/23 11:32, 1F

07/23 11:41, 4年前 , 2F
硬體描述語言比較偏向EDA的floor planning
07/23 11:41, 2F

07/23 11:43, 4年前 , 3F
跟一般compiler最佳化不一樣
07/23 11:43, 3F

07/23 11:45, 4年前 , 4F
AI那邊的compiler又是另一回事,最基本就是op實作
07/23 11:45, 4F

07/23 11:46, 4年前 , 5F
傳統compiler最佳化的du ud-chain基本上沒用
07/23 11:46, 5F

07/23 11:54, 4年前 , 6F
研究所真的只是過程,都有教授做硬體的過幾年上新聞自稱資
07/23 11:54, 6F

07/23 11:54, 4年前 , 7F
安專家,也有VLSI的教授轉醫療資訊系統的
07/23 11:54, 7F

07/23 12:17, 4年前 , 8F
codegen一點都不簡單, 除非你指的是產生沒優化的code
07/23 12:17, 8F

07/23 12:18, 4年前 , 9F
另外有些資安會需要熟frontend的人,ex. obfuscation
07/23 12:18, 9F

07/23 13:20, 4年前 , 10F
我沒說簡單啊,我只說傳統的compiler優化用不上沒說不能有
07/23 13:20, 10F

07/23 13:21, 4年前 , 11F
其他優化方案
07/23 13:21, 11F

07/23 13:25, 4年前 , 12F
a網友 應該是回我的話啦 我說的簡單是對比其他compiler
07/23 13:25, 12F

07/23 13:26, 4年前 , 13F
這種編譯器是比較直觀的 像是虛擬機 中間碼 硬體生成
07/23 13:26, 13F

07/23 13:27, 4年前 , 14F
會比直接生出 machine code 跟需要很多知識
07/23 13:27, 14F

07/23 13:28, 4年前 , 15F
我想讀過資工的都了解 compiler 一點都不好做
07/23 13:28, 15F

07/23 13:29, 4年前 , 16F
尤其是大部人人都只有求學階段碰過而已 在業界又是一回
07/23 13:29, 16F

07/23 13:29, 4年前 , 17F
事了
07/23 13:29, 17F

07/23 22:44, 4年前 , 18F
資工畢業,能寫compiler的不到1%
07/23 22:44, 18F

07/23 22:44, 4年前 , 19F
好比資工OS必修,有幾隻貓能深入?
07/23 22:44, 19F

07/23 23:31, 4年前 , 20F
同意樓上
07/23 23:31, 20F

07/24 00:46, 4年前 , 21F
OS真的要深入真的是沒完沒了
07/24 00:46, 21F

07/24 09:36, 4年前 , 22F
OS最主要還是針對kernel部份學 但kernel日新月異
07/24 09:36, 22F

07/24 09:37, 4年前 , 23F
一下子沒跟而已就差很多了
07/24 09:37, 23F
文章代碼(AID): #1TDdxoW4 (Tech_Job)
討論串 (同標題文章)
文章代碼(AID): #1TDdxoW4 (Tech_Job)