Go,基于连接与组合的语言
这篇文章是根据我在 InfoQ 的一个演讲整理而成的。最初发表于 2013 年 2 月 20 日,到今天已经有近十年的时间。但是我认为它是理解 Go 语言设计哲学至关重要的钥匙,所以在自己的公众号再发一下。
阅读全文 :Go,基于连接与组合的语言
这里是 Go+ 中国,本公众号接受投稿(欢迎提交 Go/Go+ 相关的技术文章)。申请转载时请提供公众号名称。
这篇文章是根据我在 InfoQ 的一个演讲整理而成的。最初发表于 2013 年 2 月 20 日,到今天已经有近十年的时间。但是我认为它是理解 Go 语言设计哲学至关重要的钥匙,所以在自己的公众号再发一下。
阅读全文 :Go,基于连接与组合的语言如果让我说一个 Go+ 实现过程中遇到最大的坑,我会毫不犹豫选择模块管理。在《Go+ 两周年:我们遇到过的那些坑》中我们已经提到过了 Go+ 模块管理上的三次重构,然而这并非是故事的结束,事实上它只是个开始。
阅读全文 :Go+ 探究:怎么把模块管理这个天坑填了两年前的今天(2020年 5 月 23 日),Go+ 第一个体验版 Go+ v0.6.01 发布,可以说是 Go+ 最正宗的生日。平常也经常会有人问:为什么要做 Go+,它存在的意义是什么?今天我想借这个特殊的时间,展开来谈谈这个话题。
阅读全文 :Go+ 两周年:我们的目标及当前进展从这篇文章开始,c2go 项目的侧重点发生了很重要的变化。我们已经过了 Make it passed 阶段,开始把重心放到了 Make it correct,做好品质保障这件事情上了。为此 c2go 在过去的这一周重点做了哪些事情?
阅读全文 :Go+ c2go: 如何实现自动模块切分及品质保障几天前,我发表了《Go+ c2go:假期 3 天迁移 C 标准库的进展》,介绍了 C 标准库迁移的实现框架以及进展情况。今天,我很高兴地宣布:迁移 C 标准库的第一个小目标:让 printf 可以正常工作,已经达成了。
阅读全文 :Go+ c2go: 实现迁移 C 标准库的第一个小目标5 月 1 日,我发文总结了自 c2go 项目启动一个月以来的进展情况。从 5 月 2 日开始,我们正式启动 C 标准库的迁移工作。今天就让我们聊聊这 3 天的假期,我们迁移 C 标准库的进展情况。
阅读全文 :Go+ c2go:假期 3 天迁移 C 标准库的进展一个月前,我写下了《Go+ 下个里程碑:超越 cgo,无缝对接 C 语言》一文,正式宣布启动 c2go 项目。一个月过去了,今天我想谈谈我们遇到的挑战,以及我们收获的成果是什么。
阅读全文 :Go+ c2go 项目一个月:我们遇到的挑战和成果尽管所有编程语言都有类型,但是它们的类型系统体现出来的编程哲学缺很可能会迥然不同。Go 语言的类型系统设计是非常有特色的。所以接下来我会有连续多篇的内容谈论类型系统设计背后的编程哲学,一一进行剖析。 今天我想谈的是:类型自动推导能力。
阅读全文 :Go+ 类型系统(1):Go、Go+ 与 Rust 自动类型推导的对比Go+ SSA ( https://github.com/goplus/gossa ) 是一个基于 SSA 实现的 Go 语言解释器,可以直接从 Go/Go+ 源码运行程序。
阅读全文 :Go+ SSA 引擎的开发进展原计划我们第二步迁移 C 标准库,第三步迁移一个知名的开源库如 sqlite3。但最终执行的时候,我决定把迁移 sqlite3 提前来做。今天,我们详细聊一聊 sqlite3 迁移中我们遇到的挑战是什么,它是如何刷新我对 C 语言的认知。
阅读全文 :c2go: 通过 sqlite3 迁移实践重新认识 C 语言在开发过程中,可能会因为各种原因导致重构的发生。今天就 Go+ 开发进入 2 周年的时间,我想借此机会聊聊我们在这两年中遇到的坑。
阅读全文 :Go+ 两周年:我们遇到过的那些坑实现一个兼容最新的 C spec 95%+ 以上功能的 C 编译器,要多久? 我们给出了非常精准的答案:10 天。 你可能觉得不可思议,但这是真的。我们是怎么做到的呢?
阅读全文 :Go+ 探究:如何 10 天实现工业级的 C 编译器我对这个 c2go 项目相当认真。从 Go+ 的角度来说,它是我们在 “面向工程” 领域的目标下,给软件工程师们交出的最重要的一份答卷。
阅读全文 :Go+ 下个里程碑:超越 cgo,无缝对接 C 语言随着 Go+ spx 引擎 v1.0.0-beta1 的发布,开始有一些小伙伴用它来做一些有趣的东西。他们问我的问题让我意识到给 spx 用户一个详尽的功能指引是有必要的。
阅读全文 :Go+公开课第4讲: Go+ spx vs. ScratchGo+ 作为通用语言,我们在 10 月份发布了它的 v1.0 版本。时隔一个月,Go+ 的 STEM 教育引
阅读全文 :Go+ spx 引擎发布 v1.0.0-beta1今天我们将开启《Inside Go+》系列文章的第一篇,讲讲 Go+ 的宏观架构。后续我们将会一步步解剖 Go+ 的实现。
阅读全文 :Inside Go+ 之一: 宏观架构篇最近的 release 基本上还是优先补全 Go 的基本能力为主。这两周最大的更新是支持了结构体(struct)和自定义类型(user-defined type)。
阅读全文 :Go+ 发布 weekly release: v0.7.8