标签 goroutine 下的文章

Go早期的那些布道者

本文永久链接 – https://tonybai.com/2024/05/17/the-early-evangelists-of-go

Go自2009年开源至今已经快15年了!这期间,有很多人对Go语言的发展做出了重要贡献,起到了至关重要的作用,他们被视为Go语言的早期布道者和鼓吹者。他们向Go社区传达着Go的价值观、Go的最新发展、Go的使用方法以及最佳实践。

这些人有来自Go团队的,有来自Google但非Go团队的,也有Go的早期采纳者和贡献者。如今这些人的状况不尽相同。有些人依然在活跃在Go团队中,为Go的演进持续做着贡献;有些人由于各种原因,已经退居二线,但仍心系Go的发展;还有一些人则逐渐淡出Go社区,或者说不再复当年的那种热忱。

不过,无论哪种,这些人为Go语言的推广和发展都做出了不可磨灭的贡献,值得Gopher们铭记。在这篇文章中,我就来说说这些Go早期的布道师。也可以让后进入Go阵营的Gopher们了解一下过去的事情。

注:这里是不完全统计,还有很多早期Go布道师做出了重要贡献,限于篇幅,这里就不一一列举细数了。

Rob Pike

Rob Pike 是Go语言的共同创始人之一,他在2007年与Ken Thompson和Robert Griesemer一起开始了Go语言的开发。

作为一名经验丰富的计算机科学家,Rob Pike曾在贝尔实验室工作,参与了Plan 9和Inferno操作系统的开发,UTF-8也是他的杰作。此外,他还是C语言和UNIX操作系统的早期贡献者之一。

Rob Pike为Go语言的设计和实现做出了重大贡献。他的设计理念强调简洁、并发和高效,这些理念深深影响了Go语言的核心特性。在Go语言的早期发展阶段,Rob Pike几乎主导了Go语言规范的制定,并负责了许多关键语言特性的开发。在Ken Thompson退休后,他成为了Go语言第一代的领军人物。

除了技术贡献,Rob Pike还是最为积极的Go语言推广者。他在Google内外的各种会议和技术活动中发表演讲,介绍Go语言的优势、应用场景以及使用方法。他的演讲风格生动有趣,深受开发者的喜爱。此外,Rob Pike还撰写了大量关于Go语言的博客和技术文档,为社区提供了宝贵的学习资源。


截图来自golang.design

他的“3 Day Go Course”也是最早、最权威的Go教程,即便在今天看来略有些Outdated了:)。

注:关于Rob Pike的早期3-days Go Course ppt,可以在这里下载https://www.cs.cmu.edu/afs/cs.cmu.edu/academic/class/15440-f11/go/doc/

现如今,Rob Pike已经从Google退休了,并长居澳大利亚,并继续为Go语言的发展做着贡献。尽管他不再像早期那样频繁地参与社区活动,但他的影响力依然深远,Go 1.18泛型发布前,Rob Pike就及时纠正了Go团队对泛型的支持策略

Rob Pike的工作为Go语言奠定了坚实的基础,使其成为现代编程语言中的一颗璀璨明珠。

Robert Griesemer

Robert Griesemer是Go语言的另一位共同创始人。他在加入Go团队之前,他曾参与Google V8 JavaScript引擎、Sawzall语言、Java HotSpot虚拟机和Strongtalk系统的工作,拥有丰富的编程语言设计和实现经验。

Griesemer在设计和实现Go语言方面发挥了关键作用,尤其是在语法和编译器的开发上。Griesemer的设计理念强调语言的简洁性和易用性,这使得Go语言在开发者中迅速获得了广泛的认可。他致力于优化编译器性能,使Go程序能够高效地运行在各种平台上。Griesemer还参与了Go语言标准库的设计和实现,为开发者提供了丰富的工具和资源。

在Go语言的推广方面,Griesemer同样不遗余力。他经常参与技术会议和社区活动,分享Go语言的设计理念和最佳实践,他也是唯一在GopherChina上现场进行分享的Go语言之父。

他的技术讲座深入浅出,帮助许多开发者快速上手Go语言。此外,Griesemer还与其他团队成员合作撰写了多篇技术论文和博客,进一步推动了Go语言的普及。


截图来自golang.design

目前,Griesemer依然在Google Go团队工作,奋战在Go语言的开发和优化的第一线。他和Ian Lance Taylor共同设计和实现了Go泛型机制,大幅提升了Go的表达能力。他的工作对Go语言的成功起到了至关重要的作用,使其成为许多大型项目和企业的首选开发语言。

Brad Fitzpatrick

Brad Fitzpatrick是一位资深的美国程序员。在加入Go团队之前,Fitzpatrick就因创建LiveJournal和Memcached而闻名。后来加入Google,成为Go团队的重要成员,并在Go语言社区中拥有很高的声誉。

在Go语言的发展过程中,Fitzpatrick为许多关键组件做出了贡献,尤其是在网络库和并发编程模型方面。他创建了诸如HTTP包和context包等核心库,这些库广泛应用于Go语言的网络编程中。

Fitzpatrick不仅在技术上对Go做出了杰出贡献,他还是Go社区活动的积极参与者,是Go团队中参与社区活动的“典范”。他经常在技术会议和用户组活动中发表演讲,分享自己的经验和最佳实践。Fitzpatrick的工作帮助许多开发者更好地理解和使用Go语言,推动了社区的发展。


截图来自golang.design

几年前,Fitzpatrick离开了Google并重新创业,他联创的Tailscale基于WireGuard和Go打造号称世界上最容易使用的安全private network产品。一些Go commiter和Ex-googler也被Fitzpatrick招入tailscale。Tailscale团队后续也成为了Go的重要贡献团队,比如go4org下的很多实用包,像internunsafe-assume-no-moving-gcmem等。其中的intern还是Go 1.23中加入的unique包的灵感之源。

仍然活跃在Go开源社区的Fitzpatrick依旧继续为Go语言和其他开源项目做着贡献,他的热情和奉献精神使他成为Go社区中备受尊敬的领袖之一。

Andrew Gerrand

Andrew Gerrand是Go团队的早期成员之一,他为Go团队工作七年,早期也是Go项目的Top10贡献者。但他在Go团队的主要职责其实是围绕该语言构建社区并管理开源项目。Gerrand的工作帮助许多开发者快速上手Go语言。他编写的Go语言文章深入浅出,覆盖了从基础语法到高级特性的方方面面。此外,Gerrand还创建了Go Playground,一个在线编程环境,使开发者能够方便地编写和运行Go代码。

除了技术文档,Gerrand还积极参与社区活动。他组织和主持了多次Go语言会议(比如GopherCon)和用户组活动,推动了Go社区的建设和发展,是Rob Pike做Go社区推广的好搭档。。Gerrand还经常在Go语言的官方博客上发表文章,介绍Go的最新特性和最佳实践,官博早期的大部分文章都出自他手。由此看来,Gerrand在早期对Go语言的推广和社区建设做出过重要贡献。

从2016年开始,他跟随Rob Pike转战Upspin项目,这个项目活跃了一年多,虽然现在依然在更新,但关注度目前已不是很高。Gerrand目前已经远离Go项目开发,并且很少撰文或参与Go社区活动。但他仍然在upspin、deps.dev等google项目上使用Go进行着开发和维护工作。

如果要关注Gerrand的日常,可以在X上follow他的账号

Russ Cox

Russ Cox是早期Go语言团队的重要成员之一,对Go语言的设计和实现做出了重大贡献。他拥有麻省理工学院的计算机科学博士学位,曾在贝尔实验室和Rob Pike一起在Plan9项目上工作过。Cox在加入Google后,成为Go语言项目的核心开发者之一。

Russ Cox对Go的贡献是全方位的,无论在语言特性、工具链、社区推广等方面都有很大建树。这也使得他在Rob Pike退休后,迅速成为了Go语言的第二代领军人物。

近几年进入Go阵营的开发者对Russ Cox不可谓不熟悉,他主导了vendor、type alias、Go module泛型等设计和实现,直接引领了Go的演进方向。

近几年,Russ Cox经常在GopherCon大会上代表Go团队发表主旨演讲,并在官博亲自撰文,向Go社区传达Go语言的演进思路与方向。经过多年历练,Russ Cox逐渐扛起了Go这杆大旗,接过了Rob Pike手中沉甸甸的Go接力棒。

Dmitry Vyukov

Dmitry Vyukov是一位俄罗斯大神级程序员,英特尔并行编程黑带级程序员。加入Google后一直从事性能优化方面的工作,包括并发无锁算法、执行跟踪和竞争检测工具、fuzzing工具等。Vyukov虽然不是Go团队成员,但他对Go的贡献却是核心级的,主要包括:

除了技术贡献,Vyukov早期也会参与一些会议和社区活动,虽然不多,主要是推广Go execution tracer和go-fuzz工具

目前,Vyukov依然在Google工作,也在继续为Go语言的发展做着力所能及的贡献。

Steve Francia

Steve Francia是早起Go语言社区的重要成员之一,对Go语言的推广和社区建设做出了重要贡献。Francia在加入Google之前,曾在MongoDB、Docker公司工作,拥有丰富的开发和管理经验。之后他加入Google,在Go语言项目中担任开发者关系经理,负责推动Go语言在企业中的应用。

Francia最为人称道的是他开发并开源的几个Go项目,包括goHugoCobraviper等。其中的hugo,一个基于Go语言的静态网站生成器,广受开发者的欢迎。

除了技术贡献,Francia还致力于社区建设。他组织和主持了多次Go语言会议和用户组活动,推动了Go社区的发展。Francia还在其个人博客上撰写了大量关于Go语言的技术文档,为开发者提供了宝贵的学习资源。

目前,Francia已经离开了Google和Go团队,并在一家位于纽约的初创公司担任CTO。目前在Go社区,他已不再像以前那样活跃,但他的几个开源项目依然保持积极开发中,也有人协助他打理这些开源项目。

总之,Francia的工作对Go语言的普及和社区建设起到了重要的作用,帮助Go成为开发者们最喜爱的编程语言之一。

Jaana Dogan

Jaana Dogan是这个布道者列表中唯一的女性程序员。她曾是Go语言团队的一名工程师,对Go语言的性能优化、诊断和工具开发做出了重要贡献。但她在Go团队工作的时间并不长,很快就离开了Go团队,原因未知。目前她供职在github。

Dogan对社区的贡献主要体现在其关于Go的独特观点的博客文章诊断相关的技术文档以及其开源的诸多项目,比如:heygopsgovanityurlsstatik等。这些项目都不大,但却十分实用。

很多gopher中使用hey进行http压测,gops则是高频使用的Go辅助诊断工具,govanityurls则是我的《小厂内部私有Go module拉取方案》的重要组件。statik也是Go 1.16版本引入go:embed之前在可执行文件中嵌入静态文件的一个可选工具。

Dogan在社区中以其深入的技术见解和乐于分享的态度,赢得了广泛的尊重和赞誉。不过,离开Google后,尤其是进入github后,Dogan在Go上面的投入似乎变少了很多,博客文章基本也不更新了,也没有新的开源项目产出,这对Go社区来说算是一个“损失”吧。

Brian KetelsenErik St. Martin

将Brian Ketelsen和Erik St. Martin放在一起说,是因为他们一起对Go语言以及Go社区的最大贡献就是共同创办了GopherCon,这是全球最大也是最权威的Go语言开发者大会,每年都会吸引大量来自世界各地的Go开发者。GopherCon不仅是一个技术交流的平台,也是Go社区的重要聚会,促进了开发者之间的交流与合作。两人在组织和推动GopherCon的过程中,展示了他们对Go语言的热情和奉献精神。今年(2024年)也是GopherCon诞生的第10个年头,想必这又是一场Go语言和Go社区的盛会!

除了会议组织和社区活动,Ketelsen和St. Martin还与William Kennedy联合撰写了关于Go语言的技术书籍《Go in Action》。这本书深入浅出地介绍了Go语言的基础知识和实际应用,为开发者提供了系统的学习资源。此外,他们还参与了多个开源项目,为Go语言的生态系统做出了重要贡献。

目前,Ketelsen和St. Martin都供职于微软公有云团队,仍然活跃在Go社区。

Francesc Campoy

Francesc Campoy是Go语言社区的知名讲师和布道者,对Go语言的推广和普及做出了重要贡献。Campoy在加入Google之前,曾在西班牙的一家软件公司工作,拥有丰富的开发经验。他在Go语言项目中担任开发者关系经理,负责向开发者推广Go语言。Campoy也曾作为GopherChina的嘉宾在多年前来到中国布道!

Campoy的工作帮助许多开发者快速上手Go语言。他制作了一系列高质量的Go语言视频教程“Just for func”,涵盖了从基础语法到高级特性的方方面面。这些视频教程深入浅出,受到了广泛的欢迎。此外,Campoy还创建了Go语言的官方YouTube频道,定期发布技术讲座和演示,进一步推动了Go语言的普及。

2016年,Campoy从Google离职,加入Dgraph Labs,负责原生GraphQL数据库dgraph以及键值数据库badger的开发。后来Dgraph labs内讧,Campoy转投到apple名下。

进入Apple后,Campoy就渐渐从Go社区淡出了。但他仍然会进行一些Go项目的开发,Github的activity中有他的一些活动记录,但更多地是对私有仓库的贡献。

Dave Cheney

如果说Go团队之外,谁是大家最喜欢的Go布道师和意见领袖,矮胖子Dave Cheney肯定可以拿到数一数二的选票。

相信早期学过Go语言的Gopher们,没有没读过Dave Cheney的个人博客的。他的博客从2010开始写的内容就几乎都与Go相关,并且思维缜密,写作风格深入浅出,颇受Gopher欢迎。

很多人还参与过他在世界各地举办的Go用户活动。Dave Cheney也是来到中国GopherChina大会最多的Go布道师,为中国Gopher带来了精彩的演讲以及极具干货的大会前Workshop

除了技术资料外,Dave Cheney早期在Go项目的issue上、在go-nuts邮件列表以及stackoverflow上也是非常活跃,非常乐于帮助那些想给Go项目做出贡献的gopher融入。同时他在github.com/pkg下开源的诸多项目也非常实用(比如https://github.com/pkg/errors),深受大家欢迎。

更多关于Dave Cheney对Go语言的贡献,可以阅读其个人博客的about页面

不过不知何故,从2021年初开始,Dave Cheney的博客开始停更,他在社区的声音也逐渐消失。直到今年年初,Dave Cheney才又更新了一篇名为“Microblog: TestMain can cause one to question reality”的文章。

不过从Dave Cheney的github Contribution activity来看,Dave仍然在大量的编写代码,只是这些代码是commit到private仓库的。

希望Dave Cheney能早日回归Go社区,并恢复当初的那份热忱。

Bill Kennedy

Bill Kennedy是Go语言社区的知名讲师和布道者,对Go语言的推广和普及做出了重要贡献,并且这种贡献一直持续至今。

Kennedy是ardan labs的CTO,也是该公司的主要讲师,他最拿手的Ultimate Go培训已经开办了十多年了,每年都会在全球进行很多场培训,此外,GopherCon大会前的Workshop总是少不了Bill Kennedy的training。

除了Training,Ardan Labs早期的博客文章也堪称精品,不少Gopher因这些文章而受益!Kennedy的工作主要是帮助许多开发者快速上手Go语言。他还撰写了多本关于Go语言的技术书籍,如《Go in Action》和《Ultimate Go》。这些书籍深入浅出,涵盖了从基础语法到高级特性的方方面面,为开发者提供了系统的学习资源。

除了技术培训,Kennedy还积极参与Go语言演进和Go社区活动之中,这其中一个最典型的事件就是2019年他代表广大Gopher用户发给Go团队的公开信,极力组织不成熟的try关键字提案进入Go语言。

目前,Kennedy依然活跃在Go社区,继续推动Go语言的发展和普及。

Mat Ryer

Mat Ryer是Go语言社区的一位资深开发者和布道者,他是一名英国程序员。他之前在Go社区非常活跃,积极参与技术会议和社区活动,分享Go语言在实际项目中的应用经验和最佳实践,其中最持久的莫过于主持Go Time播客了!”Go Time”是一个专注于Go编程语言的播客节目。该播客由Changelog Media出品,主要内容涵盖了Go语言的新特性、最佳实践、社区新闻、工具和库的推荐,以及与Go生态系统相关的各种话题。节目通常会邀请Go社区的知名开发者、贡献者和专家作为嘉宾,分享他们的经验和见解。截至写本文时,该播客已经发布了315期,每期都有音频和文字稿

除了上述活动,Mat Ryer还是《Go Programming Blueprints》一书的作者。

如今Mat Ryer依然活跃在Go社区,他供职于Grafana,依然从事着Go语言开源项目的开发,同时主持Go Time播客以及组织和参与各种Go用户会议。

参考资料


Gopher部落知识星球在2024年将继续致力于打造一个高品质的Go语言学习和交流平台。我们将继续提供优质的Go技术文章首发和阅读体验。同时,我们也会加强代码质量和最佳实践的分享,包括如何编写简洁、可读、可测试的Go代码。此外,我们还会加强星友之间的交流和互动。欢迎大家踊跃提问,分享心得,讨论技术。我会在第一时间进行解答和交流。我衷心希望Gopher部落可以成为大家学习、进步、交流的港湾。让我相聚在Gopher部落,享受coding的快乐! 欢迎大家踊跃加入!

img{512x368}
img{512x368}

img{512x368}
img{512x368}

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

Gopher Daily(Gopher每日新闻) – https://gopherdaily.tonybai.com

我的联系方式:

  • 微博(暂不可用):https://weibo.com/bigwhite20xx
  • 微博2:https://weibo.com/u/6484441286
  • 博客:tonybai.com
  • github: https://github.com/bigwhite
  • Gopher Daily归档 – https://github.com/bigwhite/gopherdaily

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

2024年的Rust与Go[译]

本文永久链接 – https://tonybai.com/2024/01/24/rust-vs-go-in-2024

本文译自《Rust vs Go in 2024》


我可以说些什么而不让大家生气吗?

Rust和Go哪个更好?你应该为下一个项目选择哪种语言,为什么?两者在性能、简单性、安全性、功能特性、规模化(scale)和并发性等方面如何比较?它们有什么共同点,又有什么根本区别?让我们通过Rust和Go的友好且公平的比较来找到答案。

1. Rust和Go都很棒

首先,非常重要的是,Go和Rust都是绝对优秀的编程语言。它们现代、强大、被广泛采用,并提供卓越的性能。

Rust是一种低级静态类型多范式编程语言,专注于安全性和性能 — Gints Dreimanis

然而:

Go是一种开源编程语言,可以轻松构建简单、可靠且高效的软件 — golang.org

在本文中,我将尝试简要概述我认为的哪种场景下Go是理想的选择,以及哪种场景下Rust可能是更好的选择。

2. 相似之处

两种语言的共同目标是什么?

2.1 内存安全

从历史来看,软件错误和安全漏洞的最大原因之一是不安全或不正确地访问内存。

Rust和Go以不同的方式处理这个问题,但两者的目标都是比其他语言在管理内存方面更智能、更安全。

2.2 快速、紧凑的可执行文件

它们都是编译语言,这意味着你的程序将被直接编译为可执行的机器代码,以便你可以将程序部署为单个二进制文件。与Python或Ruby等解释语言相比,这也使得Rust和Go程序拥有极快的执行速度。

2.3 通用语言

Rust和Go都是功能强大、可扩展的通用编程语言,你可以使用它们来开发各种现代软件。两者都拥有优秀的标准库和蓬勃发展的第三方生态系统,以及强大的商业支持和庞大的用户群。

2.4 务实的编程风格

虽然Go和Rust都具有与函数式和面向对象编程 (OOP) 相关的功能特性,但它们都是实用语言(pragmatic languages),旨在以最合适的方式解决问题。

2.5 适于规模化的开发

Rust和Go都有一些有用的功能特性,使它们适合大规模编程,无论是大型团队,还是大型代码库,或两者兼而有之。

例如,Rust和Go都使用标准代码格式化工具(Go的gofmt,Rust的rustfmt),这结束了关于括号放置位置的无用争论。

两者还具有优秀的内置高性能标准构建和依赖管理工具;不再需要与复杂的第三方构建系统搏斗,也不必每隔几年学习一个新系统。

3. 差异

虽然Rust和Go有很多共同点,但在某些领域,理性的人可能会更喜欢一种语言而不是另一种语言,以满足项目的特定需求。

3.1 性能

Go和Rust都非常快。然而,Go的设计更有利于快速编译,而Rust则是针对快速执行进行了优化。

Rust的运行时性能也更加一致,因为它不使用垃圾回收机制。另一方面,Go的垃圾回收器减轻了程序员的一些负担,使其更容易专注于解决主要问题,而不是内存管理的细节。

对于执行速度胜过所有其他考虑因素的领域(例如游戏编程、操作系统内核、Web浏览器组件和实时控制系统),Rust是更好的选择。

3.2 简单

从设计上来说,Go是一种小型语言:它的语法、关键字和语言结构都非常少。你可以快速学习Go的基础知识并使用该语言提升工作效率。

这使得Go在时间跨度短的项目中或需要快速引入大量新程序员的团队中具有优势,尤其是在他们相对缺乏经验的情况下。

3.3 功能特性

另一方面,Rust几乎拥有你能想象到的编程语言的所有功能特性,还有一些你可能无法想象的功能特性。这使得它成为一种强大且富有表现力的语言,可以通过多种不同的方式来完成同一件事。

如果你是从其他语言过渡到Rust的,你可能可以找到你习惯的大多数功能的Rust等效项。当大型项目需要从C++或Java等传统语言迁移时,这给Rust带来了优势。

3.4 并发

与大多数语言不同,Go语言的设计内置了对并发编程的支持,例如 goroutine(线程的轻量级版本)和通道(在并发任务之间通信数据的安全有效的方法)。

这些使得Go成为网络服务器和微服务等大规模并发应用程序的完美选择。

3.5 安全

Rust经过精心设计,以确保程序员无法做一些他们不想做的不安全的事情,例如覆盖共享变量。编译器要求你明确在程序的不同部分之间共享数据的方式,并且可以检测许多常见的错误和bug。

因此,所谓的“与借用检查器(borrow checker)战斗”是新Rust程序员的常见抱怨。用安全的Rust代码实现程序通常意味着从根本上重新思考其设计,这可能会令人沮丧,但当可靠性是你的首要任务时,这样做的好处是值得的。

3.6 规模化(scale)

Go旨在让你轻松扩展项目和开发团队。它的极简设计带来了一定的一致性,并且明确定义的标准风格的存在意味着任何Go程序员都可以相对快速地阅读和理解新的代码库。

当谈到大型软件开发时,清晰胜于聪明。对于大型组织,尤其是许多分布式团队来说,Go是一个不错的选择。其快速构建时间也有利于快速测试和部署。

4. 权衡取舍

Rust和Go的设计团队做出了一些截然不同的选择,所以让我们看看这些权衡取舍使这两种语言彼此截然不同的一些领域。

4.1 垃圾回收

一般来说,具有垃圾回收和自动内存管理功能的语言(如Go)可以快速轻松地开发可靠、高效的程序,对于某些人来说这是最重要的。

但是垃圾回收由于其性能开销和停止世界(Stop-The-World)的暂停,可能会使程序在运行时的行为变得不可预测,有些人发现这种不一致是不可接受的。

程序员必须明确负责分配和释放每个字节内存的语言(例如Rust)更适合实时或超高性能应用程序。

4.2 抽象

计算机编程的历史是一个日益复杂的抽象的故事,它让程序员可以解决问题,而不必过多担心底层机器的实际工作方式。

这使得程序更容易编写并且可能更可移植。但对于许多程序来说,访问硬件以及精确控制程序的执行方式更为重要。

Rust的目标是让程序员“更接近金属”,拥有更多的控制权,而Go抽象了架构细节,让程序员更接近问题。

4.3 速度

Rust进行了许多设计权衡,以实现最佳的执行速度。相比之下,Go更关心简单性,并且愿意为此牺牲一些(运行时)性能。

在这一点上你是喜欢Rust还是Go取决于你是愿意花更多的时间等待程序构建,还是等待程序运行。

4.4 正确性

Go和Rust都旨在帮助你编写正确的程序,但方式不同:例如,Go提供了出色的内置单元测试框架和丰富的标准库,而Rust则专注于利用其借用检查机制(borrow checker)消除运行时错误。

公平地说,用Go编写给定的程序更容易,但结果可能比Rust版本更容易包含错误。Rust对程序员施加了纪律约束,但Go让程序员选择他们想要对特定项目采取的纪律程度。

5. 结论

我希望这篇文章能让你相信Rust和Go都值得你认真考虑。你应该拒绝这种错误的困境:你只能学习其中之一。事实上,你了解的语言越多,你作为软件开发人员的价值就越高。

你学习的每一种新语言都会给你思考问题的新方法,这只能是一件好事。任何软件项目的质量和成功最重要的因素不是语言的选择,而是程序员的技能。

当使用最适合你的语言时,你变得最熟练,并且你也能享受到最多的编程带给你的乐趣。因此,如果问题是“我应该学习Rust或Go吗?”,唯一正确的答案是“是的”。

– John Arundel


Gopher部落知识星球在2024年将继续致力于打造一个高品质的Go语言学习和交流平台。我们将继续提供优质的Go技术文章首发和阅读体验。同时,我们也会加强代码质量和最佳实践的分享,包括如何编写简洁、可读、可测试的Go代码。此外,我们还会加强星友之间的交流和互动。欢迎大家踊跃提问,分享心得,讨论技术。我会在第一时间进行解答和交流。我衷心希望Gopher部落可以成为大家学习、进步、交流的港湾。让我相聚在Gopher部落,享受coding的快乐! 欢迎大家踊跃加入!

img{512x368}
img{512x368}

img{512x368}
img{512x368}

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

Gopher Daily(Gopher每日新闻) – https://gopherdaily.tonybai.com

我的联系方式:

  • 微博(暂不可用):https://weibo.com/bigwhite20xx
  • 微博2:https://weibo.com/u/6484441286
  • 博客:tonybai.com
  • github: https://github.com/bigwhite
  • Gopher Daily归档 – https://github.com/bigwhite/gopherdaily

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

如发现本站页面被黑,比如:挂载广告、挖矿等恶意代码,请朋友们及时联系我。十分感谢! Go语言第一课 Go语言精进之路1 Go语言精进之路2 商务合作请联系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