程序员都需要了解大数据和人工智能吗?

我一直从事“传统软件工程”领域的开发,也就是比较熟悉普通的关系型数据库+HTTP服务器+一些流行的前端技术+常见的通信协议等等。

请问,面对今天如此火热的大数据领域,人工智能领域,传统的软件基础设施的建设者是否一定要去研究呢?

如果我不懂人工智能,不懂机器学习,不懂数据挖掘,是不是就意味着没有前途了

猪小花1号提问于 2018-02-26 17:19
12 个回答
  • 用户55895042018-03-16 15:57

    其实不是真的都需要……

    但是应该有所了解,尝试去了解下定义,可能的发展和技术概要之类的,再结合自己的工作和生活看看是否需要掌握这方面的知识吧。

    要去学习,要有要去学习的认真和理由;

    不去学习,也要清楚为什么不去深入学习的缘故;

    不能盲目跟风,一定要调研了解后根据自身的实际情况去做判断

  • 用户43558362018-03-15 14:31

         我觉得需要了解的,目前是数据爆发时代,分布式,大数据,深度学习等技术,无论是对未来发展还是别的,我个人认为这是基本技能。

  • 用户11930042018-03-15 11:39

    其实楼主理解有误,传统软件开发跟人工智能、机器学习、数据挖掘这些事不冲突的,首先你要知道 人工智能、机器学习、数据挖掘 这些有什么用,我个人觉得这些偏数据分析,利用这些知识来分析数据后面的价值,得到了这些价值还是需要利用传统型程序猿来实现高并发、高可用的平台来面向用户,这两者交集比较少,其实很多人说利用人工智能来写代码,代替传统程序猿,其实这只是一个猜想,这个猜想的基础是机器可以理解和消化人们的需求,目前来说 机器还是不能理解人的需求,这需要自然语言处理技术的发展,目前机器只能做一些重复性很高的工作,他并不能代替程序猿来构建一些业务场景,未来很大一部分也不能,因为机器怎么理解人说的话呢?

    还有一些小伙伴可能说 苹果siri和微软小冰可以理解人们的需求,其实他实现的原理并不高端,就是利用大数据,匹配你对他说的话,进而理解你的意思,他的理解是基于之前的数据,如果你的一个需求很复杂,他在网上找不到资料,他就理解不了你,再者,时代在变化,每个时代的语言特色也在变化,这是因为人的创造性,机器是否可以创造,是否可以创造新的 内容?它创造的东西跟人比如何 ?是否符合时代的潮流?这些都还在研究。

    就说之前的围棋大赛,所谓的人工智能不过是在不断学习前人的棋盘比赛,进而不断的优化自己,他需要训练语料,每个时代都有每个时代的特色,也就说训练模型的语料也在变,机器只能从之前的预料来创造出新的东西,但是也是基于之前的预料,目前来说,机器并不能创造出符合人类社会发展的内容来供人们消费,从而引导人类社会发展,如果有一天,机器创造的东西可以引导人类,我觉得有可能出现机器对人类的胜利。

    总之,机器目前只能做一些重复性高的工作,你觉得自己的工作重复性如何 ?

  • 用户80958302018-03-15 11:09

    我觉得工作当中并不是所有都要做这方面相关的,但是了解一点最新技术进展是可以的,这样可以开阔自己的视野,以后若接触到相关层面的工作任务可以更快的上手。

  • 用户66545892018-03-14 17:31

    多多关注新的技术对自己以后的发展会有帮助的,人工智能大数据,还有现在很火的区块链

  • 用户21018292018-03-01 15:37

    还是尽可能的去了解一些吧。人工智能是未来的趋势,在未来,不懂机器学习、不懂人工智能可能就像现在传统的软件行业的工程师一样吧。况且人工智能和机器学习能够给我们提供更广泛的解决问题的思路,无论从功利的角度来讲还是从实用角度来说,多了解一些没有什么坏处。

  • 用户97759022018-03-01 15:33

    程序员何苦为难程序员~

  • 用户86030782018-03-01 15:33

    不是必须,但很值得去了解,lz是做工程相关的,大数据领域在工程领域上有很多解决问题的启发思路和创新想法,所以推荐了解下大数据。

  • 用户24408682018-02-28 22:09

    人工智能是传统it的延伸,如果是在基础的程序的话,个人感觉可以只要了解,如果需要向人工智能那个方向发展,就需要紧跟时代发展了

  • 活动主持人2018-02-28 16:26

    从互联网+角度看云计算的现状与未来这篇文章详细阐述了,互联网+时代,或者说数字经济时代,大数据、人工智能会成为应用程序的基础能力,程序员需要了解它们、实用它们,但并不一定要深入去钻研 - 因为有云服务。关于这个问题,Google 大神、《人工智能:一种现代方法》的合著者 Peter Norvig 在 2016 年的回答仍然具有很强的参考价值。

    问:在未来10年里,有没有哪些情况下软件工程师不需要学习人工智能或机器学习的,还是每个人都需要学习? Peter Norvig:机器学习将会是(或许已经是)软件工程的一个重要部分,每个人都必须知道它的运用场景。但就像数据库管理员或用户界面设计一样,并不意味着每个工程师都必须成为机器学习专家——和这个领域的专家共事也是可以的。但是你知道的机器学习知识越多,在构建解决方案方面的能力就越好。

    我也认为机器学习专家和软件工程师聚在一起进行机器学习系统软件开发最佳实践将会很重要。目前我们有一套软件测试体制,你可以定义单元测试并在其中调用方法,比如assertTrue或者assertEquals。我们还需要新的测试过程,包括运行试验、分析结果、对比今天和历史结果来查看偏移、决定这种偏移是随机变化还是数据不平稳等。这是一个伟大的领域,软件工程师和机器学习人员一同协作,创建新的、更好的东西。

    原文Google研究总监Peter Norvig:人工智能的另一面

  • 用户31371062018-02-28 15:09

    看你的方向了,IT方向很多的,大部分都不需要了解这些知识的

  • 用户80377022018-02-28 13:59

    当然不是,一个成熟的行业模式绝不是朝夕之间就会被替代的。可以预见,现在这种行业体系还会维持很长一段时间。但是为什么现在大家都流行研究人工智能呢?

    第一,著名的 “站在风口上,猪都可以飞起来” 言论。很多情况下,风口 == 钱途。就是先入局的人抢占市场吃肉,后入局的喝汤,就像几年前移动互联网开始发展的情况一样。所以说大数据领域与人工智能领域如此火爆。

    第二,不断学习新技术的求知欲。程序员是需要终生学习的,看题主的问题,感觉主观上是不愿意研究新技术的,只是因为所有人都在谈论才唯恐自己落后于他人。事实上对于对技术有好奇心的人来说,人工智能是非常有趣的方向。能参与到改变世界的潮流中,是非常有意思的。

    第三,对传统领域产生冲击是肯定的。比如说最近就出现了利用人工智能技术实现前端的尝试,随着技术的不断发展,传统领域的人才需求减少是一定的,只有技术实力过硬的人才能不受影响。然而事实上技术实力过硬的人,恰恰是最喜欢研究新技术的(当然不排除有例外)。

    所以我建议题主应该适当了解人工智能领域的技术,再根据自己实际情况做选择。