Go为什么是2020年最受欢迎的语言?这篇文章也许能够给你答案。

选自towardsdatascience,作者:Dasaradh S K,机器之心编译,机器之心编辑部。

30年前,Python首次出现,但它花了20年的时间才获得开发者们的赏识。直到2019年,Python才成为最受开发者喜爱的第二大语言。Python在过去,尤其是在过去5年中的增长是非常巨大的。如今它已成为机器学习和数据科学开发者的首选语言。

在接下来的几年中,Python无疑还将继续在这些领域占据主导地位。但是,与一些新兴语言相比,它存在一些明显的缺点。对于未来十年的开发者来说,这可能是一个严重的障碍。

所以,有没有一种更好的编程语言来替代Python呢?就人工智能发展和数据科学而言,Go语言或许会成为越来越多开发者的下一个首选语言。

Python为何大受欢迎

Python受欢迎最主要的原因是它的简单,容易学习。与其他语言相比,Python的语法很简单,几个小时或者几天之内就可以掌握它的基础知识。

即使在学习其他语言(例如C++、Java)之后,开发者通常还是更喜欢使用Python。这是因为Python库几乎可以满足所有开发需求。

所以,库和简单的语法让使用Python进行开发既简单又高效,也让其成为适合初学者的语言。

Python并不是完美的

虽然Python易于学习的特性使其广受欢迎,但它并不是完美的,在运行速度、C/C++使用和全局解释器锁三方面存在着一些问题。

速度

Python是一种解释型语言,这也导致了它最大的问题——运行缓慢。与其他语言(例如C++、Java)相比,Python的运行速度非常慢。此外,Python还是一种动态型语言。变量的数据类型在运行期间自动分配,这也使得运行速度大大降低。

使用C/C++

为了改善Python运行速度缓慢的问题,Tensorflow、Numpy和Pandas这些库都是部分用C/C++编写的。这对Python速度的提升起到了非常大的作用。基本上,Python需要借助其他语言来改善速度慢的问题。

全局解释器锁

Python的全局解释器锁(GIL)一次只能运行一个线程,但这提升了单线程的性能。Python的多线程实际上并没有同时运行多个线程。实际上,Python无法执行真正的多线程。

为什么说Go语言将成为新兴语言呢?Go语言是一种开源编程语言,可轻松构建简单、可靠且高效的软件。

Go语言在2009年首次亮相,是谷歌开发的一种通用型语言。与Python等其他编程语言相比,Go语言具有多个优势,这也是它值得关注的地方。

速度快

Go是静态型化和编译的语言,这意味着它的运行速度是Python的数倍。而与Python不同的是,Go不需要借助其他语言就可以达到一个较快的速度。Go几乎和C++、Java一样快,而且Go语言的代码编译速度比C++和Java快得多。

易于学习

Go的语法很简单,类似于C语言。所以,Go语言同样很容易学习,如果学习者已经掌握C或者Java语言的基础知识,学起来就更简单了。

越来越受欢迎

Hackearth对来自76个国家和地区的16000余名开发者进行调查的结果显示,Go语言是2020年最受欢迎的编程语言。32%的有经验开发者表示他们想学习Go语言。

与此同时,29%的学生也表示想学习Go语言。

并发

并发是Go语言的主要优势之一。Go使用Goroutine实现并发,Goroutine是可以同时独立运行的函数。Goroutine只占2KB内存,得益于这种轻量级,成千上万个Goroutine可以同时运行。

下面这篇文章深入介绍了Go语言的更多优势。

为什么说Go适用于AI研究?

实际上,Go语言对于人工智能和数据科学研究本身来说并没有什么特别之处。那么为什么将其用于这些领域呢?

30年前,尚且没有将Python用于构建机器学习和深度学习算法以进行数据可视化。Python能够有现在的辉煌,是因为开发者和学生喜欢用这种语言编程,并且能够实现开发者的开发目的。

而Go语言旨在提升程序开发的生产力。和Python相比,它具备多个优点。Go语言很有可能在未来几年中取代Python,成为最受欢迎的语言。

因此,一言以蔽之:未来十年,Go语言比其他任何一种语言都更能支持开发者们的想法。

go语言 python excel_下个10年,Go能取代Python成为开发者的首选语言吗?相关推荐

  1. python 创意项目_针对python开发人员的10个很棒的python项目创意

    python 创意项目 The joy of coding Python should be in seeing short, concise, readable classes that expre ...

  2. Python火热,未来10年,必将是 python 飞速发展的时代

    1.语言特性 简单易学:语法简单,代码优雅,适合零基础人员学习,是广大学员 IT 大厦的敲门砖. 急速开发:开发效率非常高,Python 有非常强大的第三方库,你想通过计算机实现任何功能,Python ...

  3. 学python人工智能电脑要什么配置_没有基础能不能学人工智能 首选语言是Python吗...

    没有基础能不能学人工智能?首选语言是Python吗?人工智能涵盖的领域很广,除了机器学习外,还包括专家系统.进化计算.模糊逻辑.粗糙集.多代理.规划问题等.近几年,人工智能的发展主要得益于机器学习领域 ...

  4. python采集文章_八爪鱼采集器能取代python爬虫吗?

    作为同时使用八爪鱼采集器和写爬虫的非技术的莫名其妙喜欢自己琢磨技术的互联网运营喵...我来谈谈心得感想. 八爪鱼有一些优势,比如学习成本低,可视化流程,快速搭建采集系统.能直接导出excel文件和导出 ...

  5. python基础语法第10关作业-关于一些Python的一些基础语法训练

    1:已知a和b元素 a = 'pyer' b = 'apple' 用字典和format方法实现:效果:my name is pyer, i love apple. 1.format的方法 c =&qu ...

  6. python是开源语言吗c,属于新十年的开发语言:Go语言可能很快会取代Python

    本文转载自公众号"读芯术"(ID:AI_Discovery) 30年前,Python首次亮相,它花了20年才得到开发者的赞赏.如今,它已经成为开发者第二喜爱的语言.尤其是在过去五年 ...

  7. python是一门高级的计算机语言_为有抱负的开发者推荐的最佳 10 门编程语言

    编程是技术革新的核心,当今的编程语言有能力让开发者不再束缚他们的潜力来构建未来的技术. 如果你是一名具有前瞻性的开发者或者想成为一名具有前瞻能力的开发者,那么,是时候开始学习编程了,至少在最好的编程语 ...

  8. 基础必备 | Python处理文件系统的10种方法

    作者 | Jeff Hale 译者 | 风车云马:责编 | Jane,Rachel 出品 | Python大本营(ID:pythonnews) [导读]在编写一些Python程序的时候,我们常常需要与 ...

  9. Python每日一学 10——for循环

    Python每日一学 10--for循环 文章目录 Python每日一学 10--for循环 一.for循环介绍 二.实例一:等差数列前n项和 三.实例二:计算阶乘 四.实例三:拉马努金法计算圆周率 ...

  10. c语言图形方式初始化,c语言图形方式下的编程.doc

    c语言图形方式下的编程.doc C语言图形方式下的编程 学习目标 ·了解PC显示系统的结构 ·C语言图形初始化的一般方法 ·C语言常用的图形处理函数 显示系统简介 PC机显示系统一般是由显示器和显示卡 ...

最新文章

  1. python使用matplotlib可视化线图(line plot)、在可视化图像中的指定位置添加横线(add horizontal line in matplotlib plot)
  2. lightgbm中的feval参数使用明细
  3. java类向拦截器传值_MyBatis拦截器:给参数对象属性赋值的实例
  4. java疯狂讲义内存分配_java疯狂讲义学习:面向对象(上)
  5. javascript 应用_如何利用JavaScript的功能使您的应用脱机工作
  6. pyecharts显示所有x轴_30分钟学会pyecharts数据可视化
  7. VMware中解决ubuntu不能连接网络问题。(亲测有效)
  8. Jenkins 流水线 获取git 分支列表_持续集成工具Jenkins看这篇就够啦!
  9. python 写一个scheme解释器(一)
  10. 实验二 数据库和表的操作
  11. Oracle 11g 通过透明网关访问瀚高数据库
  12. 机器学习入门概念--心血总结--史上最强--入门必读--回味无穷
  13. 监听SpringBoot 服务启动成功事件并打印信息
  14. 基于Kivy的HDR拍摄软件案例分享
  15. Scrach基本概念与操作
  16. 让电脑键盘L键变成锁定计算机怎么办,教你电脑键盘按键错乱怎么恢复
  17. schannel: next InitializeSecurityContext failed: SEC_E_ILLEGAL_MESSAGE (0x80090326)
  18. 长春理工大学计算机考研资料汇总
  19. 《小米商城》--查看购物车
  20. CCNA培训(五)_20210725day05

热门文章

  1. Spring-自定义BeanName生成规则
  2. SpringBoot常见面试题总结一
  3. Oracle查询优化改写技巧与案例总结三
  4. Spring Cloud Eureka服务注册中心 单节点搭建(学习总结)
  5. Linux进程管理---task_struct
  6. C#三层架构详细解剖
  7. 使用SESSION实现PHP会话的步骤
  8. Java常用集合类详解
  9. 写读后感,获赠陈能技老师亲笔签名书《性能测试诊断分析与优化》中奖名单公布啦!...
  10. 事件元素JS的event对象--知识点总结