更多课程 选择中心

Python培训
美国上市教育机构

400-111-8989

Python培训

Python与C/C++谁会成为人工智能核心算法

  • 发布:Python培训
  • 来源:C语言C加加小辰编程知识分享
  • 时间:2019-08-30 11:06

据TIOBE公布的2019年6月编程语言排行榜,Python以8.53%的涨幅排名超过去年同期C++排名,位列第3名,仅次于Java和C。python一路逆袭,甚至有人断言未来Python将成为人工智能的核心算法。那作为机器学习底层框架和支持库的C/C++就没有市场了吗?其实也不尽然!

自从2017年国务院印发《新一代人工智能发展规划》中明确指出在中小学阶段设置人工智能课程之后,Python一路逆袭成为人工智能时代最合适的语言,并借此为未来国家和社会发展奠定了人工智能的人才培养基础,甚至被众多程序员誉为“宇宙最好的编程语言”。

但人工智能的核心算法主要还是依赖于C/C++的。

因为人工智能是计算密集型,需要非常精细的优化,还需要GPU、专用硬件之类的接口,这些都只有C/C++能做到,所以某种意义上来说,其实C/C++才是人工智能领域最重要的语言。

Python是API binding,使用CPython是因为Python的胶水语言特性,能够把用其他语言制作的各种模块很轻松的连接在一起,比如3D游戏中的图形渲染,性能要求特别高就可以用C/C++重写,而后封装为Python可以调用的扩展类库。所以说要开发一个其他语言到C/C++的跨语言接口,Python是最容易的,比其他语言的ffi门槛要低很多,尤其是使用CPython的时候,其他语言的ffi许多都只能导入C的函数入口点,复杂的数据结构大多只能手工用byte数组接起来,如果还需要回调函数输入那就无计可施了。

CPython的CAPI是双向融合的,可以直接对外暴露封装过的Python对象,还可以允许用户通过继承这些自定义对象来引入新特性,p在一定条件限制下甚至可以从C代码当中再调用Python的函数。不过这也是PyPy这样的JIT解释器的一个障碍。而且Python历史上也一直都是科学计算和数据分析的重要工具,有numpy这样的底子,因为行业近似所以选择API binding语言的时候会首选Python,同时复用numpy这样的基础库既减少了开发工作量,也方便从业人员上手。

而C/C++与人工智能理论之间那千丝万缕的联系。是无论如何也斩不断的。如果你C++实在学得一头雾水,不如抽点时间去看看人工智能有关逻辑表达的书。尽管C/C++在大数据时代显得不温不火,但在性能和效率方面仍然保持优势,不少桌面级应用仍然大量采用C/C++。包括腾讯在内的互联网企业在招聘大数据工程师时,仍然把C/C++作为可选的编程工具之一,人工智能时代反而会带来C/C++的再次繁荣昌盛,主流的人工智能框架应该都是基于C/C++。某种程度上,python只是wrapper,C++才是core。毕竟C++语言是在人工智能大发展基础之上才出现的。追本溯源才是解决问题的王道。

机器学习作为人工智能的一个分支,它是让机器能具备摆脱对人工指令的依赖,能按照一定的算法开展自主学习的能力,它的出现才真正让“人工智能”不枉智能二字。在当下兴起的人工智能以及大数据运用上,Python的优势可以被广泛运用到许多领域和重要的日常软件功能当中,人脸识别、会话接口、商业智能等领域,Python都证明了它的实用性。自动化的司法调查、安全检查、网页分析等都有可能使用Python来实现。但未来5到10年,整个人工智能会往什么方向发展?Python和C/C++谁能成为核心算法,值得我们的期待。

免责声明:内容和图片源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

预约申请免费试听课

填写下面表单即可预约申请免费试听!怕钱不够?可就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:学习Python的流程与步骤
下一篇:Python新手知识点大纲

Python新手知识点大纲

Python与C/C++谁会成为人工智能核心算法

学习Python的流程与步骤

Python技术面试题

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省