标签: golang

Reddit将评论后端从Python迁移至Go语言

Reddit将评论后端从Python迁移至Go语言

出乎意料的是,Go和Python与数据库层的交互方式存在根本差异。Python通过ORM简化了对Postgres存储的查询和写入操作。Reddit的Go服务未使用ORM,而Python ORM底层某些未知优化机制导致新Go接口上线初期出现数据库压力

Go语言的甜蜜十六岁

Go语言的甜蜜十六岁

就在上周一,11月10日,我们庆祝了Go语言开源发布的16周年纪念日!

Go 语言的 15 个你可能不知道的细节

Go 语言的 15 个你可能不知道的细节

学习新知识的最佳方式之一,就是定期记录所学内容。过去一年,我一直在用这种方式学习 Go 编程语言。以下是我最喜欢的几个鲜为人知的语言细节。

混合 PHP 的崛起:将 PHP 与 Go 和 Rust 相结合

混合 PHP 的崛起:将 PHP 与 Go 和 Rust 相结合

现代 PHP 生态系统为我们提供了两全其美的**:既能快速、自信地使用 PHP 构建系统,又能为性能关键部分提供强大的选择(C、Rust、Go)。这种混合方法让我们既能保持高效率,又不会在最重要的地方牺牲速度。

Go 语言仍然不够好

Go 语言仍然不够好

这些关于 Go 的问题让我越来越困扰。主要是因为它们完全没有必要。世界本可以做得更好,但 Go 却以这种方式被创造出来。

Go语言优化之道:从低效实现到SIMD加速

Go语言优化之道:从低效实现到SIMD加速

有一个函数,它被频繁调用。更重要的是,所有这些调用都位于关键用户交互的临界路径上。让我们来讨论如何让它变得更快。剧透:这是一个点积运算。

C++不是遗留负担,Rust也非万能解药

C++不是遗留负担,Rust也非万能解药

当我们考虑安全性时,会有许多隐藏的复杂性,这些复杂性使问题变得非常复杂,以至于说“Rust 比 C 更安全”可能是正确的,但实际上并非完全如此

Go 是一种 80/20 语言

Go 是一种 80/20 语言

Go 是最令人讨厌的编程语言。与其他语言相比,它以 20% 的复杂度提供了 80% 的实用性。这种讨厌情绪来自那些希望获得 81% 实用性、85% 或 97% 实用性的人。

TypeScript 迁移到 Go: 10 倍性能的背后到底是什么?

TypeScript 迁移到 Go: 10 倍性能的背后到底是什么?

从 JavaScript 迁移到 Go 并不意味着 “Node.js 很慢”。最好将其视为一种认识,即不同的问题需要不同的工具。JavaScript 和 Node.js 在它们的设计初衷方面依然出色: 具有高并发需求的 IO 密集型网络应用。

微软用 Go 重写 TypeScript 编译器:快 10 倍的 TypeScript

微软用 Go 重写 TypeScript 编译器:快 10 倍的 TypeScript

为了实现这些目标,我们已经开始开发 TypeScript 编译器和工具的原生移植。本机实现将大大改善编辑器的启动,将大部分构建时间缩短 10 倍,并大幅减少内存使用量。

编程语言的选择

编程语言的选择

人们最大的疑问是 “为什么不是 C#?”和 “为什么不是 Rust?”。说白了,我确实认为询问某人选择编程语言的原因是有价值的;作为专业人士,我们需要经常做出这类决定,而了解其他人是如何做出这些决定的,对于了解其他人是如何考虑这些事情的,是很有帮助的。

大多数人不明白为什么 Go 使用指针而不是引用

大多数人不明白为什么 Go 使用指针而不是引用

指针并不只是一些老派的麻烦,它们的存在是有目的的。它们能让你控制内存的工作方式,从而让你的代码变得更快,而且一旦掌握了窍门,代码也会变得更容易理解。

Go语言有个“好爹”反而被程序员讨厌?

Go语言有个“好爹”反而被程序员讨厌?

在最新的 TIOBE 7 月榜单中,Go 排名第七。与其他所有编程语言一样,有人喜欢 Go 语言也有人讨厌,同样的功能既会带来诋毁也会带来赞美。

【外评】为什么人们对 Go 1.23 的迭代器设计感到愤怒?

【外评】为什么人们对 Go 1.23 的迭代器设计感到愤怒?

我觉得 Go 的迭代器在设计原则上是合理的,但似乎与大多数人对 Go 的理解背道而驰。我知道 Go 这些年来 “不得不 “变得越来越复杂,尤其是引入了泛型(我认为泛型设计得很好,只有语法上的一些小问题),但引入这种迭代器感觉是不对的。

【译文】Go语言性能从 1.0 版到 1.22 版

【译文】Go语言性能从 1.0 版到 1.22 版

在使用 Go 1.22 的情况下,PGO 只提高了几个百分点的性能,对 countwords 而言约为 2%,对 sumloop 而言约为 7%。我用 PGO 编译已发布的 GoAWK 二进制文件。

Go 语言程序员的进化

Go 语言程序员的进化

Go 语言程序员的进化

【译文】面试时,有人问我喜欢Go语言什么?

【译文】面试时,有人问我喜欢Go语言什么?

几周前,有人问我喜欢 Go 语言的哪一点。那是在一次求职面试中,当时我意识到,尽管我几乎在每个项目中都使用 Go 语言,但我并没有认真考虑过这个问题。

4 秒处理 10 亿行数据! Go 语言的 9 大代码方案,一个比一个快

4 秒处理 10 亿行数据! Go 语言的 9 大代码方案,一个比一个快

该挑战很快在 Hacker News、lobste.rs、Reddit 等社区掀起热烈讨论,不少开发者采用 Rust、Go、C++ 等其他编程语言甚至是数据库参与挑战。

【译文】Go语言设计:我们做对了什么,做错了什么

【译文】Go语言设计:我们做对了什么,做错了什么

这是我在悉尼 GopherConAU 会议上的闭幕演讲(视频),演讲时间是 2023 年 11 月 10 日,即 Go 作为开源项目发布 14 周年纪念日。文中穿插了演讲中使用的幻灯片。

最好的 Go 框架就是不用框架?

最好的 Go 框架就是不用框架?

最好的Go框架就是不用框架?

吵翻了!到底该选 Rust 还是 Go,成 2023 年最大技术分歧

吵翻了!到底该选 Rust 还是 Go,成 2023 年最大技术分歧

吵翻了!到底该选 Rust 还是 Go,成2023年最大技术分歧

“Go 语言的优点、缺点和平淡无奇之处”的十年

“Go 语言的优点、缺点和平淡无奇之处”的十年

本文作者对他在十年前撰写的一篇名为 “Go 语言:优点、缺点和平淡无奇之处” 的文章进行回顾和更新,讨论了他的准确预测、Go 语言的变化以及他之前的疏漏。本文见证了 GO 语言这十年的演进历程。

为什么不用Go开发操作系统?

为什么不用Go开发操作系统?

本文整理自 GoLand 官方博客的一篇文章:《OS in Go? Why Not?》,探讨了为什么像 C 这样的编程语言在 OS 开发中占据优势,以及是否可以使用 Go 编写 OS。

Go 语言切片是如何扩容的?

Go 语言切片是如何扩容的?

原文链接:Go 语言切片是如何扩容的?在 Go 语言中,有一个很常用的数据结构,那就是切片(Slice)。切片是一个拥有相同类型元素的可变长度的序列,它是基于数组类型做的一层封装。它非常灵活,支持自动

Rust vs Go,到底该怎么选?

Rust vs Go,到底该怎么选?

Rust 和 Go 在性能、简单性、安全性、功能、规模等方面的比较如何?它们的共同点是什么,它们有什么根本性的不同?