<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>编程语言学习系列 on Mi&amp;Bee Blog</title><link>https://blog.mickeyzzc.tech/series/%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80%E5%AD%A6%E4%B9%A0%E7%B3%BB%E5%88%97/</link><description>Recent content in 编程语言学习系列 on Mi&amp;Bee Blog</description><generator>Hugo -- gohugo.io</generator><language>zh-CN</language><managingEditor>蓝宝石的傻话</managingEditor><lastBuildDate>Fri, 26 Jun 2026 15:40:00 +0800</lastBuildDate><atom:link href="https://blog.mickeyzzc.tech/series/%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80%E5%AD%A6%E4%B9%A0%E7%B3%BB%E5%88%97/rss.xml" rel="self" type="application/rss+xml"/><item><title>为什么是 Go：一门为工程而生的语言</title><link>https://blog.mickeyzzc.tech/posts/programming/go-why-and-setup/</link><pubDate>Thu, 15 Jan 2026 09:00:00 +0800</pubDate><guid>https://blog.mickeyzzc.tech/posts/programming/go-why-and-setup/</guid><description>&lt;h2 id="为什么是-go"&gt;为什么是 Go？&lt;/h2&gt;
&lt;p&gt;你可能会问：为什么要学 Go？编程语言这么多，Python 简单易学、Java 生态成熟、C/C++ 性能无敌、JavaScript 无处不在。Go 有什么特别之处？&lt;/p&gt;</description></item><item><title>基础语法：变量、类型与控制流</title><link>https://blog.mickeyzzc.tech/posts/programming/go-basic-syntax/</link><pubDate>Wed, 28 Jan 2026 14:30:00 +0800</pubDate><guid>https://blog.mickeyzzc.tech/posts/programming/go-basic-syntax/</guid><description>&lt;p&gt;本文基于 Go 1.26。&lt;/p&gt;
&lt;p&gt;上一篇我们聊了 Go 的设计理念和第一个 Hello World 程序。这一篇直接上手语法——变量、类型、控制流、函数、复合类型和指针。核心目标只有一个：&lt;strong&gt;让你能读懂和写出基本的 Go 代码&lt;/strong&gt;。&lt;/p&gt;</description></item><item><title>接口与泛型：Go 的核心抽象机制</title><link>https://blog.mickeyzzc.tech/posts/programming/go-interfaces-generics/</link><pubDate>Thu, 12 Feb 2026 10:00:00 +0800</pubDate><guid>https://blog.mickeyzzc.tech/posts/programming/go-interfaces-generics/</guid><description>&lt;p&gt;前两篇我们了解了 Go 的基础语法和并发模型，现在深入 Go 类型系统的两大核心——&lt;strong&gt;接口&lt;/strong&gt;（interface）和&lt;strong&gt;泛型&lt;/strong&gt;（generics）。这两者构成了 Go 抽象机制的基石：接口提供了基于行为的运行时多态，而泛型则带来了类型安全的编译时抽象。&lt;/p&gt;</description></item><item><title>错误处理：Go 的多返回值之道</title><link>https://blog.mickeyzzc.tech/posts/programming/go-error-handling/</link><pubDate>Wed, 25 Feb 2026 10:00:00 +0800</pubDate><guid>https://blog.mickeyzzc.tech/posts/programming/go-error-handling/</guid><description>&lt;p&gt;Go 的错误处理哲学是&amp;quot;简单、显式、可控&amp;quot;。每个可能出错的函数都可以返回一个错误值，调用方必须显式处理。没有异常、没有隐式传播，一切都在明面上。&lt;/p&gt;</description></item><item><title>并发：goroutine、channel 与 context 的艺术</title><link>https://blog.mickeyzzc.tech/posts/programming/go-concurrency/</link><pubDate>Thu, 12 Mar 2026 14:00:00 +0800</pubDate><guid>https://blog.mickeyzzc.tech/posts/programming/go-concurrency/</guid><description>&lt;p&gt;并发是 Go 语言区别于其他语言的核心特性。不同于 C++/Java 的线程模型，也不像 JavaScript 的单线程事件循环，Go 提供了一组并发原语——goroutine、channel 和 context，用相对直观的代码写出高性能并发程序。&lt;/p&gt;</description></item><item><title>标准库、测试与工具链：Go 工程化实践全景</title><link>https://blog.mickeyzzc.tech/posts/programming/go-stdlib-testing-toolchain/</link><pubDate>Thu, 26 Mar 2026 09:00:00 +0800</pubDate><guid>https://blog.mickeyzzc.tech/posts/programming/go-stdlib-testing-toolchain/</guid><description>&lt;p&gt;经过前三篇的旅程——为什么选择 Go、基础语法与并发、接口与泛型——现在到了 Go 篇章收官，该把工程化实践串起来了。&lt;/p&gt;
&lt;p&gt;Go 的工程化能力同样体现在标准库、测试框架和工具链上。它们构成了 Go 开发者的日常工作环境，支撑快速构建可靠、可维护的软件。&lt;/p&gt;</description></item><item><title>为什么是 Rust：从 Go 视角认识一门追求零成本抽象的语言</title><link>https://blog.mickeyzzc.tech/posts/programming/rust-why-and-setup/</link><pubDate>Fri, 10 Apr 2026 09:00:00 +0800</pubDate><guid>https://blog.mickeyzzc.tech/posts/programming/rust-why-and-setup/</guid><description>&lt;p&gt;本文基于 Rust 1.82（2026-01-23 发布，当前最新稳定版）。Rust 是一门经过实战验证的现代系统编程语言，官方文档在 &lt;a href="https://doc.rust-lang.org/"&gt;doc.rust-lang.org&lt;/a&gt;，安装指南在 &lt;a href="https://www.rust-lang.org/tools/install/"&gt;rust-lang.org/tools/install/&lt;/a&gt;。&lt;/p&gt;
&lt;h2 id="为什么是-rust"&gt;为什么是 Rust？&lt;/h2&gt;
&lt;p&gt;如果你已经掌握了 Go，可能会问：为什么还要学 Rust？Rust 的存在是为了填补 Go 在性能和控制力上的空白。&lt;/p&gt;</description></item><item><title>基础语法：变量、类型与模式匹配</title><link>https://blog.mickeyzzc.tech/posts/programming/rust-basic-syntax/</link><pubDate>Wed, 22 Apr 2026 14:00:00 +0800</pubDate><guid>https://blog.mickeyzzc.tech/posts/programming/rust-basic-syntax/</guid><description>&lt;p&gt;上一篇我们聊了为什么 Rust 值得学，以及怎么跑通你的第一个 Hello World。这一篇直接上手语法——变量、类型、控制流、函数、模式匹配。核心目标只有一个：&lt;strong&gt;让你能读懂和写出 Rust 代码&lt;/strong&gt;。&lt;/p&gt;</description></item><item><title>所有权与借用：Rust 内存安全的核心</title><link>https://blog.mickeyzzc.tech/posts/programming/rust-ownership-borrowing/</link><pubDate>Wed, 06 May 2026 10:00:00 +0800</pubDate><guid>https://blog.mickeyzzc.tech/posts/programming/rust-ownership-borrowing/</guid><description>&lt;p&gt;本文基于 Rust 1.80+。&lt;/p&gt;
&lt;p&gt;如果你有 Go 或 Java 背景，所有权系统可能是 Rust 中最让你困惑的概念。Go 有垃圾回收器（GC），你很少需要关心内存何时释放。Rust 选择了一条完全不同的路——&lt;strong&gt;编译期通过所有权规则保证内存安全&lt;/strong&gt;，零运行时开销。&lt;/p&gt;</description></item><item><title>Trait 与泛型：Rust 的类型抽象系统</title><link>https://blog.mickeyzzc.tech/posts/programming/rust-traits-generics/</link><pubDate>Thu, 14 May 2026 10:00:00 +0800</pubDate><guid>https://blog.mickeyzzc.tech/posts/programming/rust-traits-generics/</guid><description>&lt;p&gt;前几篇我们了解了 Rust 的所有权系统、错误处理和模块管理，现在深入 Rust 类型系统的两大核心——&lt;strong&gt;trait&lt;/strong&gt;（特征）和&lt;strong&gt;泛型&lt;/strong&gt;（generics）。这两者构成了 Rust 抽象机制的基石：trait 提供了基于行为的编译期约束，而泛型则带来了类型安全的参数化编程。&lt;/p&gt;</description></item><item><title>错误处理与生命周期：Result、Option 与编译期借用检查</title><link>https://blog.mickeyzzc.tech/posts/programming/rust-error-handling-lifetimes/</link><pubDate>Fri, 22 May 2026 10:00:00 +0800</pubDate><guid>https://blog.mickeyzzc.tech/posts/programming/rust-error-handling-lifetimes/</guid><description>&lt;p&gt;如果你习惯了 Go 的 &lt;code&gt;if err != nil&lt;/code&gt;，第一次接触 Rust 的错误处理可能会感到困惑。Go 的哲学是显式多返回值，错误只是普通的值。而 Rust 则将错误提升到了类型系统层面——一个可能出错的函数必须在返回类型中显式声明。这种设计带来了零成本抽象，但也引入了初学者最头疼的两个概念：&lt;code&gt;Result&amp;lt;T, E&amp;gt;&lt;/code&gt; 枚举和生命周期标注。&lt;/p&gt;</description></item><item><title>标准库、并发与 async：Rust 篇章收官</title><link>https://blog.mickeyzzc.tech/posts/programming/rust-stdlib-concurrency-async/</link><pubDate>Sat, 30 May 2026 15:00:00 +0800</pubDate><guid>https://blog.mickeyzzc.tech/posts/programming/rust-stdlib-concurrency-async/</guid><description>&lt;p&gt;经过前四篇的旅程——所有权与借用、类型系统、错误处理、模式匹配——现在到了 Rust 篇章收官，该把零散的知识串起来了。&lt;/p&gt;
&lt;p&gt;本篇聚焦 Rust 标准库的并发工具和 async/await 生态。这些是 Rust 与 Go 在并发领域最有趣的对标点：Go 通过 goroutine 和 channel 让并发看起来很简单，Rust 则通过严格的类型系统和所有权约束让并发变得安全可靠。&lt;/p&gt;</description></item><item><title>为什么是 Zig：从 Go/Rust 视角认识一门新系统语言</title><link>https://blog.mickeyzzc.tech/posts/programming/zig-why-and-setup/</link><pubDate>Sun, 21 Jun 2026 09:15:00 +0800</pubDate><guid>https://blog.mickeyzzc.tech/posts/programming/zig-why-and-setup/</guid><description>&lt;p&gt;本文基于 Zig 0.16（2026-04-13 发布，当前最新稳定版）。Zig 是一门仍在快速演进的现代系统编程语言，它的源码仓库已从 GitHub 迁移到 &lt;a href="https://codeberg.org/ziglang/zig"&gt;Codeberg&lt;/a&gt;，官方下载页在 &lt;a href="https://ziglang.org/download/"&gt;ziglang.org/download/&lt;/a&gt;。&lt;/p&gt;
&lt;h2 id="为什么是-zig"&gt;为什么是 Zig？&lt;/h2&gt;
&lt;p&gt;如果你已经熟悉 Go 和 Rust，可能会问：为什么还要看第三门系统语言？Zig 的位置介于两者之间，试图兼顾 C 的轻量、Rust 的现代工具链和 Go 的低门槛。&lt;/p&gt;</description></item><item><title>基础语法:用 Go/Rust 经验快速上手 Zig</title><link>https://blog.mickeyzzc.tech/posts/programming/zig-basic-syntax/</link><pubDate>Mon, 22 Jun 2026 14:30:00 +0800</pubDate><guid>https://blog.mickeyzzc.tech/posts/programming/zig-basic-syntax/</guid><description>&lt;p&gt;本文基于 Zig 0.16。&lt;/p&gt;
&lt;p&gt;上一篇我们聊了为什么 Zig 值得学,以及怎么跑通你的第一个 Hello World。这一篇直接上手语法——变量、类型、控制流、函数、泛型。核心目标只有一个:&lt;strong&gt;让你能读懂和写出 Zig 代码&lt;/strong&gt;。&lt;/p&gt;</description></item><item><title>错误处理:Go、Rust 之外的第三条路</title><link>https://blog.mickeyzzc.tech/posts/programming/zig-error-handling/</link><pubDate>Tue, 23 Jun 2026 10:45:00 +0800</pubDate><guid>https://blog.mickeyzzc.tech/posts/programming/zig-error-handling/</guid><description>&lt;p&gt;本文基于 Zig 0.16。&lt;/p&gt;
&lt;h2 id="三种错误处理范式"&gt;三种错误处理范式&lt;/h2&gt;
&lt;p&gt;错误处理是编程语言设计中最具争议的话题之一。Go 的多返回值、Rust 的 &lt;code&gt;Result&amp;lt;T, E&amp;gt;&lt;/code&gt; 枚举、Zig 的错误联合类型——它们代表了三种截然不同的哲学。本文假设你已有 Go 或 Rust 经验，将以此为参照系来理解 Zig 的设计。&lt;/p&gt;</description></item><item><title>Zig 内存管理:显式分配器模式</title><link>https://blog.mickeyzzc.tech/posts/programming/zig-memory-allocators/</link><pubDate>Wed, 24 Jun 2026 16:20:00 +0800</pubDate><guid>https://blog.mickeyzzc.tech/posts/programming/zig-memory-allocators/</guid><description>&lt;p&gt;本文基于 Zig 0.16。&lt;/p&gt;
&lt;p&gt;前几篇我们走过了 Zig 的基础语法和错误处理。现在进入 Zig 最与众不同的部分——&lt;strong&gt;内存管理&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;如果你有 Go 或 Rust 背景，Zig 的内存哲学会让你感到陌生：它既不提供垃圾回收，也不引入所有权系统，而是选择了一条完全不同的路——&lt;strong&gt;分配器模式&lt;/strong&gt;（Allocator Pattern）。这个模式的核心约定极其简单，但影响深远：&lt;/p&gt;</description></item><item><title>结构体与 comptime：编译期计算的威力</title><link>https://blog.mickeyzzc.tech/posts/programming/zig-comptime-structs/</link><pubDate>Thu, 25 Jun 2026 11:00:00 +0800</pubDate><guid>https://blog.mickeyzzc.tech/posts/programming/zig-comptime-structs/</guid><description>&lt;p&gt;本文基于 Zig 0.16。&lt;/p&gt;
&lt;p&gt;前几篇我们完成了基础语法、错误处理和内存分配器，现在进入 Zig 最核心的特性——&lt;strong&gt;编译期计算&lt;/strong&gt;（comptime）。但在此之前，我们先花几分钟快速了解 Zig 的结构体与方法，它们是你理解 comptime 的基石。&lt;/p&gt;</description></item><item><title>Zig 标准库、I/O 接口与并发：把知识串起来</title><link>https://blog.mickeyzzc.tech/posts/programming/zig-stdlib-io-concurrency/</link><pubDate>Fri, 26 Jun 2026 15:40:00 +0800</pubDate><guid>https://blog.mickeyzzc.tech/posts/programming/zig-stdlib-io-concurrency/</guid><description>&lt;p&gt;本文基于 Zig 0.16。&lt;/p&gt;
&lt;p&gt;经过前五篇的旅程——语法、错误处理、内存管理、编译期计算、构建系统——现在到了 Zig 篇章收官，该把知识串起来了。&lt;/p&gt;
&lt;p&gt;0.16 是两个重要版本的交汇点：标准库容器完成了 &lt;strong&gt;Unmanaged 迁移&lt;/strong&gt;，同时引入了新的 &lt;strong&gt;std.Io 接口&lt;/strong&gt;。这两个变化深刻影响了 Zig 代码的写法。本篇将围绕它们展开，最后用三语言实战对比收束，并给出学习路线和资源。&lt;/p&gt;</description></item></channel></rss>