标签 Go 下的文章

Go官方发布的go.dev给gopher们带来了什么

众所周知,Go是一个诞生于Google内部的编程语言,它在2009年11月份开源,在开源后立即受到了来自全世界开发人员的关注与贡献。但初期的Go语言的发展依旧是由Go核心团队的若干leader决定的,这种类“民主集中制”的方法延续了若干年。直到Go核心团队逐渐意识到Go应该更多倾听社区的声音,并让更多的gopher参与到Go项目的开发和贡献中来,甚至影响和决定一些语言特定的演化。于是Go团队开始特意为Go社区发展招兵买马。像Steve FranciaFrancesc Campoy(后已经从google离职加入Dgraph)等都是在这个阶段加入Go team的。

Go团队在很长一段时间里尤其重视与社区的互动,比如连续多年发起Go user调查Gophercon大会后的Go team与社区的见面会和分组讨论去GOPATH降低Go入门学习曲线发布Go新品牌标识、添加Go module机制改善官网等。

在今天Go官博发文:“Go.dev: a new hub for Go developers”,正式发布go.dev站点,该站点被Go核心团队寄望于成为全世界Gopher开发人员的中心。它将告诉gopher(无论新手还是老油条):谁在使用Go、用Go做什么、怎么学习Go(Go的各种学习资源、受欢迎的Go package都有哪些以及这些package的详细信息)。

img{512x368}

go.dev发布之后,golang.org官网将更加聚焦go开源项目本身的开发、语言演化以及Go版本发布。而go.dev将成为gopher日常使用go语言的中心,包括go学习、go方案、go应用案例等。在这里我们简单探索一下go.dev这个站点究竟给gopher们带来了什么(这仅仅是go.dev的最小功能发布,后续go.dev可能会演化出更多特性、并根据社区反馈更好满足gopher需求)。

一. 学习资源聚合

go.dev的一个重要功能就是帮助首次进入Go世界的开发人员学习Go

在go.dev的”learn”栏目下,我们在第一屏就看到了Go新手入门的三个步骤:安装、”Hello World”、Go tour以及更为详尽文档的入口

img{512x368}

接下来,go.dev提供了这些年口碑较好、受到gopher欢迎的一些初级在线学习资源:

img{512x368}

像gobyexample.com、gophercises.com都在推荐行列。

Go技术类书籍以及培训资源是gopher学习Go过程中不可缺少的:

img{512x368}

Go.dev在learn栏目下推荐了一些口碑不错的Go书籍,比如:Alan A. A. Donovan和Brian W. Kernighan合著的Go圣经:《The Go Programming Language》被在首位推荐。知名Go培训师William Kennedy的培训也被推荐给了大家。不过口碑不错的书籍《Go in action》我觉得也应该列入推荐行列。

在Learn栏目最后,是全世界各地近期有关Go的meetup活动的schedule,Gopher可以得到最及时的meetup信息,并选择参加。

二. 成熟解决方案参考

img{512x368}

go.dev开辟的”solution”栏目旨在提升go的开发过程。栏目从“云原生和网络服务开发”、“命令行程序开发”、“web开发”以及Devops/Site Reliability四个方面提供聚合化的资料。以“云原生和网络服务开发”为例,Go.dev提供了这方面的典型项目和用户、使用方法、关键方案(一些书籍、成熟框架、客户端库以及其他资源)。

go.dev solution栏目还提供了一些Go的典型客户以及这些客户使用Go的典型案例:

img{512x368}

三、Package信息聚合中心

在go.dev的“explore”栏目下,我们看到的是Go package的信息中心:

img{512x368}

就如上图所示,这里提供了受欢迎的package和特色package的推荐列表,以及package信息的搜索功能。

logrus为例

img{512x368}

logrus包的主页,我们看到了有关logrus的各种信息,项目repo地址、最新版本号、module名字、开源许可证信息、文档(应该是集成了godoc返回的结果)、它的依赖、以及以它为依赖的项目(见下图):

img{512x368}

四. 小结

go.dev目前处于最小产品状态(mvp),从目前已经提供的栏目来看,go.dev能为gopher提供的帮助已经很全面了。后续go.dev站点的运营好坏(比如:信息更新是否及时等)将决定go.dev是否能达到其预期的期望。

go.dev目前似乎还缺少论坛功能。不过已有的golang-nutsgobridge已经承担了这个角色,但如果能有一个官方论坛(一站式)就再好不过了。

go.dev在国内可以访问,就是速度有些慢(可能因地区而异)。


我的网课“Kubernetes实战:高可用集群搭建、配置、运维与应用”在慕课网上线了,感谢小伙伴们学习支持!

我爱发短信:企业级短信平台定制开发专家 https://tonybai.com/
smspush : 可部署在企业内部的定制化短信平台,三网覆盖,不惧大并发接入,可定制扩展; 短信内容你来定,不再受约束, 接口丰富,支持长短信,签名可选。

著名云主机服务厂商DigitalOcean发布最新的主机计划,入门级Droplet配置升级为:1 core CPU、1G内存、25G高速SSD,价格5$/月。有使用DigitalOcean需求的朋友,可以打开这个链接地址:https://m.do.co/c/bff6eed92687 开启你的DO主机之路。

Gopher Daily(Gopher每日新闻)归档仓库 – https://github.com/bigwhite/gopherdaily

我的联系方式:

微博:https://weibo.com/bigwhite20xx
微信公众号:iamtonybai
博客:tonybai.com
github: https://github.com/bigwhite

微信赞赏:
img{512x368}

商务合作方式:撰稿、出书、培训、在线课程、合伙创业、咨询、广告合作。

Go语言开源十周年

本文翻译自Go官方博客Russ Cox代表Go核心团队发表的“Go Turns 10″一文。

生日快乐,Go!

这个周末,我们庆祝Go正式对外发布10周年,即Go作为开源编程语言和构建现代网络软件生态系统的10周年诞辰。

为了纪念这一时刻,Go gopher的创建者Renee French(用下面的新作)描绘了这个令人愉快的场景:

img{512x368}

庆祝Go十周年让我回想起2009年11月上旬,那时我们正准备与世界分享Go。我们不知道会发生什么样的反应,是否有人会关心这种新生的小语言。我希望即使没有人最终使用Go,我们也至少会引起人们对一些好的想法的关注,尤其是Go的并发和接口,这些想法可能会影响后续语言

当看到人们对Go感到兴奋,我便查看了CC++、Perl、Python和Ruby等流行语言的历史,并研究了每种语言花了多长时间才被广泛采用。例如,在我看来,Perl在1990年代中后期就已经完全形成了,带有CGI脚本和Web,但它于1987年首次发布。这种模式在我所研究的几乎所有语言中都重现了:在新语言真正腾飞之前,需要大约十年的时间进行安静、稳定的改进和传播。

(当时的)我想知道:十年后的Go会在哪里?

今天,我们可以回答这个问题:Go无处不在,全世界至少有100万开发人员在使用它。

Go最初的目标是网络系统基础架构,现在我们称为云软件(cloud software)。如今,每个主要的云计算平台提供商都使用用Go语言编写的核心云基础架构,例如DockerEtcdhttps://etcd.io/,IstioKubernetesPrometheusTerraformCloud Native Computing Foundation的大多数项目都是用Go编写的。无数公司也在使用Go将自己的工作迁移到云上,从初创公司从头开始构建到大企业更新软件堆栈。Go还发现对其的采用已经远远超出了最初的云计算目标,其使用范围从使用GoBotTinyGo控制小型嵌入式系统到使用GRAIL进行大规模的大数据分析和机器学习进行癌症检测,以及介于两者之间的所有内容。

这一切都说明Go超越了我们最疯狂的梦想。Go的成功不仅仅在于语言。这是关于语言,生态系统,尤其是社区的共同努力。

在2009年,该语言是一个不错的主意,并带有一个实现的工作草图。那时候go命令还不存在:我们使用命令6g编译源码和6l链接二进制文件,并借助Makefile实现这个过程的自动化。我们在语句末尾键入分号。整个程序在垃圾回收期间停止,然后努力利用两个CPU核。当时Go只能在Linux和Mac,32位和64位x86和32位ARM上运行。

在过去的十年中,在世界各地的Go开发人员的帮助下,我们已经将这一想法和草图发展为拥有出色的工具,生产级质量实现,先进的垃圾收集器和得到广泛移植的高效语言,Go支持12种操作系统和10种CPU体系结构

任何编程语言都需要蓬勃发展的生态系统的支持。开源发布是该生态系统的种子,但是自那时以来,许多人贡献了自己的时间和才干,用出色的教程,书籍,课程,博客文章,播客,工具,集成以及可重复使用的、支持go get的Go包来填充Go生态系统。没有这个生态系统的支持,Go永远不可能成功。

当然,生态系统需要蓬勃发展的社区的支持。在2019年,全球有数十个Go(技术)会议,以及超过150个Go聚会组织和90000名参会人员GoBridgeGoing Who Go通过指导,培训和会议奖学金帮助将新的声音带入Go社区。仅今年一年,他们就在讲习班上向数百名来自传统团体的人们进行了培训,在这些讲习班上,社区成员教导和指导刚接触Go的人。

全球有超过一百万的Go开发人员,全球各地的公司都在寻求雇用更多的人。实际上,人们经常告诉我们,学习Go帮助他们获得了技术行业的第一份工作。最后,我们为Go感到最自豪的不是设计完善的功能或巧妙的代码,而是Go在这么多人的生活中产生的积极影响。我们旨在创建一种可以帮助我们成为更好的开发人员的语言,我们很高兴Go帮助了许多其他人。

恰逢Go开源十周年的时刻,我希望每个人都花一点时间来庆祝Go社区以及我们所取得的一切。我代表Google的整个Go团队,感谢过去十年来加入我们的每个人。让我们开启下一个更加不可思议的十年吧!

img{512x368}


我的网课“Kubernetes实战:高可用集群搭建、配置、运维与应用”在慕课网上线了,感谢小伙伴们学习支持!

我爱发短信:企业级短信平台定制开发专家 https://tonybai.com/
smspush : 可部署在企业内部的定制化短信平台,三网覆盖,不惧大并发接入,可定制扩展; 短信内容你来定,不再受约束, 接口丰富,支持长短信,签名可选。

著名云主机服务厂商DigitalOcean发布最新的主机计划,入门级Droplet配置升级为:1 core CPU、1G内存、25G高速SSD,价格5$/月。有使用DigitalOcean需求的朋友,可以打开这个链接地址:https://m.do.co/c/bff6eed92687 开启你的DO主机之路。

Gopher Daily(Gopher每日新闻)归档仓库 – https://github.com/bigwhite/gopherdaily

我的联系方式:

微博:https://weibo.com/bigwhite20xx
微信公众号:iamtonybai
博客:tonybai.com
github: https://github.com/bigwhite

微信赞赏:
img{512x368}

商务合作方式:撰稿、出书、培训、在线课程、合伙创业、咨询、广告合作。

如发现本站页面被黑,比如:挂载广告、挖矿等恶意代码,请朋友们及时联系我。十分感谢! Go语言第一课 Go语言精进之路1 Go语言精进之路2 Go语言编程指南
商务合作请联系bigwhite.cn AT aliyun.com

欢迎使用邮件订阅我的博客

输入邮箱订阅本站,只要有新文章发布,就会第一时间发送邮件通知你哦!

这里是 Tony Bai的个人Blog,欢迎访问、订阅和留言! 订阅Feed请点击上面图片

如果您觉得这里的文章对您有帮助,请扫描上方二维码进行捐赠 ,加油后的Tony Bai将会为您呈现更多精彩的文章,谢谢!

如果您希望通过微信捐赠,请用微信客户端扫描下方赞赏码:

如果您希望通过比特币或以太币捐赠,可以扫描下方二维码:

比特币:

以太币:

如果您喜欢通过微信浏览本站内容,可以扫描下方二维码,订阅本站官方微信订阅号“iamtonybai”;点击二维码,可直达本人官方微博主页^_^:
本站Powered by Digital Ocean VPS。
选择Digital Ocean VPS主机,即可获得10美元现金充值,可 免费使用两个月哟! 著名主机提供商Linode 10$优惠码:linode10,在 这里注册即可免费获 得。阿里云推荐码: 1WFZ0V立享9折!


View Tony Bai's profile on LinkedIn
DigitalOcean Referral Badge

文章

评论

  • 正在加载...

分类

标签

归档



View My Stats