喜歡編程語言理論,國內有什麼好去處?
01-13
如題目所示,題主還是本科學生,出於個人原因不太願意去美帝讀phd。但是比較喜歡編程語言理論,所以請問一下國內有什麼比較好的公司在做這一塊嗎?其實做編譯優化也可以,兩者都挺有興趣的。
------補充-------
編譯優化:IBM中國研究院,IBM上海等
阿里:核心系統部(專用計算組),阿里雲OS,UC(現在應該也是阿里的,,JS引擎)NVIDIA,GPU相關的。Intel,北京、上海都有相關部門。MIC架構(很新)上的編譯挺好的(國內不知道有沒有做)其他如:HP,Marvel,華為。。諸如:xx目標平台的LLVM/GCC/..移植,定製JVM/V8,優化某SQL引擎,各種語言/庫的GPU支持,某些金融公司會定製C++編譯器。。
開發工具:
Debugger開發/移植,Jane Street Capital貌似在搞gdb的Ocaml支持各種靜態/動態分析工具:代碼風格檢查、安全分析、性能。。各種內部/外部DSL,模板引擎也算。。各種測試工具,quickcheck,cucumber多帥氣~
以上工作不少公司應該都有吧。。
工作/工程上的不一定需要很多理論知識(事實上程序語言方向的PHD,也可能用不到太多理論。。)。Happy hacking, happy working...
學校/研究所
偏向實現中科院計算所,龍芯。胡偉武、陳雲霽幾個人為主要設計者。PS:陳雲霽兄弟今年倆頂會的best paer了。。(雖然項目和龍芯無關。)清華大學高性能所,發過PLDI,,國防科技大學,「飛騰」系列。江南計算所 。偏向理論
中科大-耶魯 高可信軟體聯合研究中心中科院軟體所。。北京大學另外清華大學、南京大學也不錯吧。。。問題里沒問北美/歐洲/..就不補充了。。
題外話
搞編譯(尤其偏向後端、底層)往往和體系結構、操作系統密切相關,很多其實和程序語言理論關係不大。。在PL相關的學術界,有偏向實現的(高性能、體系結構、OS等),側重於程序分析的(安全、軟體工程、等),有主要做各種形式化系統的(從model checking這樣純理論,到sel4 OS)。至於比較純的PL理論,,搜POPL有真相。。工程上可能是」解決現在的問題「,或者」做出有趣有用的東西「,深度、廣度可能會有所不夠(無好壞之分)。而我理解的讀PHD(我尚未讀。。),是通曉過去、現在的問題,發現、解決現在乃至將來的問題。另外有些理論的美,,還是讀PHD更方便體會。。看個人喜好。編程語言論,就我所知,國內好像沒有公司在搞(如果有人知道可以補充一下),不過我們編譯器組會參與討論C++標準,而我也知道組內加拿大那邊有人在編程語言論這塊兒有很深的研究。而你說的編譯優化我們也有在做,而且都是Band 10和IBM Fellow之類的大牛牽頭,所以IBM算一個不錯的去處,你會接觸到各種大牛,對你的成長絕對非常有利。除了IBM外,我知道國內在做編譯器優化方面的公司應該還有HP,Intel,Marvel,華為,阿里巴巴等,另外,我知道ARM有編譯團隊,因為我們最近談的一個LLVM編譯解決方案裡面就涉及到了Intel與ARM的例子,但是我不知道ARM國內有沒有編譯團隊。===============Update================= 經@zephyr z補充,ARM國內做LLVM和GCC
國內公司里砸錢做編程語言純理論的確實沒聽說。做編譯器或者VM的倒是有一些。之前我總結的JVM、VM相關的職位:http://hllvm.group.iteye.com/group/topic/38884
推薦一款日本的龍頭產品團隊詳情搜索web靜態分析工具 pgrelief 富士通南大
UC瀏覽器, UC瀏覽器的javascript的v8引擎,, javascript解析優化, 可以任你折騰。乾的是手機上js引擎優化, 不夠頸,LLVM,ASM, JSCore。。。 http://www.uc.cn。
夠挑戰嘛?那發簡歷給我,幫你內推。兆芯也做GPU相關的編譯器工作,面試過這家
求其次你可以去圖形晶元公司,nVidia,AMD/ATI,Qualcomm等等,這些公司都有Shader編譯器團隊。
你確定是喜歡而不是一時興起?
真正喜歡會深入研究了解,深入了解後仍沒有厭倦,自然會了解業界行情,也不會到知乎來問這樣的問題吧。一時興起而作決定是坑自己,會將自己的未來長久弔死在已經失去興趣的工作上受刑。我們在工作中會大量使用編譯和編程語言理論等相關內容和知識,我們的網站是http://oneapm.com,樓主有興趣可以站內私信我。
推薦閱讀:
※C++ 編程過程中,有哪些常犯的壞習慣,哪怕對於多年經驗的程序員也會出現?
※大學每天用6個小時編程,以後會怎樣?
※stl的sort和手寫快排的運行效率哪個比較高?
※C++輸出hello world,請從電子電路、內存CPU、程序層面解釋一下?
※如何在一個月內提高C++水平?