The thread's topic seems to involve too many other sub-topics and instead of discussing why C++ is bad or not for ATSs (although no one could argue this language is by far the most frequently used especially in the HFT) I would propose a short list of questions for those interested:
a) How latency sensitive shout the ATS be? Do we care about milliseconds?
b) What programming langues do brokers APIs support?
c) What OSs do we favor? Stick to MS or think about cross-platformity?
d) Are we extensively back-testing with tick-by-tick data or bar data is sufficient?
e) Do we have legacy code to maintain?
f) What's the time to market? Do you know that you can write trading applications in Python too or even excel?
g) Very important: how much $$$ and time can we afford to spend for this job? Should this project be financed by the day-to-day's job revenues or we just won a couple of millions in a lottery and are willing to hire also a team of gurus?
h) What about legal stuff? In some cases you have to comply with local regulations, which are getting tougher and tougher.
My 2 cents about the programming language of choice: if I don't care about milliseconds and back-tests with tick-by-tick data, but need to build scalable applications I use C# (I'm just not so proficient in Java), otherwise I stick to some simple guidelines similar to what sidm listed and do C++ and I'm very happy with that.
Btw, there's an entire book about this topic (
http://www.amazon.com/Building-Automated-Trading-Systems-Introduction/dp/0750682515) ... it has some nice ideas, but I wouldn't spend too much time with it.
For me personally, Building Automated Trading systems is like painting for an artist ... each painting is very different from the previous.