※ 引述《reader (讀者)》之銘言:
: ※ 引述《haryewkun (Har)》之銘言:
: : 貶低演算法的價值是一個極端。。。沒有泡泡運算法﹐沒有排序的運算法﹐
: : 要怎麼寫排序的程序﹖沒有人對 multi-threading 作研究﹐何來 Windows
: : 這樣的產品﹖沒有人去設計程式的運作邏輯﹐何來程式﹖
: qsort 都已經是標準的 C 函式庫了,還需要什麼研究?
: Windows 的起源更是天下一大抄的典範,全錄做研究,蘋果抄襲,然後
: 微軟再抄襲,而 multi-threading 的加入,更是在視窗開發多年,錢
: 都賺飽之後的事情了。
: 而不幸的,這些例子都跟過去或今日的演算法研究沒有什麼關聯,而你
: 所提到的泡泡排序,更是不需要演算法知識就能憑空實作出來的。
對我來說﹐泡泡排序就是運算法。如果你想要自己實作出來﹐你當然必須要
想出這種運算法出來。演算法就是通用于不同語言上面的邏輯。如果你從書
中看到這種算法﹐你照抄來實作﹐不能夠算是憑空實作。如果你自己想得出
來﹐那只是代表這種演算法的門檻很低﹐一個 programmer 可以用五分鐘的
時間去發明出來﹐不代表說演算法完全不用時間開發。更深奧的運算法﹐就
需要更多時間﹐更專門的人才去開發。我不認為隨便一個 programmer 可以
發明自己的 MD5 算法﹐也不認為一個 programmer 可以很容易地做出新的
marching cubes 算法﹑BSP 算法﹑rar 算法。如果真的要從零開始研發﹐
不從別的學者那邊拿到方程式的話。你不需要去研究 qsort﹐因為 qsort 已
經有前人研究過了。但你不可以就這樣說 qsort 毋須研究。
: : 去研究﹐應該大家都投入時間做 coding 就好了﹖
: : 你以為可以很容易就運用外國研究出來的演算法嗎﹖專利權呢﹖授權費用呢﹖
: : 好的運算法別人會申請專利﹐不是你要用﹐不是你看得懂就可以拿來用的。
: 已經提出論文的東西就不能申請專利了...
: 通用演算法的專利,還很有爭議,目前屈指可數,軟體專利都是在應用
: 層面的東西,也都是以技術的改進與應用的方法為主。
: 至於特定應用的演算法,本來就是別人為保障其企業生存所做的行為,
: 根本就不是公開不公開的問題,你不做那方面業務,就不會需要用到,
: 而若是想做那方面業務,也就應該開發自己的技術才有競爭力。
: 而這種專利技術的開發,幾乎都是跟程式設計分不開的,而且經常都是
: 相當極端的,別人很難寫出來的高級程式技巧與苦工的綜合。
我只能夠說﹐不見得是那樣。你的想法﹐是認為演算法只是「高級程式技巧和
苦工的綜合」﹐我不認同這一點。你定義一下什麼是程式技巧﹑什麼是演算法
比較好。演算法大多獨立于程序語言之上﹐MD5 算法就可以用不同的程式語言
去實作。
其實你的文章你也承認有研發自己技術的重要性。只不過﹐你認為所謂技術
只是程式的應用技巧轉來轉去﹑只是在應用層面開發而已。對于台灣的現狀
﹐我相信你看到的情況的確是這樣。台灣的所謂技術研發﹐只是在應用層面
拿技術﹑技巧來轉來轉去﹐爭取 10% 到 50% 的更高效率。如此而已。台灣
的情況和國外不同。
就我看來﹐你一直強調的東西只是應用層面的高級程式技巧的開發。那個
東西當然就是 programmer 的專用範圍﹐我沒有異議。世界的另一端有人
在做著另一種完全不一樣的東西。就是這樣而已。我不鼓勵年輕人選擇
前者﹐也不鼓勵年輕人選擇後者﹐純粹只是用平常心去說明事情﹐如此而已。
: 由於軟體產業的變化十分劇烈,致使一般科技產業中的研究與製造可以
: 全然拆開的方式,在軟體產業中是一種非常危險的做法。以軟體工程師
: 為主而其他人輔助的方式,或是軟體工程師有其專業,在不同專案當中
: 擔任不同角色的方式,才是比較可行的做法。
不見得。。。國外的大公司大多有自己的研究員。把工程師和研究院士分開。
台灣規模小﹐沒辦法做到這點。但你要是認為世上就沒這回事﹐難免有管
中窺天的意味了。微軟的研究員就是分開的﹐就算是在美國總部他們也有自己
的研究院。更多公司則和大學分擔研究﹐由大學去作基礎研究﹐由公司去作
作推出產品。「產﹑學﹑研﹑政」互相合作在國外早已行之有年。或許﹐
台灣的研究機構真的爛到你不想跟他們合作﹐但你不能夠根據這樣而否定
這樣的存在﹐也不能夠否定國外這樣做而成功的狀況。
: : 至於台灣還應不應該擁有自己的研究人員﹐台灣是不是應該全部人去實作 coding
: : 就好﹐不要有人去研究﹐那則是另一個問題了。我不是國策的訂立者﹐沒有能力
: : 發表意見。台灣這樣的小國是不是最好不要沾手科學研究﹐我則不敢肯定。聽說
: : 以色列的國情和台灣就很類似﹐但他們在科研的水平及投入遠遠超越台灣﹐他們
: : 的論文在國際上也很有成就(聽說啦)。
: 科學研究也是有國家競爭優勢的,台灣的資訊科技並不落後於以色列,
: 以色列甚至是負面的例子,他們的軟硬體產業的產值,就我所知,應該
: 都比不上台灣。而以色列之所以可以在科研上努力,是因為他們有而且
: 必須有軍工產業,台灣在軍工產業沒有建立之前,要做基礎科學研究,
: 只怕效益更低,相關研究人員更不受保障。
我認為是倒過來說﹐台灣因為沒有去做基礎科學研究﹐不尊重研究人員﹐只是專注
于見效快的應用領域﹐不願在要很長時間才能夠看到效果的研究領域上持續﹐所以
才導致軍工產業建立不起來。但你要說台灣的資訊科技不落後于以色列。。。我是
不太認同﹐但我也不敢說什麼。對這方面不是非常熟悉。
: : 另外﹐上面那位朋友一直強調他看的電子論文不比任何人少﹐另一方面卻認為寫
: : 論文的人只是比手畫腳對社會沒有貢獻﹑每個教授都不曾有過接大型專案的能力
: : 所以只是得張嘴在那邊騙吃。。。那麼您看那麼多論文干嗎﹖
: 什麼時候我說寫論文對社會沒有貢獻了 -_-
: 是有人在說研究比較重要、演算法比較重要,在那邊鄙視所謂的「只會
: coding 的人」,而教授們有多麼崇高偉大,這才讓人生氣了。
: 不要明明就是你們在鄙視別人,還要在無力反駁時把對方妖魔化。
: 無論就整個產業的現實,或是台灣的狀況,講那種鄙視 coding 的話,
: 只證明了台灣資訊教育的失敗。
: 如果不認真重視程式設計才是軟體製作的核心(這明明是一種廢話),
: 台灣軟體產業的最終一點生機,只怕都要斷絕。
我一直都覺得這個討論很有火藥味﹐誰在鄙視「只會coding 的人」﹖誰在說
「教授有多麼崇高偉大」﹖各位網友們﹐我有這樣說過嗎﹖
我一直都是很平常的心在閑聊﹐干嘛總是要扯到把對方妖魔化的情景﹖
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.111.156.244