随着ai和大数据技术的发展,对大数据与人工智能的理解

  随着ai和大数据技术的发展,对大数据与人工智能的理解

  谁会成为AI 和大数据时代的第一开发语言?

  这已经是一个不需要辩论的问题了。如果说三年前,Matlab,Scala,R,Java,Python各有机会,形势还不明朗,那么三年后,趋势已经很明朗了,尤其是前两天脸书开源PyTorch之后,Python 作为 AI 时代头牌语言的位置基本确立。未来的悬念只是谁能守住第二名。

  但是音响市场还是有一些杂音。最近有个对研究数据科学感兴趣的女生告诉我,她的一个朋友建议她从Java开始,因为Hadoop等大数据基础设施都是用Java写的。

  这篇文章本身也算是客观公正,实事求是。但是到了中国,有评论曲解了它的本意,说Python的统治地位还没有建立起来,谁胜谁负还不知道。学习者不要盲目跟风。一定要赌很多东西,不停地撒胡椒面。

  在这里我想明确一点,对于想投身AI和大数据行业的开发者来说,把鸡蛋放在Python的篮子里,不仅是安全的,也是必要的。

  或者换一种说法,以后想在这个行业混,什么都不用想。你应该先闭着眼睛学Python。

  当然,Python也不是没有问题和缺点。你可以也应该有另一种甚至几种语言来匹配Python,但Python将是数据分析和AI的第一语言。这是毫无疑问的。

  我甚至认为,因为Python牢牢占据了这个位置,因为这个行业未来需要大量的从业者,因为Python正在迅速成为全球大学、中学、小学入门编程课程的首选教学语言,所以这种开源的动态脚本语言有很大的机会在不久的将来成为第一个真正的编程世界语。

  讨论编程语言的优劣,一直被认为是口水战的话题,被资深人士所不齿。但我认为这一次Python的优势是一件大事。

  想象一下,如果十五年后,所有40岁以下的知识工作者,无论中外,从医生到建筑工程师,从办公室秘书到电影导演,从作曲家到销售,都可以用同一种编程语言进行基本的数据处理,在云端调用人工智能API,操纵智能机器人,然后相互交流思想。那么,这种通用编程协作网络的意义将远远超越任何编程语言之争。

  目前Python是这个角色最有希望的人选。

  Python 的胜出令人意外,因为它缺点很明显。

  它的语法自成一格,让很多老手觉得不习惯;“裸”Python的速度很慢,在不同的任务上比C语言慢几十到几千倍;由于全局解释器锁(GIL)的限制,单个Python程序无法在多个内核上并发执行;Python 2和Python 3长期并行,很多模块需要同时维护两个不同的版本,给开发者选择带来了很多不必要的混乱和麻烦;因为不受任何一家公司控制,还没有一家科技巨头愿意为Python而死。

  所以相对于Python的广泛应用,对其核心基础设施的投入和支持其实是非常薄弱的。

  直到今天,26岁的Python还没有一个官方标准的JIT编译器。相比之下,Java语言在发布后的头三年内就得到了标准的JIT。

  另一件事更能说明问题。Python的GIL核心代码是由该语言的创造者自由的rose van Rossum于1992年编写的。从那以后,十八年来没有人更改过这个至关重要的代码的一个字节。

  十八年!直到2010年,Antoine Pitrou对GIL进行了近二十年来的第一次改进,而且只在Python 2.7版本中使用,也就是说,对于今天大多数使用Python 2.7的开发者来说,他们编写的每一个程序仍然被26年前的一段代码牢牢地限制着。

  说到Python的缺点,我想到了发生在自己身上的一件小趣闻。很多年前,我在一篇文章中声明我看好Python,但不看好Ruby。

  大概两年前,一个网友在微博里找到我,给了我很多指责,说是因为我当年看了我的文章,迷上了谗言,一直专攻Python,却一直远离Ruby。

  结果他精通Python,最近却学了Ruby,好漂亮好甜。而《在天堂》则愤怒地意识到,自己完全被我误导了,错过了最美的年华里最美的编程语言。

  我当时没有和他争论,也不知道他是否已经从Python后端、大数据分析、机器学习、AI工程师成功转型到今天的Rails快速开发xdddxf。我只是觉得真正知道一个东西的价值并不容易。

  Python就是这样一个带着各种问题冲到第一方阵的赛车手,但即使在几年前,也没有多少人相信它有机会夺冠。很多人认为Java的地位不可动摇,还有人说所有程序都要用JavaScript重写。

  但是我们今天来看看。Python已经是数据分析和AI的第一语言,网络攻防的第一黑客语言,正在成为入门编程教学的第一语言,云计算系统管理的第一语言。

  Python早已成为Web开发、游戏脚本、计算机视觉、物联网管理、机器人开发的主流语言之一。随着Python用户的预期增长,它仍然有机会在许多领域达到顶峰。

  而且别忘了,未来的Python用户绝大多数都不是专业程序员,而是今天还在用Excel、PowePoint、SAS、Matlab、视频编辑器的人。

  以AI为例。首先我们要问,AI的主要人群在哪里?如果我们今天静态地谈论这个话题,你可能会认为AI的主力军是研究机构的AI科学家,有博士学位的机器学习专家,算法专家。

  如果你还在编程的世界里迷茫,可以加入我们Python学习扣扣群:784758214,看看hxdxn是怎么学习的!交流经验!我是一名高级python开发工程师,整理了从基础python脚本到web开发、爬虫、django、数据挖掘等资料。从零基础到实际项目。送给每一个python朋友!分享一些学习方法和需要注意的小细节。点击加入我们python学习者的聚集地。

  我相信这些人几乎都将被Python 一网打尽,成为 Python 阵营的庞大后备军。

  这些潜在的Python用户仍然游离在技术圈之外,但随着AI应用的发展,数百万教师、公司员工、工程师、翻译、编辑、医生、销售、管理人员和公务员将涌入Python和AI的大潮,深刻改变整个IT,或者说DT(数据技术)行业的整体格局和面貌。

  为什么 Python 能够后来居上呢?

  如果概括的话,我可以列举出Python的一些优点,比如简洁优雅的语言设计,程序员友好,开发效率高等。但我觉得这不是根本原因,因为其他一些语言在这方面还不错。

  也有人认为Python的优势在于其丰富的资源、扎实的数值算法、图标和数据处理基础设施,以及其建立的非常好的生态环境,吸引了大量各领域的科学家和专家使用,从而使雪球越滚越大。

  但我觉得是因果。Python为什么能够吸引人,建设这么好的基础设施?世界上最好的语言PHP为什么没有numpy,NLTK,sk-learn,pandas,PyTorch的库?为什么JavaScript极度繁荣之后各种不同层次的库,而Python中的各种库却繁荣有序,并能保持很高的水平?

  我觉得根本原因只有一个:Python是众多主流语言中唯一一个有明确战略地位的语言,并且始终坚持自己原有的战略地位。相比之下,太多的语言在战术上不断使用无原则的勤奋来侵蚀和模糊自己的战略定位,最后只能等待。

  **Python的战略定位是什么?* *其实很简单,就是做一个简单易用但是专业严谨的通用组合语言,或者胶水语言,让普通人也能轻松上手,把各种基本的程序元素组装起来协调运行。

  正是因为这个立场,Python总是把语言本身的美观和一致性放在精彩的招数前面,把开发者效率放在CPU效率前面,把横向扩展能力放在纵向深潜能力前面。长期坚持这些战略选择,给Python带来了其他语言无法比拟的丰富生态。

  比如任何愿意学习的人都可以在几天内学会Python的基础部分,然后做很多很多事情。这种投入产出比可能是其他任何语言都无法比拟的。

  再比如,正是因为Python本身速度慢,所以人们在开发常用的核心库时,才会使用C语言与之配合。因此,用Python开发的真实程序运行速度非常快,因为系统执行的代码很可能80%以上的时间都是用c语言编写的。

  相反,如果Python不服气,非要比速度,那么结果很可能是比裸速高几倍,但那样就没人有动力为它开发C模块了。最终的速度远不如混合模式,很可能因此语言变得更加复杂,导致语言又慢又丑。

  更重要的是,Python具有良好的封装能力、可组合性和可嵌入性。它可以将各种复杂封装在Python模块中,暴露出漂亮的接口。

  很多时候一个库本身是用C/C写的,但是你会发现直接用C或者C调用那个库,从环境配置到接口调用都很麻烦。反而是用python把库包了一层,更清爽、整洁、快捷、美观。当这些特性在AI领域,就成为了Python的强大优势。

  Python也借助AI和数据科学爬到了编程语言生态链的顶端。与Python AI绑在一起,对他们来说,无论是电商、搜索引擎、社交网络还是智能硬件,未来都只会是生态链下游的数据牛、电子神经和执行工具,都会听命于自己。

  不了解编程语言发展史的人可能会觉得Python的战略定位是犬儒主义,缺乏主动性。但事实证明,要同时做到简单、严谨、易用和专业是非常困难的,坚守胶水语言的定位更是难上加难。

  有些语言从一开始就是为了学术而不是实用,学习曲线太陡,普通人无法接近。

  有些语言过于依赖背后钱主的商业支持。好的时候,风光无限。一旦他们被打入冷宫,连生存都成了问题。

  有些语言设计有明确的假设场景,要么解决大规模并发,矩阵运算,要么做网页渲染模板。一旦离开这个场景,你会觉得不舒服。

  多语种,刚有点成绩就迫不及待想成为全能冠军。他们想尽办法把触角伸向各个方向,尤其是在增强表达能力和表演方面。他们往往过于主动,不惜把核心语言改得面目全非,最后变成了无人能驾驭的天然芒果。

  相比之下,Python是现代编程语言设计和进化的成功典范。

  Python之所以有如此明确的战略定位和坚定的战略坚持,是因为其社区构建了一个堪称典范的决策和治理机制。

  这个机制以自由的玫瑰范罗森(BDFL,Pythoners都知道这是什么意思)、大卫比兹利(DavidBeazley)、雷蒙赫廷格(Raymond Hettinger)等人为核心,以PEP为组织平台,民主有序,集权开明。只要机制本身得到维护,Python在可预见的未来还会继续稳步向上。

  最有可能挑战Python的当然是Java。Java拥有大量的用户存量,也是一种战略定位清晰、决心坚定的语言。

  但我认为Java的机会不大,因为它本质上是为构造大型复杂系统而设计的。什么是大型复杂系统?它是人们清晰描述和构建的系统,其规模和复杂程度是外生的,或者说是外界给定的。

  AI的本质是一个自我学习、自我组织的系统,它的规模和复杂性是内生的,因为一个数学模型是在数据的喂养下自我生长的。

  所以对于大数据的处理和AI系统的开发,Java的语言结构大多不够强大。你强的东西在这里用不上,你需要的东西在这里你做起来很别扭。

  Python在数据处理方面一直以简单和强大著称。对比两个功能相同的Java和Python机器学习程序,一个正常人只要看两眼就能做出判断。Python程序一定更爽更开心。

  如何查看电脑配置历史中提交的图片或压缩文件?

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • oracle的clob大小,oracle clob类型转字符串,Oracle的CLOB大数据字段类型操作方法
  • ,,大数据分析R语言RStudio使用超详细教程
  • 大数据在不同应用场景的价值体现,举例说明大数据应用的场景和优势
  • Python与大数据,python能不能分析大数据
  • 人工智能产业的框架结构分别为,人工智能产业的框架结构的基础层包括大数据
  • Python处理大数据,Python科学计算及大数据
  • 数据开发和大数据开发的区别,大数据开发是啥
  • 应用统计学思考题,应用统计学在大数据背景下的应用与创新
  • hadoop大数据技术基础及应用pdf,基于hadoop的大数据处理技术
  • 大数据技术主要包括哪几方面,大数据技术包括哪些主要内容
  • 与大数据相关的书籍,大数据方面的书籍推荐
  • 数据存储方式,大数据存储的概念是什么,大数据的存储方式包括
  • 学python大数据,Python做大数据
  • 如何成为大数据架构师,大数据架构师发展前景分析,如何成为大数据架构师,大数据架构师发展前景怎么样
  • 大数据学了能做什么,大数据 要学什么吗,大数据学了能做什么,大数据 要学什么科目
  • 留言与评论(共有 条评论)
       
    验证码: