The Ada article came out in 2007; looks like these were added to C++ in 2011?
I didn’t know C++ supported user-defined literals! I got the same idea a while ago and thought it’d be a good fit for C-like languages.
F# also supports the underscores, but arbitrary bases are rare – which I find very odd. It really does not make the lexer more complicated…