0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Golang与Python语言到底谁更适合AI

Wildesbeast 来源:今日头条 作者:橘子键盘手 2020-02-07 15:25 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

近几年,AI势头越来越猛,许多创新型企业都开始涉入AI领域,同时计算机硬件水平也突飞猛进,为了加快产品应用开发效率及瓶颈问题,Google所开发的Golang应运而生,正在成为机器学习和AI的主流编程语言,全球已有数百万用户。那么很多IT技术人员肯定会有这样的疑问,前些年火起来的Python在科学计算及AI领域也有广泛应用,那么这两者今后谁才是AI的菜呢?

Python很棒,但是Golang也不逊色!

Golang为并发而生

如今,硬件制造厂商正在为处理器添加越来越多的内核以提高性能。数据中心都在处理器上运行,应用程序使用多个微服务来维护数据库连接,消息队列和维护缓存。因此,编程语言和应用程序应该可以轻松地支持并发性,并且应该能够随着CPU核心数量的增加而具备相应的扩展性。

但是,大多数现代编程语言(如Java,Python等)都是来自90年代的单线程环境。虽然一些编程语言的框架在不断地提高多核资源使用效率,例如 Java 的 Netty 等,但仍然需要开发人员花费大量的时间和精力搞懂这些框架的运行原理,才能熟练的运用到生成开发中。

Golang于2009年11月发布,当时多核处理器已经上市,Go语言在多核并发上拥有原生的设计优势,Go语言从底层原生支持并发,无须第三方库、开发者的编程技巧和开发经验。

Golang现在正成为机器学习和AI的主流编程语言,全球已有数百万用户使用。国内例如有阿里巴巴、滴滴、京东、知乎、七牛云、小米等科技互联网公司,国外有Google、Facebook、Uber、Dropbox、Salesforce、Twitter等等。

Golang会淘汰Python吗?

Python被广泛使用,而且用途太多,它可将数千个组件从单个模块编译为整个开发的程序包。Python还有一个强大的社区,它有望在未来几十年内保持活力。经过多种环境的测试,对于初学者来说,使用Python编程很容易,并且被认为是年轻开发人员的最爱。在编写服务器端脚本时,Go语言的性能优于Python。因此,在寻找具有快速部署周期的超高性能并发服务时,Golang将优于Python。

然而,最近,Golang和Python被称为最适合AI开发者的流行语言。当公司中同时存在使用这两种语言的团队时,组织内部将会出现以下两个门派。

AI工程师中的Golang粉

AI即将席卷整个技术世界。机器学习,自我纠正和推理是一些可以模仿人类智能的应用程序。人工智能驱动的应用程序现在使企业能够改善其资源的使用,从而产生积极的影响。

高可扩展性和计算能力:与Python相比,Golang在可扩展性和性能方面具有更高的潜力。使用Go的想法是因为与数学计算速度相比,它具有较高的速度。例如,与Python相比,它可以处理高达20至50倍且速度更快的复杂数学问题。

Golang涵盖了广泛的AI用途:尽管Go提供了小型库,但它一直在不断增长,从而解决了许多AI用途。Go库(例如GoLearn(数据处理),Goml(传递数据)和Hector(二进制分类问题))是为AI及其应用程序服务的一些库。

提供了大量的代码可读性:Go中使用的算法提供了一种极简主义的方法,使开发人员可以轻松地创建可读代码。

Go开发人员易于使用Go库:大多数Go开发人员不需要选择用其他编程语言编写的库。在Go中拥有库的核心优势在于,它为AI专业人员提供了与Go一起进行编程的开发人员的便利。

AI工程师中的Python粉

如今在IT行业中,机器学习和AI这两种技术一直是IT行业的主流,并将会有一个美好的将来。

多个库:多个库可以帮助AI工程师构建新算法,进行数据集处理,进行模型处理,处理最复杂的数据以及更多其他功能。别忘了,TensorFlow是最流行的库(开源)之一,可用于Google的许多机器学习应用程序。

Python是一种可访问性的语言:从商业角度来讲,语言的可访问性意味着拥有大量的Python编程市场。此外,正如我们所知,这些编程语言已遍布全球。

强大的社区:Python具有完善的强大社区。据GitHub在2019年中的统计,在全球范围内发送了近一百万次服务请求。社区倾向于为创建新库以扩展工具集和更新文档做出贡献。

为什么是Golang而不是Python?

编程语言的可伸缩性可以维护和帮助开发人员更大规模地解决问题。Golang内在支持适当的并发流程通道,而Python在并发方面将面临着巨大的挑战。由于Golang提供了并发支持,因此Go在群集计算和云计算中已被广泛接受。

如果涉及到可读性时,Python肯定会被提名,但是有时也会被夸大其词。Python确实可以提供多种方法来实现不同的业务场景,但是这常常会引起混乱。然而,Go在编程方面遵循严格的规则,它不允许简单地导入不需要的库,也不允许创建不必要的变量。所以,这意味着Go具有更好的执行优势,保证代码风格的一致性,可以在跨部门协作中提高团队开发的工作效率。尽管有些人可能不同意,只要代码可读即可。

得出哪种语言更好的结论可能是一件比较难的事,尽管在大多数情况下,Golang似乎占了上风。目前,它的火热程度可能还不如Python,但最终它将在某天到达。根据记录,Python花费了二十年才能达到今天的水平。在最初的十年中,Python的存在并未引起人们的注意,直到2001年它才开始引起人们的注意。因此,Go一定会赶上。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cpu
    cpu
    +关注

    关注

    68

    文章

    11218

    浏览量

    222956
  • AI
    AI
    +关注

    关注

    89

    文章

    38121

    浏览量

    296676
  • python
    +关注

    关注

    57

    文章

    4858

    浏览量

    89588
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    一文了解Mojo编程语言

    Mojo 是一种由 Modular AI 公司开发的编程语言,旨在将 Python 的易用性与 C 语言的高性能相结合,特别适合人工智能(
    发表于 11-07 05:59

    Linux 编程语言盘点:从内核到AI的全栈选择

    在工控圈和嵌入式圈里,有一个常年被讨论的问题:  “在 Linux 上,到底该用什么语言编程?” 有人坚信:C 才是真正的工业语言。有人反驳:Python 才是效率王者。还有人推崇 G
    的头像 发表于 11-06 17:05 431次阅读

    哪种工艺更适合高密度PCB?

    根据参考信息,‌沉金工艺(ENIG)‌ 是更适合高密度PCB的表面处理工艺‌。以下是具体原因: 平整度优势 高密度PCB(如使用BGA、QFN等封装)的焊盘多且密集,对表面平整度要求极高。喷锡工艺
    的头像 发表于 11-06 10:16 245次阅读

    都在说“AI+”,可AI+到底加的是什么?

    最近几年,“AI+”这个词几乎无处不在。AI+制造、AI+教育、AI+医疗、AI+交通、AI+能
    的头像 发表于 10-10 14:50 537次阅读

    C++ 与 Python:树莓派上哪种语言更优?

    Python是树莓派上的首选编程语言,我们的大部分教程都使用它。然而,C++在物联网项目中同样广受欢迎且功能强大。那么,在树莓派项目中选择哪种语言更合适呢?Python因其简洁性、丰富
    的头像 发表于 07-24 15:32 645次阅读
    C++ 与 <b class='flag-5'>Python</b>:树莓派上哪种<b class='flag-5'>语言</b>更优?

    交叉导轨与直线导轨哪个更适合高速运动?

    交叉导轨与直线导轨哪个更适合高速运动?
    的头像 发表于 07-19 17:57 432次阅读
    交叉导轨与直线导轨哪个<b class='flag-5'>更适合</b>高速运动?

    目前Mirco Python sdk触摸到底支持什么驱动啊 ?

    目前的Mirco Python sdk触摸到底支持什么驱动啊 能不能有资料详细说明 GT911 触摸驱动是否支持啊
    发表于 06-24 07:02

    TMC2226与TMC2225的区别?哪款更适合您?

    TMC2226与TMC2225的区别?哪款更适合您?这两款来自TRINAMIC的步进电机驱动芯片,都拥有着超静音操作、高效率、高可靠性等卓越性能,广泛应用于3D打印机、CNC机床、智能家居等众多领域
    的头像 发表于 06-03 16:31 899次阅读
    TMC2226与TMC2225的区别?哪款<b class='flag-5'>更适合</b>您?

    氮气回流焊 vs 普通回流焊:如何选择更适合你的SMT贴片加工焊接工艺?

    氮气回流焊 vs 普通回流焊:如何选择更适合你的SMT贴片加工焊接工艺?
    的头像 发表于 05-26 14:03 1490次阅读
    氮气回流焊 vs 普通回流焊:如何选择<b class='flag-5'>更适合</b>你的SMT贴片加工焊接工艺?

    购买前须知:树莓派和迷你PC,哪个更适合你?

    随着新型号的推出,迷你电脑和树莓派等设备之间的差异越来越难以察觉。如果你正在纠结于选择哪种设备更适合你,那么你来对地方了。让我们来找出哪个是你的正确选择。树莓派与迷你电脑的主要区别在于它们
    的头像 发表于 03-25 09:37 1783次阅读
    购买前须知:树莓派和迷你PC,哪个<b class='flag-5'>更适合</b>你?

    零基础入门:如何在树莓派上编写和运行Python程序?

    是一种非常有用的编程语言,其语法易于阅读,允许程序员使用比汇编、C或Java等语言更少的代码行。Python编程语言最初实际上是作为Linux的脚本
    的头像 发表于 03-25 09:27 1528次阅读
    零基础入门:如何在树莓派上编写和运行<b class='flag-5'>Python</b>程序?

    底层开发与应用开发到底怎么选?

    不错的选择。 如果你熟悉高级编程语言(如Java、Python、JavaScript),对前端或后端开发感兴趣,应用开发可能更适合你。 4. 关注市场需求 底层开发:虽然市场需求相对较小,但人才
    发表于 03-06 10:10

    如果想做电容式的尾箱自动开启踢脚传感器,FDC1004和FDC2112哪个更适合点?

    从阅读资料可以看出FDC1004和FDC2112两款芯片都是电容传感器芯片,FDC1004是开关电容式、FDC2112是谐振式,他们的输入范围也不同,FDC1004是正负15pf,FDC2112是250000pf。 如果想做电容式的尾箱自动开启踢脚传感器,哪个更适合点? 谢谢!
    发表于 12-31 06:20

    Triton编译器支持的编程语言

    编写和优化深度学习代码。Python是一种广泛使用的高级编程语言,具有简洁易读、易于上手、库丰富等特点,非常适合用于深度学习应用的开发。 二、领域特定语言(DSL) Triton也提供
    的头像 发表于 12-24 17:33 1468次阅读

    AI语言模型开发步骤

    开发一个高效、准确的大语言模型是一个复杂且多阶段的过程,涉及数据收集与预处理、模型架构设计、训练与优化、评估与调试等多个环节。接下来,AI部落小编为大家详细阐述AI语言模型的开发步骤
    的头像 发表于 12-19 11:29 1221次阅读