Six Compilers Worth Knowing: From LLVM's Foundations to the Tools That Ship Your JavaScript
Compilers sit under everything else in software, yet most developers only meet them through error messages. This comparison looks at six open-source compiler projects that shape modern development, from the infrastructure that powers whole languages to the transpilers and framework compilers that turn source into what actually runs.
Living article: rankings and health notes are re-checked against GitHub and community data. Ratings are GitPalace community ratings; stars are GitHub stars.
LLVM is the modular compiler infrastructure that underpins Clang, Rust, Swift, and many other languages. It provides the intermediate representation, optimization passes, and code generators that language authors build on instead of writing backends from scratch. It's aimed at compiler engineers, language designers, and anyone doing serious work on toolchains.
The Rust repository holds the rustc compiler, standard library, and official documentation for the language. Its borrow checker and type system are the reason Rust can offer memory safety without garbage collection. It's for systems programmers and increasingly for anyone building performance-sensitive tooling, including several other compilers on this list.
Babel is the long-standing JavaScript compiler that lets developers write modern syntax and ship code older environments can run. Its plugin architecture made it the testbed for new ECMAScript proposals and the engine behind JSX and countless framework transforms. It's for web teams that need fine-grained control over how their JavaScript is transformed.
SWC is a TypeScript and JavaScript compiler written in Rust that aims to be a drop-in, much faster replacement for Babel-style transformation. It powers the compilation step in several major frameworks and is usable as both a Rust crate and a JavaScript package. It's for teams whose build times have become a bottleneck.
Svelte is a UI framework that works as a compiler: it takes declarative components and emits small, targeted JavaScript that updates the DOM directly, with no virtual DOM at runtime. The compile-time approach is what gives it its small bundles and straightforward reactivity. It's for front-end developers who want framework ergonomics without shipping a framework runtime.
Kotlin is JetBrains' multiplatform language, and its repository contains the compiler that targets the JVM, JavaScript, and native code from a single source language. It became the preferred language for Android development while also serving server-side and shared-logic use cases. It's for developers who want a modern, concise language with a mature toolchain and IDE support.