這個問題就好像問土木系的教授蓋房子很厲害嗎?蓋房子又不是只有泥水工、還有監工領
班和工程師,土木系教授在工地上絕對拼不贏年輕的泥水工,但是好的建築工法可以省下
很多泥水活,不要再混為一談了。資工系教授也是一樣,很多老教授就只會oral
programming,叫下面的碩士班去寫他要的程式而已,但很多還是有在update新資訊,
還是有能力指導學生用好的演算法和資料結構去寫出效率高的程式,這些教授可以研發
出好的程式架構、演算法和資料結構,直接省下非常多後續coding和維護工時。
不幸的是在台灣大部分軟體公司就只要求程式能動,也沒在管效率和後續維護的問題,
反正這次簽約金到手就好。但像Google、Mircrosoft、Amazon這種大型軟體公司就很需要
高效率的演算法,因為這些軟體可是要服務上億人的,就算只省下1ms造成的影響也很大
,所以他們需要專門的職位在做演算法效能最佳化上面,而且也會發非常多的學術論文。
當然coding也不是沒有技術難度,易讀易維護的programing style絕對是要練習的,很多
design pattern拿去問資工教授很多也不懂(的確有資工教授不懂何謂MVC的)。coding
和演算法是不同的domain knowledge,只是大部分的人認為oral programming是最高級
的而已。