V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Chigogo
V2EX  ›  问与答

考研还是深入开发?

  •  1
     
  •   Chigogo · 2015-05-30 12:03:02 +08:00 · 4869 次点击
    这是一个创建于 3463 天前的主题,其中的信息可能已经有所发展或是发生改变。
    本科新闻学,以后想从事IT。

    问题来了,我应该是深入学习开发呢?还是通过考研转成计算机呢?

    考研其实不错的,通过考研可以把组成原理、数据结构、网络、操作系统系统学习一下。但是有一点,就是学习数学的时候,总感觉有浪费时间之嫌,考研的数学要求貌似有点过了,若要考到理想研究生,就要花费很多时间投入到数学。

    这种投入值得吗?
    52 条回复    2015-11-06 09:44:03 +08:00
    wy315700
        1
    wy315700  
       2015-05-30 12:08:47 +08:00
    不要小看数学。深入开发以后就知道数学的重要性了。
    tianshilei1992
        2
    tianshilei1992  
       2015-05-30 12:43:31 +08:00 via iPhone
    读研的时候你就知道数学都多重要了…特别是那个概率和线代,虽然高数用的不多,但是积分、级数这个东西教科书都默认读者熟练掌握…
    sadaharu09
        3
    sadaharu09  
       2015-05-30 13:45:17 +08:00 via iPhone
    出国!肉翻才能看到更高的境界。
    Chigogo
        4
    Chigogo  
    OP
       2015-05-30 15:52:51 +08:00
    @sadaharu09 经费。。。
    Andiry
        5
    Andiry  
       2015-05-30 16:21:03 +08:00
    对于CS而言,数学基本上没有毛用
    DerekXu
        6
    DerekXu  
       2015-05-30 17:00:12 +08:00 via Android
    楼上你还真说错了。cs真正进入研究领域,没有数学你靠什么?就说现在比较流行的机器学习数据挖掘云计算,哪一项不是现在cs研究的热门方向,哪一项不需要扎实的数学功底?
    wy315700
        7
    wy315700  
       2015-05-30 17:06:13 +08:00   ❤️ 1
    @DerekXu
    @Andiry

    数学就像后期英雄,后期猛,但是前期弱成狗,大部分人都只到前期就GG了,只有少部分坚持到后期的才能爆发出威力
    FifiLyu
        8
    FifiLyu  
       2015-05-30 17:06:19 +08:00
    这个只有看楼主兴趣了。开发也是分偏向理论和应用的。
    微软研究院之类的,偏理论,对数学要求高。
    除此以外,大多数工作都是应用型,对数学要求不会高。
    DerekXu
        9
    DerekXu  
       2015-05-30 17:16:27 +08:00 via Android
    @wy315700 同感。
    像楼主要读cs的研,还是花花心思提高一下数学吧。这波不会亏。
    Andiry
        10
    Andiry  
       2015-05-30 17:25:31 +08:00   ❤️ 1
    @DerekXu 得了吧,就国内那研究生的难度,还需要学数学?微积分学得再好有毛用?有那个时间好好搞搞英语和算法差不多。
    Andiry
        11
    Andiry  
       2015-05-30 17:30:13 +08:00   ❤️ 2
    @wy315700 什么叫后期,SOSP,OSDI这种算不算后期?那上面发的论文基本上对数学功底要求为零
    wy315700
        12
    wy315700  
       2015-05-30 17:31:57 +08:00
    @Andiry 算法是也是数学的一部分,比如加密算法,数论学不好就只能看看热闹。
    Andiry
        13
    Andiry  
       2015-05-30 17:37:21 +08:00 via Android
    @wy315700 我针对的是楼主说的考研数学,跟算法搭不上边。难道考研数学会考你RSA原理?
    wy315700
        14
    wy315700  
       2015-05-30 17:42:50 +08:00
    @Andiry 那都是基础,基础不好上层建筑很容易垮掉的。
    DerekXu
        15
    DerekXu  
       2015-05-30 17:50:59 +08:00 via Android
    @Andiry 微积分就是个基础。微积分都不会那也就没深入的机会了。就像你一百以内的数都没数全就要搞四则运算?
    近几年的osdi应该也出了不少和云有关的文章吧,不敢说全部,但你敢说它里面的数学为0?
    Andiry
        16
    Andiry  
       2015-05-30 17:53:51 +08:00 via Android
    @wy315700 大多数算法根本不依赖于考研数学这种基础。算法导论里面提到过读者需要有扎实的微积分基础吗?
    Andiry
        17
    Andiry  
       2015-05-30 17:59:02 +08:00 via Android
    @DerekXu 有些论文有一些推导,但是基本都很简单,跳过也不影响理解。反正我十年没摸过微积分,还没有碰到哪篇OSDI看不懂的。
    sketch33
        18
    sketch33  
       2015-05-30 18:04:42 +08:00
    @wy315700 算法和考研数学有任何哪怕一丁点的关系吗?
    sketch33
        19
    sketch33  
       2015-05-30 18:06:19 +08:00
    @DerekXu 那种仅仅提到一个概念、展示一两个公式的“数学”,和考研里面变着法子算积分、需要大量做题才能有效备考的“数学”,恐怕差的还是挺多的吧
    DerekXu
        20
    DerekXu  
       2015-05-30 18:08:52 +08:00 via Android
    @sketch33 这个论点就扯到应试教育了,无关“数学与cs的关系“
    sketch33
        21
    sketch33  
       2015-05-30 18:10:16 +08:00
    考研浪费时间的不仅仅是数学吧。考研英语无论是和真正的英语相比,还是对CS的帮助,都令人呵呵。。。还有那个伟光正的敏感词科目。
    sketch33
        22
    sketch33  
       2015-05-30 18:15:57 +08:00
    @DerekXu 需要用到高深数学的CS研究本身就没那么多,和考研数学备考过程中的那些题海更是八竿子打不着。何况楼主只是想从事IT,很可能将来会去写个Java,写个前端,写个python。。。。写写代码并不需要先娴熟掌握微积分概率论之类的的吧
    matthewz
        23
    matthewz  
       2015-05-30 18:19:31 +08:00
    国内数学确实要求有点过了 因为考研毕竟是选拔性考试, 相比之下GRE 的数学简直弱的要命.
    sketch33
        24
    sketch33  
       2015-05-30 18:24:39 +08:00
    你就当考研投入的唯一产生是文凭好了。除非你真的去了顶尖的大学、做着高大上的研究,那么你在备考阶段熟稔的那些数学可能会派上一些擦边球的用途。反之,如果你的目标是入行做个程序员,写个Java写个前端写个python,那么那些数学就整个是一个彻头彻尾的没有帮助。
    DerekXu
        25
    DerekXu  
       2015-05-30 18:29:58 +08:00 via Android
    @sketch33 写个前端写个python还真不如去企业里实打实的练练~
    其实要是读cs硕士,研究方向总要有的吧。
    做图像?你说你不懂矩阵运算,不好意思。。
    自然语言处理?你说你不懂概率统计,不好意思。。
    计算机安全?你说你数学基础不好,不好意思。。
    其他方向能举的例子还有很多。
    wy315700
        26
    wy315700  
       2015-05-30 18:30:40 +08:00
    @Andiry


    一方面,论文里是不宜出现复杂的公式的,另一方面,论文里都只是结果,推到过程都是不会写的。
    很多论文,公式都很简单,但是背后的推导过程是非常复杂的。
    就那个E = MC^2 ,结果简单吧,但是怎么来的呢,很少有人看的懂。

    当然,如果你要说不影响理解,是不影响理解,但是按我刚刚说的,只能看个热闹,只能说,诶这方法不错,挺好用,然后只能按照他的方法去实现。
    算法导论里大部分也只是入门算法。



    @matthewz 事实上国内好多人数学并不行,尤其是记者,以前某记者还得出天安门上人均产生垃圾50公斤的结论。


    @sketch33 线性代数,概率论和数理统计,哪个不是算法里的重头戏。
    sketch33
        27
    sketch33  
       2015-05-30 18:40:54 +08:00
    @DerekXu
    是啊,所以说考研的产出是文凭,不在意文凭的话还是自己修炼一下编程直接去企业好了
    你说的这些用到的地方,其实这些数学在各自的数学书里,加上前置知识相关知识等等,也就只占一整本书的一小部分。掌握这些概念是一回事,花大半年时间白天黑夜翻来覆去做大量题备考又是另一回事。
    wy315700
        28
    wy315700  
       2015-05-30 18:43:48 +08:00
    @sketch33 学数学不做题不能算掌握。

    就像你学编程,不能光看书,而是要动手写,

    学数学一样的道理,做题就相当于是实践。


    华罗庚学微积分的时候,做了2万道题。
    sketch33
        29
    sketch33  
       2015-05-30 18:57:38 +08:00
    @wy315700 所以做这么多数学题对于写代码的帮助是?
    DerekXu
        30
    DerekXu  
       2015-05-30 19:08:46 +08:00 via Android
    @sketch33
    这不又回到了“应试教育坑爹“这个论点上来了吗。。
    如果是做程序员的话,当然还是要拿项目说话。读硕士与出去工作差别可能不会大。你说你去读硕士,然后写了三年的管理系统,我也觉得这钱和时间花的冤枉。
    但是,cs肯定不只是编程语言和框架,它的范围很广。
    这些可能是本科没有机会接触的,这些才是硕士真正的价值所在。
    另外,我说的那些当然只是数学里面极小的一部分。仅仅这些,学习成本就已经很陡了。就像本科时一百页的线性代数,和一千页的数据库系统。谁能说一百页的就比一千页的好学呢?
    但这一部分对于做研究来说可能已经够用了。它确实难,但用处也确实大。
    wy315700
        31
    wy315700  
       2015-05-30 19:09:46 +08:00
    @sketch33
    如果你觉得写代码就是写个Java写个前端写个python之类的,那还是不要学数学了。
    比如说给你这个算法。



    你能看出里面的问题吗,
    batstying
        32
    batstying  
       2015-05-30 19:18:45 +08:00
    @wy315700 上来就搞个圆锥曲线密码学- -! 多少人会自己弄套加密算法,直接拿成熟的用不就行了
    wy315700
        33
    wy315700  
       2015-05-30 20:12:08 +08:00
    @batstying 是椭圆曲线,,,

    最近刚好在弄这个,顺手就贴出来了
    nevin47
        34
    nevin47  
       2015-05-30 20:33:18 +08:00
    最近V站考研VS工作的帖子好多,本来点进来只是想看看的,但是看到LZ觉得学数学浪费时间还是没忍住回一帖

    LZ说自己想从事IT,那么如果只是想以后做做开发写写代码那么确实数学可能没啥大用

    但是CS的领域那么复杂,就算不谈DM、ML这些直接靠数学吃饭的,就算是基本的数理逻辑&系统建模如果没有扎实的数学基础和逻辑思维,那么学起来也会很痛苦的;或者LZ未来走得比较远了开始涉及算法优化、自然语言或者多目标决策等等了,百分百会觉得考研的那点数学内容就是一个渣,要学的还太多太多了,对数学的要求真心不要太高

    所以说读研或者不读研其实都可以,但是数学这东西却不管读不读都千万不要轻视的
    hellomsg
        35
    hellomsg  
       2015-05-31 00:21:02 +08:00 via iPad
    计算机界的牛人很多是从数学转过来的
    hellomsg
        36
    hellomsg  
       2015-05-31 00:23:12 +08:00 via iPad
    @batstying 如果没人弄,还不得自己弄。难道你还要求着别人弄
    Andiry
        37
    Andiry  
       2015-05-31 02:11:12 +08:00
    @wy315700 E = MC^2都出来了。你大概没见过OSDI paper长什么样子吧。。。
    算法导论确实大部分是入门算法,so what?万变不离其宗,CS大部分时候用到的不就是这些算法。

    楼主的问题本来是“我想强身健体,练习跆拳道要怎么入门”。你们的回答是“内功非常重要,修炼九阳神功三十年可有所小成,再三十年可成一代宗师”,正确是正确,可是有毛用?
    monnand
        38
    monnand  
       2015-05-31 02:45:40 +08:00
    @Andiry 呵呵,是不是觉得提一下OSDI SOSP这些会很牛逼很酷炫?

    可这俩都是偏system building的会,谁没事往这俩会投理论的paper?想看搞system的人推公式自己去找篇SIGMETRIC,INFOCOM看看,你跑OSDI, SOSP去看人推公式这不纯粹扯淡么。system这块哪个会是偏理论,哪个会议偏实践大家心理不早就有数了吗?
    Andiry
        39
    Andiry  
       2015-05-31 03:02:47 +08:00
    @monnand 喷了,我提OSDI就是说明某些CS顶级会议不需要多少理论基础,至于OSDI“需要数学功底”,“公式背后推导过程非常复杂”这些话又不是我说的

    INFOCOM这种一年投一千多篇的灌水会议也拿出来说事真是笑了,你怎么不提SIGCOMM呢?
    monnand
        40
    monnand  
       2015-05-31 03:27:01 +08:00
    @Andiry

    以下是一篇你的完整回复:

    > 对于CS而言,数学基本上没有毛用

    最起码你说的这句话是不全面吧?从你后面的发言看,你似乎是读了几篇OSDI和SOSP的paper之后得出了这个结论?我回复是跟你说,CS领域除了OSDI和SOSP以外,还有其他会议。除了system以外,还有其他领域。所以你这一句话打倒CS一大篇的做法起码是不全面不完整的。

    说白了,你跟我这扯淡没用,踏踏实实跑点实验,写点好paper,把导师哄开心了趁早毕业拿个好教职这是真的。你跑V2来跟一个犹豫要不要读master的人说,告诉他学CS不用数学,你觉得这有意思么……

    INFOCOM这几年确实是被中国教授们给灌水玩坏了。可你这跟我抬杠有个屁用?
    Andiry
        41
    Andiry  
       2015-05-31 04:49:50 +08:00
    @monnand 那句话是回应楼主的,漏掉了两个字,原意是指考研数学

    正因为楼主没啥基础,对CS也不了解,不知道考研数学对CS有没有用,所以我才明确的告诉他,没毛用。要是他真的听你们的去啃微积分,那才真是掉进坑了

    就好像楼主问“我要学Python,请问怎么入门”,结果你们回答“先去啃汇编/先搞懂操作系统/先学体系结构”,是一回事。要学CS就直接学就好了,等到级别高到需要数学了再回去补不就行了?

    INFOCOM不是你提起来的么,怎么又成我抬杠了?
    sketch33
        42
    sketch33  
       2015-05-31 05:59:24 +08:00   ❤️ 1
    真的是要笑死人了,一群人在这儿嘴硬。

    有哪家公司招Java、PHP、python、前端、iOS 等等whatever程序员的时候会出一道考研难度的数学题、并作为重点考察内容?我见识相当短浅,跪求科普。

    日常编程中,又有多少需要刷半年考研题才能搞掂的数学?人家就想安静的做一枚程序员,不去学编程,而是去花大力气思考这个积分怎么求、那个概率怎么算?这么给建议的人脑子真的没问题吗?

    更荒谬的是,很多人好像觉得跟考研数学打交道就是楼主这辈子学习数学最后的机会了一样,仿佛如果现在不学数学,以后就再也不能学了似的——楼主以后要是真的在编程中需要用到什么微积分、矩阵、概率神马的,那到时候现学现卖不就行了吗?

    都说不要等到所有条件完全了才开始,都说要dive deep and get hands dirty,怎么到了真正给别人建议的时候,却又是如此这般的另外一番景象?真是有意思。
    monnand
        43
    monnand  
       2015-05-31 06:32:18 +08:00
    @Andiry

    这事真的是仁者见仁的事。关键问题是“数学”和“计算机科学/CS"这俩词太大,包括的东西太多了。因为每个人对“数学”两个字的第一理解并不同,所以泛泛而谈地说“数学”如何如何很容易给人造成误导。搞计算机体系结构的人学范畴论没准真没什么用。但是做人工智能的人能没点概率的基础知识么?

    > 要是他真的听你们的去啃微积分,那才真是掉进坑了

    我让他啃微积分去了?我压根就没有给楼主提什么建议,所以“你们”这词用得起码算不合适吧?至少你用个“他们”也算陈述事实。

    > 等到级别高到需要数学了再回去补不就行了?

    当前的问题是:楼主打算考研(虽然可能还不确定,这里我假定楼主确定要考研),然后楼主觉得学考研数学浪费时间。按照你这个说法,马上要考研的楼主现在难道还不需要学习考研数学吗?不学考研数学怎么考研?这就好比小孩子不吃碗里的胡萝卜,大人说胡萝卜对眼睛好,结果你非得当着孩子面说胡萝卜未必对眼睛好。先不管你说的是对是错,你这不纯粹添乱吗?

    至于你扔出一大堆会议名字来秀优越感,你觉得楼主是在问”发一篇SOSP需要考研数学吗?“这个问题吗?

    退一万步说,就算“考研数学”真的对学计算机没有一点帮助,那万一楼主决定考研你说能怎么办?大家告诉楼主“学数学很重要”从一个角度讲也是在鼓励楼主不要放弃。你这一句[考研]数学对CS没用,那楼主每次复习数学的时候想起你这话还能有动力?我个人觉得,楼主发这篇帖子压根就不是想讨论数学有没有用,而是希望听到些鼓励让自己继续下去。

    我是真觉得在这里陪你扯皮对楼主没什么实质帮助。所以我也希望你别再回复我了。如果你觉得我说的不合你口味,请直接block我。如果block我还不解气,你可以遵照V2的惯例,给我回复一句”已block“,让我心里也隔硬一下。

    ====================

    以下内容是给楼主 @Chigogo 看的:

    TL;DR 你考研连政治都得复习,然后你跑V2来说学数学浪费时间,你觉得这个合理吗?

    容我冒昧地说一下,作为一个非计算机专业的人,想进这个领域,你起步就比别人低了,更何况你的本科专业和计算机相差很远。并不是说不可以,我见过很多优秀的人本科并不是学计算机的。但是他们往往需要付出了更多的努力。如果你决定现在去工作,那么很可能只是找到一个”搬砖“的职位,也许对你并没什么帮助。一定记住:你工作的环境决定了你的视野。很多人说“读个清华北大有什么用?”往往是因为这些人身边并没有什么清华北大的优秀学生。说得直白些,那些所谓“清华北大”的人,很可能早早地跑去国外,或者跻身技术顶级人才,或者跻身企业高管,那些抱怨的人压根都没有见到他们的机会。

    至于你说的“深入学习开发”还是考研,我实在不太了解“深入学习开发”是什么意思。这真的取决于你现在是什么水平,如果你现在水平很高,可以直接给知名的开源项目(比如Apache旗下的项目如Hadoop,Spark;或者类似Linux kernel)贡献代码进而成为Committer,那么我觉得这条路还是可行。如果你所谓的“深入学习开发”仅仅是看看书,做点不大不小的个人项目,那么为什么不能在读研的同时做呢?当然,并不排除你可能通过“深入学习开发”做出一个世界级的开源项目来,但是老实说,这个几率可能不大。

    如果你决定读研,那么考研则是必须的门槛了。无论你喜欢不喜欢,考研要求的科目你都要准备,与其一边复习一边心理想着“这玩意儿真是浪费时间”,为什么不了解一下数学和计算机科学的关系,然后提起自己的兴趣,开心地复习数学呢?吴军博士有一本书叫《数学之美》,他本人曾在Google任职,之后去了腾讯。你不妨拿来闲暇的时候读读。

    @Andiry 说得没错,不少system相关的内容并不需要严格的数学背景。但是如果你没有扎实的数学基础,你就相当于把自己局限在一个很小的领域内。我猜,你才大学毕业,这时候需要的是尽量开阔自己的视野,让自己有更多的出路可走。未来的路你并不了解,你能做的仅仅是制造更多的可能。

    抛开考研,你想问“投入时间学数学值得吗?”我想说,无论你学习什么,往往不要从所谓投入产出上面分析。如果你问几百年前设计密码的人,“学习数学对搞密码有帮助吗?”他们可能会根据自己的经验,告诉你“学习语言学更有用”,或者“搞些文字游戏更有帮助”。原因并不是他们向你隐瞒了经历,而是他们真的也没有想到过把数学和密码联系起来。在了解一门知识之前,你永远不可能知道它对你有什么帮助。你可以寻求别人的建议,但别人的建议永远不会完全符合你的发展。

    我觉得,真的不在于你应不应该学数学。老实说,哪怕你一辈子搞数学,你也不可能了解数学的方方面面。问题在于你学习新知识的态度。@Andiry 说了,“等到级别高到需要数学了再回去补不就行了?” 那么,你需要数学的时候会不会继续抱怨浪费时间。

    我想,V2上很多人最不喜欢的一个抱怨就是“学XX没用”了。大家也许未必真的觉得XX有用,而是觉得有一颗好奇而好学的心是一切成功的必要条件。

    最后,计算机科学真的和数学有千丝万缕的联系。
    RangerWolf
        44
    RangerWolf  
       2015-05-31 06:48:02 +08:00
    只说自己的观点,不去赞同或者不赞同别人的观点(太长没看, 哈哈 )

    从业几年,没有直接使用数学的机会。但是数学锻炼出来的思维能力会有无穷的力量 :)
    我就后悔当年怎么没把数学好好学好。。。
    wy315700
        45
    wy315700  
       2015-05-31 08:40:32 +08:00 via Android
    @sketch33 不要等所有条件都开始,那是对于做项目而言,而不是做人,
    做项目可以快速上手,因为项目到中期可以优化可以重构,当然也可以被抛弃。
    但是做人不一样,你不能活到中年发现技能树歪了然后删号重练吧。
    ispinfx
        46
    ispinfx  
       2015-05-31 09:51:36 +08:00 via iPhone
    现在连数学都等同于微积分了,真是笑尿。
    ant_sz
        47
    ant_sz  
       2015-05-31 11:03:05 +08:00
    非计算机科学专业的话,最好还是考研。
    onlyForFun
        48
    onlyForFun  
       2015-05-31 16:27:30 +08:00
    你需要明白的是,数学,是做研究的基础。而且都是一些基础数学,高数,概率论,线代。哪里过了?说白了,考研的这些课,除了政治外,都是做研究的基础,高数、概率论、线代、计算机组成原理、操作系统、数据结构、计算机网络、英语。不然你觉得,为何要考英语和数学?
    Chigogo
        49
    Chigogo  
    OP
       2015-06-02 18:04:47 +08:00
    @sketch33 赞同
    @matthewz 就是觉得数学是要学的,但是不必要学到浪费时间抠字眼的程度。


    @wy315700
    wy315700
        50
    wy315700  
       2015-06-02 18:11:11 +08:00
    @Chigogo 还有半年多一点,楼主好好准备吧
    Chigogo
        51
    Chigogo  
    OP
       2015-06-03 12:06:34 +08:00
    @wy315700 谢谢你,刚把网络学得八九不离十……还有重头戏在后头。。。
    i36lib
        52
    i36lib  
       2015-11-06 09:44:03 +08:00
    读研的要求是让你做科研,数学当然要求高了。不过学好数学非常重要啊,我现在自学 iOS ,比如学到自动布局,发现这里面就是一个线性方程组模型啊,好多东西就理解了~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5686 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 02:35 · PVG 10:35 · LAX 18:35 · JFK 21:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.