您的位置:首页 > 其它

什么是科研人员应该具有的能力,什么是工程师应该具有的能力?

2009-08-12 10:25 393 查看
这几天,由于项目工作需要暂停,所以我就抽空开始学《算法导论》。认为这是一本很不错的书,不仅介绍了各种算法,而且给出了算法的由来(它的发明者是如何想到它的),以及效率的数学计算,当然还包含了算法的数学基础。我觉得这本书应该很耐看。它不向目前的一些国内的算法教材,只是罗列些经典算法,让你应用的时候可以想到去套这些算法。
昨天晚上和大师兄说了我正在学算法导论的事情。本以为大师兄会很支持,结果大师兄说,其实科研人员并不关心算法效率的问题,只有程序员或编程高手才会更关心效率的问题。
说道此处,我不禁心惊胆寒。。我承认大师兄说的没错。。很多人在论文中叫嚣自己的算法如何如何有效率,却不知道才用不同的编程语言算法执行效率也不同。
比如我曾经用C语言和MATLAB同时实现prim和kruskal算法,由于matlab语言对矩阵的特殊支持,matlab实现的算法显然比C语言高。
MS研究所里的大牛都在叫嚣着“编程语言不重要,只是个工具罢了”。可是不懂编程的人来说这句话不觉得脸红吗?
我们在本科多是工程上的训练。其目的就是:以后无论那门编程语言,只要学一个星期就能上手。。
可是当我在考研面试的时候,说道不同的编程语言对实现不同的算法有不同的效率时,在场的老师不屑一顾。当我能使用多种编程语言。又有人认为编程只是一种工具罢了,我充其量只不过是一个木匠。当人家问我数据库知识,我答出一小部分时,有人有任务我没有理论素养。。荒谬,真是荒谬。。。
我承认在本科,我们受到的训练都是工程上的训练,其目的是深刻的认识“编程语言只是工具,不是限制人思维的桎梏”。不学几种语言,怎么能深刻认识到这样一点,怎么能在研究生的学习中用一周就能基本入门一种特定的编程语言。当然,我们不是大专,也不是职业培养学校。我们虽然注重工程能力,但是并不要求一个学生在某一门程序语言上成为大牛(这是职业培训的目的。所以即便很多人是职业培训出来的,编程能力也可能比我们强)。我们的优势是在于在注重工程培养的同时,我们还有很多理论学习,报考计算机的各种理论,算法的各种理论。。。这些理论的学习是给在研究生期间做理论研究做初步准备的。
所以,我认为 一个软件领域的科研人员,在本科阶段应该是一个优秀的程序编写员。本科的偏工程背景,不应该认为和做理论研究是不相关的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: