6 ms·
Right now many trading houses with huge IT budgets are choosing Java for their high frequency trading systems. This is an arena where microseconds matter and th
by SeanDav 11y ago
Right now many trading houses with huge IT budgets are choosing Java for their high frequency trading systems. This is an arena where microseconds matter and the fact that Java is a viable choice, says a lot about the speed and power of modern Java.
- riskable 11y agoActually, they've moved beyond that now. The trend in high speed trading is towards FPGAs. "Java don't play that." (not in any serious way). Java in finance is actually slowly eroding overall. Performance-critical logic is being moved into Python modules written in C. "That's how we do it" anyway. The trouble is that Java code development is too slow and just getting your code deployed into a test environment is often ridiculously complicated (lots of middleware) whereas with Python "you write, you run, you're done."
- w8rbt 11y agoBoost Python is great for C++ shops too.
- uxcn 11y agoIt's still popular. For example, LMAX still uses Java. There were a number of things you needed to avoid if you wanted to use it where latency mattered though. GC pauses are fairly detrimental. Where latency is really critical, things are implemented in FPGA though.
- pjmlp 11y agoAlthough I guess that is telling that one of LMAX authors (Martin Thompson) has moved back to support C++ alongside Java on his newer product. http://mechanical-sympathy.blogspot.de/ http://mechanical-sympathy.blogspot.de/ I guess C++ progress in the last years has helped this.
- uxcn 11y agoEven before 0x, a there was definitely a genuine performance need that drove a lot of stuff from Java to C++. A lot of people I know would write Javaish code with Boost. A lot of the stuff that makes Java great for building high level systems quickly is still kind of missing from formal C++ though (IoC, JMX, etc...), and it would have been nice to see some of the internal stuff get open sourced. I wonder if people are starting to avoid Java because of Oracle (e.g. vs Google).
- pjmlp 11y agoBefore 0x, Java didn't matter for production code as the 1.3 with JIT came later than that. But in those days it was a big mess to write portable C++ code, given the discrepancies between compilers. I don't miss those CORBA and DCOM libraries, but I miss OWL and VCL. Java is still quite strong in the Fortune 500, and most managers don't care about Oracle vs Google, as it was caused by Google trying to avoid to pay Sun anyway. However I sense some signs similar to when CA started loosing CLIPPER's direction, or when Borland attitudes started scaring people away from Delphi and C++ Builder. On the other hand, Java is just too big and it will take generations to replace all those systems.
- uxcn 11y agoThe earliest version of Java I worked with in production was 1.5, but the group I was working with had been using it in production a long time before that. There were other groups using Java for a lot of other things (JDBC, JMS, etc...). All the stuff I worked with relied on core Java and NIO though, which I'm not entirely sure how a lot of things were done before 1.5. Java is definitely still really popular for development overall (TIOBE 2015 #1). My personal concern with Oracle vs. Google though is that Oracle does not own the language, and the copyright claim on APIs seems pretty aggressive. The JVM and Java have open specifications which in theory anyone should be allowed to implement (practice is admittedly a bit different). Even the official JDK was open source, which Oracle seems a bit hostile toward considering what they've done with purchases like MySQL and how the community largely responded. Claiming copyright on an API seems somewhat akin to Keurig 2.0. Although, I think courts are having trouble keeping pace with technology.