LaTeX3 and expl3

I’ve seen a few people here and there refer to LaTeX3 and expl3 interchangeably. While they’re very related, they are distinct from each other.

The format-independent programming layer powering LaTeX3. Provides tools to make programming in a TeX environment saner. Under development, maintained, and stable.
The new format of LaTeX, successor to LaTeX2e. Under development and not yet released.

expl3 is ready for primetime, but LaTeX3 is not. That said, many ideas from LaTeX3 are available for use in a status quo referred to as ‘LaTeX3 in 2e’. Packages like xparse, l3keys2e, and xtemplate provide an idea of what working in LaTeX3 is going to feel like.

It’s important to note that the general format of

\documentclass{<who knows?>}
hello, \emph{world}

is not likely to change (lest the project fail to be adopted). While the top-level input syntax hasn’t really been nailed down, I suspect most of the changes will be scoped to the programming and document-design levels.

Happy TeXing!