楼主:
Lipraxde (Lipraxde)
2024-04-24 08:44:40※ 引述 《ttucse》 之铭言:
: 想请教大家的是
: 如果资工硕士专攻compiler编译器
: 在台湾有公司有这样的工作吗?
: 好像没有台湾公司的产品是编译器
: 那有公司是内部需要编译器的吗?
你应该是想问 compiler 这条路出路如何嘛?
限定台湾的话,努力找,应该还是找得到 (104 搜一下嘛)
底下容小弟依经验帮忙分析几个你可能也会想知道的面向:
1. 做 compiler 门槛高不高?
想像一下高阶的语法到低阶的指令,例如:
python -> C++ /C -> 组语
同样用途的一支程式,用 python 写,转换成用 C 怎么写、甚至熟悉某个 ISA 的话,多花
些精力,转换到组语也多少写的出来。一般来说 "人" 来做应该不算难做到。
Compiler 的角色就是替换这个 "人",变成一只程式,要把 "人" 怎么分析语法、语法检查
?怎么转换出组语?一步步拆解,写算法来完成。
而且最好要有条理、高效的来做这件事,顺便做些优化,那自然是有不低的门槛的。
2. 做 compiler 是不是要很强?
能够达到前面说的门槛,从高阶语言可能各种乱七八糟的写法都要能编译,error msg
能清楚,到编译出来的程式有优化、效能好,那自然是要很强的!
但也不是说一定要强者才能做,举个例子:有个 ISA 可以做加减乘除,已经有强者做好
加减怎么生指令了,那...照着把乘除做出来...稍微不那么强的人也做的到,而且,也总是
有这些事可以做的。
所以,前面说的门槛高,不至于不到门槛就洗洗睡,只收菁英的程度啦XD
达到门槛的自然强,不到的也能生存。
3. 做 compiler 爽不爽?
爽啊!当然爽!
假设你改善了某个算法的复杂度,让编译速度快 10 倍好了,像我一天多的时候可能
compile 个 100 次,原本等 10 分钟变成等 1 分钟就好,那代表我今天可以更早下班耶!
那如果是做个优化,编译出来程式快 10%、提前一分钟能出结果,这只程式将来可能要
跑一万次,你帮大家省了 7 天耶!!这都还只是单纯就省的时间来说。
这么有成就感的事情,要是做得到,能不爽吗?
(不过如果说是看钱的话...在台湾可能还是 HW design 才是王道!)