※ 引述《reader (讀者)》之銘言:
: 你自己若不能比這些專家厲害,就請不要鼓吹每個人都該去搞研發,而
: 不是多去找找這類型錄來應用,台灣需要的是對先進科研成果的吸收和
: 應用,而不是在貧瘠的研究土壤上犧牲人才。
想要插個話。。。
為什麼只要說到「演算法也有它的重要性」之類的話題時﹐就會有人出來
說不要鼓吹每個人都該去搞研發﹖沒有人要求說要全部人去搞研發﹐也沒
有人把程序員的世界只定位在台灣而已吧﹖
我相信一般大眾的認知﹐演算法就是可以獨立于語言上的邏輯運算方程式
﹐將一個數據的運算變成一段程式時﹐在實際寫成語言之前的東西就是演
算法。
以泡泡排序法作一個例子﹐泡泡排序法就是一個演算法。Marching cubes,
Isosurface 這些也是不同的演算法。你可以用 C 語言實作﹐也可以用 Java
語言實作。不同的語言 coding 方法不一樣﹐也還有根據該語言﹑該 CPU
再進一步作優化(比如專門針對 Intel CPU 作優化)。
再廣一點﹐不同的專案往往有不同的框架(framework)。這些框架可以用
不同的語言去實作﹑去 coding。不設計框架就開始 coding﹐您能完成案子
是很神奇的事。
演算法面對同一類型的問題可以重複使用﹐所以有些學者就是專門對某些演
算法做研究的。這些演算法被發明出來﹐寫成論文﹐再交由 programmer 去
直接應用。有些 programmer 本身也對重複解決某些問題而有心得。也有他
們自己一套的演算法。
有必要逼使學者也對 coding 很熟悉嗎﹖老教授可能終其一生只會 C 語言﹐
不知道最新時代的 Intel CPU 有什麼指令。但他依然是開發新演算法的人。
演算法本來就在不同的平臺﹑機器上都能夠通用。
貶低演算法的價值是一個極端。。。沒有泡泡運算法﹐沒有排序的運算法﹐
要怎麼寫排序的程序﹖沒有人對 multi-threading 作研究﹐何來 Windows
這樣的產品﹖沒有人去設計程式的運作邏輯﹐何來程式﹖
只是有人研究的範圍已經過於專門﹐所以才專門研究演算法邏輯﹐不再實際
coding 了。這本來就是社會分工合作的進步。為什麼會有人認為我們不應該
去研究﹐應該大家都投入時間做 coding 就好了﹖
你以為可以很容易就運用外國研究出來的演算法嗎﹖專利權呢﹖授權費用呢﹖
好的運算法別人會申請專利﹐不是你要用﹐不是你看得懂就可以拿來用的。
一般上我看比較中肯的意見﹐研究及設計的人佔一個比重﹐實作寫程式的人佔
一個比重。任何專案終究有一個負責人。專案小﹐大家可以互相分擔工作。
專案大﹐自然就必須走向專業分工。這已經在數千年的社會中獲得明證。終究
要有人來指揮。終究要有人去負責設計。
至於台灣還應不應該擁有自己的研究人員﹐台灣是不是應該全部人去實作 coding
就好﹐不要有人去研究﹐那則是另一個問題了。我不是國策的訂立者﹐沒有能力
發表意見。台灣這樣的小國是不是最好不要沾手科學研究﹐我則不敢肯定。聽說
以色列的國情和台灣就很類似﹐但他們在科研的水平及投入遠遠超越台灣﹐他們
的論文在國際上也很有成就(聽說啦)。
另外﹐上面那位朋友一直強調他看的電子論文不比任何人少﹐另一方面卻認為寫
論文的人只是比手畫腳對社會沒有貢獻﹑每個教授都不曾有過接大型專案的能力
所以只是得張嘴在那邊騙吃。。。那麼您看那麼多論文干嗎﹖
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.111.221.115