文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

谷歌的语言何以战胜Python?50%的人都应该立即学习Golang

2024-12-11 21:38

关注

 

很多软件工程师视Python为比较喜爱的语言之一,工作生活都和它死死绑定在一起。但Google, Uber, Dropbox, Soundcloud, Slack, 和Medium的软件工程师并不是这样。长期以来,优秀企业的程序员们一直迷恋于另一种语言。

尽管大部分开发者还在使用Python,但无论是对于API、网页服务,或是数据处理,高级员工都已经增加了对于Golang(Go)的使用,它的表现棒极了!

 

由先驱建立

Go是由谷歌的一个全明星三人组发明的:

谷歌最初正是用Python编写的,但是在2007年前后,工程师们正在寻找一种更好的语言来执行谷歌的主要任务。

Rob Pike在2012年的一次篇演讲中提到了他们遇到的问题:

于是三人组开始设计一种干净、简单、易读的语言。一种可以消除或至少减轻软件工程中这些常见问题的语言。

 

一门精简的语言

这些常见问题的根源在于现代语言的复杂性。想想Python或C——你有没有试着阅读过整个文档?祝你好运。相比之下,Go比较大的特点就是简单。这并不意味着你不能用它来构建复杂的代码。但Go考虑到了,不要有引入复杂性却不能解决问题的特性。

例如,Go不像其他面向对象语言那样有类。作为其他语言中常用功能,类可以使一个对象继承另一个对象的属性。

问题是,如果试图改变一个对象的结构而不改变其他对象的结构,就会破坏代码。Go有一个被称为struct替代方法,其更偏向组合而不是继承。

Go的其他主要特征是:

或许这些听起来毫无创意,从某种意义上说,确实如此,这不是一种带有时髦特征的语言,Go不是一种用来探索和研究的语言。

但神奇之处正在于此,当你尝试着去创造一些能运行的东西的时候,当你在一个团队中,有许多不同背景的人在同一个代码上工作的时候,当你厌倦了其他语言带来的混乱的时候,Go能救你于水火。

日益繁荣的社区

由于其简单性,Go是当今存在的很具协作性的语言之一。过去程序员们总是坐在自己的小隔间里,从不与别人见面,这样的时代已经一去不复返了。

现在,我们有StackExchange来解决所有的编码问题。我们有Slack,Zoom,Google Meet等来和我们的团队保持联系。但现代语言仍然是为小隔间里的小书呆子量身定做的。

Go改变了这种局面。尽管比Python晚了20岁,但它拥有一个充满活力的社区。他们将尊重、开放和友好置于行为准则之上,虽然其他语言,如Python或C,也有类似的社区声明,但对这些基本价值观的强调较少。

因此,社区在Go年度调查中扮演着明确的角色也就不足为奇了

有关社区和领导力的问题 | 图源:2019

 

数据不言自明

根据2019 Go Survey,谷歌的语言主要用于网站开发、网络和系统编程。Python的前景看起来与之非常相似:

Python的使用数据 | 图源:2019 Python

唯一显著的区别是有多少Python用于数据分析和机器学习。在这些领域,其他热门的新语言也正在涌现。

你可以看到许多Python的用法都可能被Go所取代,包括46%的网络开发46%,37%的系统管理和DevOps中,以及19%的网络编程中。即使你认为许多开发人员完成了所有这三种工作,至少一半的Python支持者正在做他们在Go中可以做的事情。

事实上,开发人员已经意识到Go提供的巨大潜力。根据Hackerrank的数据,在2019年,大约有三分之一的程序员想学Go。

接下来的热门语言 | 图源:Hackerrank.

由于Go非常容易学习,我们应该会在未来几年看到从Python到Go的转变。虽然对于大多数公司,尤其是不像Dropbox或Medium那样庞大有钱的公司来说,把所有的代码重写用Go编写将是非常昂贵的。但对于新项目来说,你至少应该尝试一下。

给彼此一个机会,给未来一个可能,何不去试试Go呢?

 

来源:读芯术内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯