Skip to main content
CS

Chi Shao

1episode
1podcast

We have 1 summarized appearance for Chi Shao so far. Browse all podcasts to discover more episodes.

Featured On 1 Podcast

All Appearances

1 episode
Go Time

Writing a shell in Go

Go Time
65 minShell Developer

AI Summary

→ WHAT IT COVERS Chi Shao explains building Elvish shell in Go over eleven years, covering language design decisions, cross-platform compatibility, built-in programming features, and Go's advantages for systems programming. → KEY INSIGHTS - **Language Selection:** Go provided modern syntax, complete system call bindings, and garbage collection in 2013 when alternatives were C/C++, Java, or Python - eliminating need for custom memory management. - **Standard Library Leverage:** Half of Elvish's modules directly wrap Go's standard library using reflection - strings, regex, HTTP, math, and OS packages become shell commands with minimal code. - **Cross-Platform Strategy:** Go's os/exec package handles program launching portably across Unix and Windows, requiring platform-specific code only for keyboard input parsing and system-dependent metadata fields. - **Programming Language Features:** Elvish implements nested lists, maps, lambdas, and functional programming paradigms that traditional shells lack - anything representable in JSON works in Elvish scripting. - **Built-in UI Components:** Control-N launches file manager with three-pane view, Control-R shows filterable command history list instead of single-match search - enhancing interactive shell experience significantly. → NOTABLE MOMENT Shao reveals Elvish values are actually Go values under the hood, meaning Go's garbage collector automatically handles memory management for the shell language without requiring a custom implementation. 💼 SPONSORS [{"name": "Fly.io", "url": "https://fly.io"}, {"name": "Retool", "url": "https://retool.com/changelog"}, {"name": "Timescale", "url": "https://timescale.com/ai"}] 🏷️ Go Programming, Shell Development, Systems Programming, Cross-Platform Development, Programming Language Design

Never miss Chi Shao's insights

Subscribe to get AI-powered summaries of Chi Shao's podcast appearances delivered to your inbox weekly.

Start Free Today

No credit card required • Free tier available