Go Time: Golang, Software Engineering

Writing a shell in Go

Nov 6, 2024
Qi Xiao, the creator of the Elvish shell, discusses the unique features of his shell implementation written in Go, aimed at improving user experience. He contrasts Elvish with traditional shells like Bash and ZSH, emphasizing its programming-like capabilities. The conversation dives into the challenges of developing a shell, including keyboard event handling and launching external programs. Qi shares insights on the broader impact of command-line interfaces in tech and the evolution of Go within cloud computing.
Ask episode
AI Snips
Chapters
Transcript
Episode notes
ANECDOTE

Elvish Origin Story

  • Qi Xiao found existing shells limiting and wanted to create a more powerful, customizable option.
  • He started Elvish 11 years ago and has been developing it on and off since then.
INSIGHT

Shell Definition

  • A shell is technically a terminal application like ls or vim.
  • However, it's special because it's the primary interface for launching other applications and managing the OS.
ANECDOTE

Johnny's Shell Journey

  • Johnny Boursiquot was inspired by the "hacker culture" depicted in movies using terminals.
  • This led him to explore shells and eventually embrace them on macOS.
Get the Snipd Podcast app to discover more snips from this episode
Get the app