Java performance numbers did not change when the concatenation order was reversed in the code in Appendix 1. However, using a mutable data type such as StringBuilder or StringBuffer dramatically improved the results.
What's worse is that there are warnings all over the 'net to not use string concatenation in a loop in Java. So, despite these warnings, they did that anyway and tout incorrect assumptions based on their faulty testing.
That's without even considering the other flaw you pointed out (not flushing after each write).