为了顺应人工智能的潮流,该学Python还是C/C++?答案就在这里

作者: 编程小火车 2019-10-15 06:47:46

人工智能在现代世界中变得越来越相似,其中一切都是由数据和自动化驱动的。我们将日常生活中的很大一部分用于与智能设备进行交互。人工智能是这一切的核心,它正在成为我们不断变化的生活方式中不可或缺的一部分。

为了顺应人工智能的潮流,该学Python还是C/C++?答案就在这里

你可能会痴迷于了解AI领域正在发生的事情,例如开发阶段,成就,使用的产品和结果。当然我也介绍下人们为什么选择python作为AI的最佳编程语言之一。

Python:Python是非常高效的语言,您的程序将使用许多其他语言所需的更少代码行来完成更多工作。与其他语言相比,该代码易于调试,读取和易于扩展。

Java:Java是一种全球使用的一种很成熟的通用编程语言,允许程序员创建移动或桌面应用程序。它旨在让程序员“编写一次,随处运行”意味着代码只实现一次,但可以在硬件和操作系统的任何组合上运行,而无需重新编译。

为了顺应人工智能的潮流,该学Python还是C/C++?答案就在这里

C / C ++:C编程是一种简单且广泛使用的计算机编程语言。 C编程语言主要由软件开发人员或程序员使用,特别是那些使用操作系统,UNIX,C编译器和几乎所有UNIX应用程序的人。可以这么说,C编程语言是当今计算机领域最常用的专业语言。 C ++是一种编译语言。对于要运行的程序,其源文本必须由编译器处理,生成目标文件,这些目标文件由产生可执行程序的链接器组合。 C ++程序通常由许多源代码文件组成。

人工智能离不开Python

1.Python是纯粹的自由软件,源代码和解释器 CPython遵循GPL协议,说的通俗点就是开源免费。

2.Python是解释性语言,程序编写和执行方便。

Python是一门解释性语言,相较于编译性语言需要编译后才能执行,Python代码不需要编译,通过解释器解释后直接可以运行。编写程序方便对于从事机器学习的人非常重要,因为经常需要对模型进行频繁修改,这对编译性语言来说很可能牵一发动全身,而Python就可以很少的时间实现,比如java代码修改后必须重新编译代码才能执行,或者借助IDE插件即时编译,但Python代码修改后,直接刷新即可看到修改后的效果,这跟js是非常相似的。

3.Python的开发生态成熟,开发效率高效。

一门编程语言的好坏或者受欢迎与否跟它的生态环境有着密切的关系,之前在讲java编程时就提到过java的生态很成熟。Python的生态也非常成熟,所提供的类库和sdk对于文本,list,set,tuple,dict等操作高效,实现简单,效率极高。它提供的丰富的和强大的库被昵称为胶水语言,能够把总其他语言制作的各种模块(尤其是c/c++)很轻松地连接在一起。

为了顺应人工智能的潮流,该学Python还是C/C++?答案就在这里

人工智能算法的核心还是C/C++

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

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

Cpython的CAPI是双向融合的,可以直接对外暴露封装过的Python对象,还可以允许用户通过继承这些自定义对象来引入新特性,在一定条件限制下甚至可以从C代码当中再调用Python的函数。不过这也是PyPy这样的JIT解释器的一个障碍。而且Python历史上也一直都是科学计算和数据分析的重要工具,有numpy这样的底子,因为行业近似所以选择API binding语言的时候会首选Python,同时复用numpy这样的基础库既减少了开发工作量,也方便从业人员上手。另外想要成为一个优秀的、有能力程序员,做人工智能软件开发的话,就来学习C/C++吧,而且学习编程的话有一个学习的氛围跟交流圈子特别重要!这里我推荐一个C语言C++交流扣裙,欢迎到访:先--784;143,后133,不管你是大牛还是小白,大家都一起成长进步。

为了顺应人工智能的潮流,该学Python还是C/C++?答案就在这里

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

今天的分享就到这里,最后的话,希望大家能够选择好一门心目中的编程语言,顺应人工智能的潮流,越走越远!

人工智能 Python C
上一篇:图灵奖得主Yoshua Bengio:深度学习当务之急,是理解因果关系 下一篇:中文自动转SQL,准确率高达92%,这位Kaggle大师刷新世界纪录
评论
取消
暂无评论,快去成为第一个评论的人吧

更多资讯推荐

为什么我用Go写机器学习部署平台,而偏偏不用Python?

虽然在机器学习中,Python已经无孔不入。但Python并不是全能之神手中的魔杖可以为所欲为。

佚名 ·  10h前
30 亿图库,一张照片就能查个人信息!人脸识别再爆隐私争议

这个时代,你的个人信息在手机里的比家里更多。想象一下,那么多生活细节都能放进口袋里,这让隐私问题变得比以往更重要。

Rachel ·  10h前
JetBrains 发布基于 IntelliJ 的 IDE 2020 年功能路线图

上个月 JetBrains 发布了 IntelliJ 平台 2020 年路线图,现在作为 2020 年规划中的另一部分,JetBrains 又发布了基于 IntelliJ 的 IDE 2020 年的功能路线图。

佚名 ·  23h前
掌握这六步,搭建机器学习项目

机器学习覆盖的范围十分广泛。这篇文章将整体描述机器学习适用的典型问题,提供实现机器学习项目雏形的框架。

读芯术 ·  2天前
搞AI的,怎么才能不失业?

 这一年,科大讯飞、比特大陆、旷视科技等人工智能公司相继传出裁员消息,曾经红极一时的 AI 独角兽,不再是万能的金饭碗。

燃财经工作室 ·  3天前
用 PyTorch 单挑全世界,特斯拉是如何实现自动驾驶的?

特斯拉的工程师们正致力于开发一种发展自动驾驶技术的方法,这种方法能够真正适应数据的扩展,而不用因为数据规模扩展而增加工程师的人力,这意味着要将数十亿英里驾驶过程中出现的计算机视觉错误样本都积累起来。

Trent Eady ·  3天前
性能提升最高120倍!滴滴实习生提出自动结构化减枝压缩算法框架

在相同准确率下,实际参数量的压缩,相对之前方法最大可以提高超120倍。

乾明 ·  3天前
约会软件上的小姐姐,其实是StyleGAN生成的假人

你在约会软件上左滑右滑的小姐姐,可能已经不是人了。准确的说,她们虽然有一个人的面孔,可是面孔背后,根本没有这个人(当然也没有怪物)。

郭一璞 ·  3天前
Copyright©2005-2020 51CTO.COM 版权所有 未经许可 请勿转载