Cross Compilation Adventures

As someone who spends most of their time inside the Terminal app, I’ve come to appreciate the convenience of using custom CLI tools to streamline my workflow. However, I’ve always had one major gripe - remembering shell aliases and functions specific to each operating system ( macOS or Linux) is just not a good developer user experience. That’s why I’ve been itching to build my own cross-platform CLI tools that can work seamlessly across different systems.

In this series of blog posts, we’ll embark on an experiment to find the perfect programming language for building these cross-platform CLI tools. Our ideal language must have several key properties: it should be able to generate small, performant binaries that are cross-platform; easy to maintain and learn; and can cross-compile binaries for multiple target platforms from a single platform.

We’ll explore various languages, discuss their trade-offs, and share our experiences as we experiment with different solutions. Join me on this journey as we hunt down the ultimate language combination for building efficient, cross-platform CLI tools that will make your Terminal experience even more enjoyable!