Is it machine latency or development latency?
I am back talking about latency. Last week it was all about the characteristics of latency, but now I want to point out an interesting discussion that went on InfoQ around low latency development – with a focus on financial systems.
I am a hardcore guy myself. Give me C code every day of the week – C++ allows developers to go wild – and Java does too much on its own for my taste. I am all for control when I develop. So the virtual panel on InfoQ was very interesting for me, as it dealt with the use of Java for low latency jobs. What I liked best is probably Martin Thompson’s answer to the last question on the suitability of Java over C++ for high frequency trading systems:
With sufficient time, I can make a C/C++/ASM program perform better than Java, but there is not that much in it these days. Java is often the much quicker delivery route […]
Others in this panel had similar notions here and there, and I think it is a valid point: it isn’t just our program’s latency that we need to deal with these days, but also our speed of delivery to the market – how much time will it take us to crank a new algorithm/business flow/use case/module to the market versus how polished/fast/responsive it is.
We are probably getting in a lot of fields in programming where time to market becomes more critical than technical superiority.
Go read that latency post and the comments there – good stuff.