% operator -- did Python or C++/boost come first?

Roy Smith roy at panix.com
Mon Jul 14 22:28:22 CEST 2003

Up until recently, Python was the only language I'd ever seen that
used the % operator for string replacement.  Today, I was perusing the
C++ Boost libraries, and discoverd that boost::format uses a very
similar syntax.  The following lines print the same thing in Python
and C++, respectively.

print "int->%i, string->%s" % (42, "wugga, wugga")
cout << boost::format ("int->%i, string->%s\n") % 42 % "wugga, wugga";

The question is, which came first?  Did boost adapt the Python syntax,
or the other way around, or did they both evolve in parallel?  I'm not
talking about the use of % in the C/printf style format specifier, but
the use of % as an operator to connect the format specifier with the
data to be formatted.

More information about the Python-list mailing list