It's been a while, but I thought that CUPS filters were just executables with an input stream and an output stream, so you could write them in whatever you wanted?
correct - but they are non portable. Which means that all the nice features that Mac drivers have are not available on Linux (or the printing is screwed up, etc.).
I wish there was some way to make portable/obfuscated filter drivers, so that vendors could ship them and be usable on all CUPS platforms.