If you don't mind being "stuck" with MSFT, use Visual C++.NET. That is _the_ perfect compromise between pedal to the medal speed, and productivity. Visual C++.NET and C# are essentially the same, except the C++ compiler is far more mature. 1) Try writing a FIX engine in C. Measure speed in messages per second. 2) Do the same in C++ (using object orientation - otherwise, what is the point over C?). 3) Do the same in Visual C++.NET 4) Do the same in C# 5) Do the same in Java This will take a long time, but you can answer your own questions. nitro [What is my experience? You can't beat 1 for speed, period, but for anything except systems programs, it makes no sense.]