zoukankan      html  css  js  c++  java
  • 什么是科研人员应该具有的能力,什么是工程师应该具有的能力?



       这几天,由于项目工作需要暂停,所以我就抽空开始学《算法导论》。认为这是一本很不错的书,不仅介绍了各种算法,而且给出了算法的由来(它的发明者是如何想到它的),以及效率的数学计算,当然还包含了算法的数学基础。我觉得这本书应该很耐看。它不向目前的一些国内的算法教材,只是罗列些经典算法,让你应用的时候可以想到去套这些算法。
        昨天晚上和大师兄说了我正在学算法导论的事情。本以为大师兄会很支持,结果大师兄说,其实科研人员并不关心算法效率的问题,只有程序员或编程高手才会更关心效率的问题。
        说道此处,我不禁心惊胆寒。。我承认大师兄说的没错。。很多人在论文中叫嚣自己的算法如何如何有效率,却不知道才用不同的编程语言算法执行效率也不同。
    比如我曾经用C语言和MATLAB同时实现prim和kruskal算法,由于matlab语言对矩阵的特殊支持,matlab实现的算法显然比C语言高。
        MS研究所里的大牛都在叫嚣着“编程语言不重要,只是个工具罢了”。可是不懂编程的人来说这句话不觉得脸红吗?
        我们在本科多是工程上的训练。其目的就是:以后无论那门编程语言,只要学一个星期就能上手。。
        可是当我在考研面试的时候,说道不同的编程语言对实现不同的算法有不同的效率时,在场的老师不屑一顾。当我能使用多种编程语言。又有人认为编程只是一种工具罢了,我充其量只不过是一个木匠。当人家问我数据库知识,我答出一小部分时,有人有任务我没有理论素养。。荒谬,真是荒谬。。。
       我承认在本科,我们受到的训练都是工程上的训练,其目的是深刻的认识“编程语言只是工具,不是限制人思维的桎梏”。不学几种语言,怎么能深刻认识到这样一点,怎么能在研究生的学习中用一周就能基本入门一种特定的编程语言。当然,我们不是大专,也不是职业培养学校。我们虽然注重工程能力,但是并不要求一个学生在某一门程序语言上成为大牛(这是职业培训的目的。所以即便很多人是职业培训出来的,编程能力也可能比我们强)。我们的优势是在于在注重工程培养的同时,我们还有很多理论学习,报考计算机的各种理论,算法的各种理论。。。这些理论的学习是给在研究生期间做理论研究做初步准备的。
    所以,我认为 一个软件领域的科研人员,在本科阶段应该是一个优秀的程序编写员。本科的偏工程背景,不应该认为和做理论研究是不相关的。
  • 相关阅读:
    [十二省联考2019]字符串问题:后缀数组+主席树优化建图
    HAOI2018简要题解
    使用单调队列维护决策三元组实现决策单调性优化DP的一些细节
    杜教筛&min_25筛复习
    分治NTT:我 卷 我 自 己
    高级(并不)多项式算法总结
    导数与微分简单总结(updated)
    退役前的做题记录
    USACO2018DEC PLATINUM
    USACO2018DEC GOLD
  • 原文地址:https://www.cnblogs.com/finallyliuyu/p/1544203.html
Copyright © 2011-2022 走看看