11 集

「Go 夜聊」是一档由杨文和欧长坤主持的针对 Go 语言发展史的播客节目。我们的宗旨是让更多的人了解 Go 语言的发展历史和未来规划,希望大家在这里可以了解到 Go 语言的方方面面。如果你觉得「Go 夜聊」做的还不错,欢迎你推荐给身边的朋友。如果你对我们有任何意见或建议,请给我们来信,我们的邮箱地址是 [hi@talkgo.fm](mailto:hi@talkgo.fm),如果你想跟大家交流讨论,可以加入我们的 [telegram 群](https://t.me/talkgofm) Listen Notes

Go 夜‪聊‬ Go 夜聊

    • 科技
    • 4.7 • 15 个评分

「Go 夜聊」是一档由杨文和欧长坤主持的针对 Go 语言发展史的播客节目。我们的宗旨是让更多的人了解 Go 语言的发展历史和未来规划,希望大家在这里可以了解到 Go 语言的方方面面。如果你觉得「Go 夜聊」做的还不错,欢迎你推荐给身边的朋友。如果你对我们有任何意见或建议,请给我们来信,我们的邮箱地址是 [hi@talkgo.fm](mailto:hi@talkgo.fm),如果你想跟大家交流讨论,可以加入我们的 [telegram 群](https://t.me/talkgofm) Listen Notes

    第 10 期:2023 年 Go 贡献者峰会的所见所闻

    第 10 期:2023 年 Go 贡献者峰会的所见所闻

    第 10 期:2023 年 Go 贡献者峰会的所见所闻

    嘉宾:潘少(Andy)
    主持:杨文,欧长坤

    本期摘要:这是 Go 夜聊的第十期节目,也是我们第九期的续集,是由 Go 语言峰会参与者欧长坤和潘少(Andy)一起为我们带来的一些他们在 Go 语言峰会上的所见所闻。让我们有机会能参与其中,了解其中的故事和过程。虽然仅仅只是很短的时间,但是你听过之后一定会觉得这个会议应该不止开那么短吧。信息密度非常大,建议大家反复收听。

    时间线

    00:21 开场
    01:20 欧长坤和潘少(Andy)参加 Go 语言贡献者峰会
    01:55 第一个圆桌讨论:WebAssembly
    03:15 Keith Randall 大佬被提及
    05:00 Go runtime 圆桌讨论话题一:NUMA-aware scheduler for Go
    06:00 Dmitry Vyukov 大佬被提及
    11:40 Go runtime 圆桌讨论话题一:io_uring networking for Go
    16:18 Coroutine for Go by rsc
    20:37 Go runtime 渐进式改造
    23:33 Go 团队倾向于挖一个大坑
    26:00 Go 标准库新加了一个 log 库:slog
    32:10 推荐环节

    录制时间: 2023-09-28

    相关链接

    Andy 的主页

    美国之行(上篇):旧金山和硅谷
    美国之行(下篇):芝加哥


    GopherCon 2023: The Ultimate Review - We International Now!
    Andy GitHub
    Keith Randall
    Dmitry Vyukov
    Coroutines for Go by rsc 2023.7.17
    spec: add range over int, range over func #61405
    追风筝的人

    Go 夜聊第 8 期老貘也推荐了这本书。


    Unix 传奇
    Open Decision-Making
    宫崎骏 - 千与千寻
    《侧耳倾听》 - 人成长的时候是不断的在跟自己和解的过程。

    📝 联系我们

    来信 hi@talkgo.fm
    Telegram 听众群

    • 47 分钟
    第 9 期:潘少给 Go 语言做贡献的艰难历程

    第 9 期:潘少给 Go 语言做贡献的艰难历程

    第 9 期:潘少给 Go 语言做贡献的艰难历程

    嘉宾:潘少(Andy)
    主持:杨文,欧长坤

    本期播客是参与 #2023技术播客节 共创共建的一期内容。12月4日至8日,每天围绕一个主题,带来8~11期的内容,更多详情也可关注官网 https://podfest.tech,或者微信公众号、即刻、X搜索「2023技术播客节」,欢迎大家多多关注,一键多连!

    本期摘要:这是 Go 夜聊的第九期节目,我们和 Go 语言贡献者潘少(Andy),Go 开源项目 gnet/ants 等项目的作者一起聊了聊,包括他与 Go 语言结缘的故事,以及他为 Go 语言做贡献的经历,并着重聊了他所做过影响力最大的几个贡献。

    录制时间: 2023-09-28

    时间线

    00:21 开场
    01:14 潘少(Andy)自我介绍
    02:28 潘少(Andy)与 Go 结缘
    08:37 为什么会给 Go 做贡献?
    11:30 潘少(Andy)的第一个 Go 贡献
    17:35 在 Go 做贡献中提高自己的编程能力吗?
    22:34 印象最深刻的 Go 贡献经历
    40:06 影响力最大的一个 Go 贡献经历
    53:08 尾声

    相关链接

    Andy 的主页
    Andy GitHub
    Golang China Contributor Club
    Go语言编程 by 许式伟
    Contributing to the Go Project
    panjf first commit - bytes: narrow the search of IndexByte in Index
    472475: net,os: support zero-copy from file and TCP socket to Unix socket
    466015: os: support zero-copy from TCP/Unix socket to file
    525096: log/slog: add LogLoggerLevel to enable setting level on the default logger
    212737: runtime: converge duplicate calls to netpollBreak into one

    📝 联系我们

    来信 hi@talkgo.fm
    Telegram 听众群

    关于「2023 技术播客节」
    缘起于 2022 仲夏时节技术播客之间的梦幻联动,我们感受到了社区共创共建的力量。今年我们再接再厉,集结了 30+ 播客、5 大出品人、20+ 社区,希望拉动更多技术生态的内容创作者,一起用声音来表达,建设自家技术影响力,推动更高粘性、更深互联、更持久共鸣的用户社区构建。

    • 53 分钟
    第 8 期:泛型来了!

    第 8 期:泛型来了!

    第 8 期:泛型来了!
    录制时间: 2022-05-06


    嘉宾:老貘
    主持:杨文,欧长坤

    本期摘要:这是 Go 夜聊的第八期节目,我们和 Go 语言 101 的作者一起聊了聊期待已久的泛型,我们聊到了为什么需要泛型,设计的优点、讨论时的期望与正式发布时的失望。新出现的类型集是什么?comparable 又是什么?目前的泛型设计在未来还有多大的改进空间?

    时间线

    00:12 开场
    01:10 接触 Go 语言的动机
    03:30 编写《Go 101》的原因
    04:42 活跃在 Go 语言社区
    09:27 独立游戏的行业经历
    12:11 用 Go 语言做游戏
    13:51 泛型产生的动机,与 Go Generate 的对比
    20:21 接口、类型集、类型约束的关系
    28:36 类型集与泛型的关系
    30:40 接口与类型集是同一个概念吗?
    31:34 comparable 类型、它能解决什么问题、它还有哪些争议
    37:42 接口作为值类型
    42:45 泛型设计的其他优点
    48:10 泛型设计的缺点
    58:09 泛型设计的限制
    66:09 对泛型未来的期望与失望
    68:20 Go 团队排外吗?
    71:35 Go 语言 101 背后的故事
    83:38 结尾推荐
    87:55 尾声

    相关链接

    老貘的主页
    Go 语言 101
    Go 泛型 101
    泛型的官方上手教程
    观点:类型集和接口不等价
    spec: document definition of comparable
    spec: any no longer implements comparable
    proposal: spec: permit values to have type “comparable”
    proposal: spec: permit non-interface types that support == to satisfy the comparable constraint
    proposal: spec: allow interface types to instantiate comparable type parameters
    proposal: spec: add new constraint kind satisfied by types that support == (including interface types)
    proposal: type parameters are comparable unless they exclude comparable types
    proposal: the comparable interface represents the comparable subset of run-time values
    how to update APIs for generics
    proposal: spec: allow type parameters in methods
    追风筝的人
    灿烂千阳
    群山回唱
    理解自由意志
    AI 新生

    📝 联系我们

    来信 hi@talkgo.fm
    Telegram 听众群

    • 1 小时 29 分钟
    第 7 期:依赖与模块

    第 7 期:依赖与模块

    第 7 期:依赖与模块
    录制时间: 2021-08-29


    嘉宾:盛傲飞
    主持:杨文,欧长坤

    本期摘要:这是 Go 夜聊的第七期节目,我们和 goproxy.cn 的作者在 Go 1.17 发布时聊了聊在 Go 语言中的依赖管理、模块等相关的机制。Go 语言中的 Modules 走到今天这一步经历了哪些波折?看似在其他语言里早已攻克的代码依赖管理,在 Go 语言的情景下,又有哪些不为人知的努力?

    时间线

    00:00 开场白
    01:06 接触 Go 语言的契机
    02:57 Beego 等一系列 Web 框架的对比
    04:37 自己动手写 Web 框架
    06:33 Go Modules 之前的依赖管理
    16:12 Monorepo 代码管理的优劣
    22:24 “臭名昭著” 的 GOPATH 和 vendor
    28:36 dep 的风波
    37:46 “独裁式” 管理风格下的需求工程
    43:52 进入 Go Module 时代
    46:47 Go Modules 的基本原理
    52:40 godoc 和 pkg.go.dev
    54:57 从 golang.org 合并到 go.dev 域名
    66:22 Go Modules 的最小版本选择算法 MVS
    70:27 环境变量 GOPRIVATE
    72:25 模块的懒加载
    77:36 模块别名机制
    82:10 GOPATH 的废除与 Go 1 兼容性保证
    84:43 Go Workspace 工作区
    86:17 构建 goproxy.cn 的经历
    89:57 搭建代理的难点及其与镜像站的区别
    96:42 七牛云接管 goproxy.cn 的运营

    相关链接

    谢大 astaxie 写的 Beego
    知名 Web 框架 Gin
    曾经的知名 Web 框架 Martini
    知名 Web 框架 Echo
    傲飞 aofei 写的 Web 框架 air
    标准库 net/http
    曾经的依赖管理工具 goven
    gopkg.in
    yaml 包
    无闻编写的 ini 解析包
    曾经的依赖管理工具 gopm
    曾经的依赖管理工具 govendor
    曾经的依赖管理工具 dep
    Russ Cox 关于 vgo 依赖管理的演讲
    Go Modules 的前身 vgo
    Go Modules 规范
    Russ Cox 和 Rob Pike 开发的 licensecheck
    模块功能目前的主要开发者 Bryan C. Mills
    傲飞开发的 Go 模块代理站 goproxy.cn
    李保坤开发的 Go 模块代理站 goproxy.io
    曾经的文包文档站 godoc.org 的源码
    Go 语言的多模块工作区 Workspace 的提案
    模块别名功能的相关讨论
    尾声推荐:jellyfin.org
    嘉宾推荐:The Art of Multiprocessor Programming (2nd Edition)
    嘉宾推荐:golang.design/go2generics

    📝 联系我们

    来信 hi@talkgo.fm
    Telegram 听众群

    • 1 小时 45 分钟
    第 6 期:Go 语言的编译器

    第 6 期:Go 语言的编译器

    第 6 期:Go 语言的编译器

    嘉宾:史斌
    主持:杨文,欧长坤

    本期摘要:这是 Go 夜聊的第六期节目,这期我们有幸请到了目前在 Go 语言仓库贡献排行榜上前全球前五十的贡献者——史斌,并和他一起聊了聊编译器相关的技术和相关行业的一些未来。Go 语言的编译器有什么特点?还有哪些可以改进的空间?从事芯片和编译技术相关的工作又有哪些挑战?

    时间线

    00:00 开场
    01:00 接触 Go 语言的起因
    03:31 Go 语言在芯片行业的现状
    04:57 成为中国 Go 语言贡献者排名第一的经历
    12:30 加入 Go 团队的 GitHub 组织
    19:11 Go 语言中国贡献者俱乐部的成立过程
    21:57 Go 语言在芯片行业的困境
    26:26 基于 SSA 的 Go 编译器
    32:02 现阶段编译器的改进空间
    35:10 基于寄存器的调用规约
    38:24 gccgo 和 gollvm
    42:19 编译技术和行业的未来
    47:30 推荐
    50:05 尾声

    相关链接

    乘法指令生成错误
    寄存器索引 LOAD/STORE
    Go 1 Benchmark
    Go 团队在 GitHub 的组织
    前 Go 团队成员 Brad Fitzpartrick
    Go 团队成员 Cherry Zhang
    Go 语言贡献者李保坤
    Go 语言贡献者蒙卓
    Go 语言中国贡献者俱乐部
    史斌在 GopherChina 2020 上关于 Go 编译器的演讲
    Erlang
    CSP 顺序进程通信
    Rob Pike
    Ken Thompson
    SSA 静态单赋值形式
    IR 中间语言
    Intrinsic 内建函数
    阵列编程与向量化
    循环优化
    Go 语言增加循环优化的讨论 Issue 24240
    指令流水
    GCC
    LLVM
    调用规约
    gccgo
    gollvm
    TinyGo
    Proebsting 定律
    Moore 定律
    书籍:《史记》
    书籍:《战国策》
    书籍:《不拘一格》
    播客: 从零道一
    书籍:《Ray Tracing Gems II》

    📝 联系我们

    来信 hi@talkgo.fm
    Telegram 听众群

    • 53 分钟
    第 5 期:Go 语言发展的近况 (下)

    第 5 期:Go 语言发展的近况 (下)

    第 5 期:Go 语言发展的近况 (下)

    主持: 杨文, 欧长坤

    本期摘要:这是 Go 夜聊的第五期节目,这次我们将延续上一期的话题讨论 Go 语言的一些发展近况。本期的话题围绕即将带来的涉及运行时机制和泛型的重大变化展开。为什么 Go 语言运行时几乎每个版本都能带来大量性能提升?Go 语言规范又即将引来哪些重大的变动?

    时间线

    00:00 开场
    00:56 运行时内存回收机制的变化
    06:34 运行时的监控机制
    09:56 基于寄存器的调用规约
    17:06 全新的 GC 调步器
    22:32 语言内存模型的完善
    23:58 两位主播对支持泛型的看法
    28:36 为什么 Go 语言十年之后才开始引入泛型
    32:32 Go 1 和 Go 2 对开发者来说意味着什么
    36:58 Go 语言的发版困境
    39:53 泛型的起源
    41:54 Go 语言泛型语法设计上的争议
    45:32 类型参数与类型集作为泛型的实现
    51:16 Go 团队的内部矛盾
    59:10 尾声

    🔗 相关链接

    MADV_FREE 更改为 MADV_DONTNEED (1.16), #23687, #42330
    全新的 runtime/metrics (1.16)
    基于寄存器的调用规约 (1.17)
    全新的 GC 调步器 (1.18) #44167, #44309, #45894
    Russ Cox 有关内存模型的 3 篇文章
    内存模型的完善 (1.18)
    书籍《C++ 语言的设计和演化》The Design and Evolution of C++
    泛型语言规范的变更 (1.18)
    类型参数
    类型集
    Russ Cox 的“过激”言论
    Go 语言历史全记录

    📝 联系我们

    来信 hi@talkgo.fm
    Telegram 听众群

    • 1 小时 1 分钟

用户评论

4.7(满分 5 分)
15 个评分

15 个评分

hheedat

很赞,很有帮助

加油!💪🏻

hxzhouh

如果不能找到一个新的模式,感觉也坚持不了多久。

不能用爱发电呀!