姚期智这种计算机科学家,和互联网公司里的高级程序员有啥区别

谢邀,
Engineer和Scientist的区别
科学家负责证明、研究理论,比方说证明某个算法是否可行
工程师负责使用科学家研究出的理论,运用到实际问题中
举个例子,3D渲染时用的BRDF model,比方说Cook-Torrance这种常用的3D渲染模型。
姚期智这种计算机科学家,和互联网公司里的高级程序员有啥区别

对于科学家来说,他们在几十年前经过各种研究搞出了这么一个又臭又长但是很屌的公式,每个参数代表不同的意义。他们需要通过理论啊实际观察啊数学证明啊之类的我也不清楚的方法去证明这个公式的确可以模拟出现实中物体反射光线的情况。他们的主要工作是:得出以及证明这个公式
然而对于工程师,我就不用理解为什么这个公式是这样的、为什么这个公式是正确的了。只需要知道每个参数是什么意思,然后去套用这个公式就行了,因为十几年前就有人帮你证明过这个公式的正确性了。他们的主要工作是:使用这个公式
个人理解,若有不对请大神指出
图片来自《Advanced Global Illumination》

■网友
一样是向日葵种子,有的人是种子,明年种出更多,有的人是用来榨油的,卖的很贵,有的人拿来做瓜子…
■网友
两者的差距就像你和一个正常人一样 比银河还宽

■网友
中科院研究生路过
你这种想法是有误区的。
首先,百度也招过吴恩达这种“计算机科学家”。很显然他的工作不在“码农/程序猿/工程师/CTO”之中。
一个大型互联网公司里面不仅仅是有程序员。也需要科研人员去研发算法、优化等工作。
其次,搞科研和搞工程是两码事。就好比微软亚洲研究院和微软(大中华区还是什么)一样。一个负责理论成果,一个负责工程实现。
google的机器翻译都已经放在github开源了,但是你真的想弄出一个可以商用的机器翻译服务还有很长的路要走。
最后讲讲你说的工作互换。
我壳总体上科研倾向异常严重。尤其是这些科学院院士,不像隔壁工程院院士看名字都知道是搞工程的。很多计算机方面做科研的大佬甚至代码写得都不多。主要是理论研究方面。
我们不能用写代码的能力来衡量这些大佬。他们的理论研究其实是更为重要的。从来都是理论先行,然后工程实现,才有广泛普及。
就好比你让一个画图纸的去开塔吊,那自然是难以胜任的。
但是二者缺一不可,不能用一个去否定另一个。是没有可比性的。

■网友
【姚期智这种计算机科学家,和互联网公司里的高级程序员有啥区别】 因为后者不需要懂计算机科学的一分一毫,最多略知皮毛即可(虽然不排除有不少人其实是懂一些的)
两者区别……我也不知道拿什么来比喻了


    推荐阅读