News for hackers. Stuff that matters.
Re:Java is better than C++ for high speed trading systems by saghm on Thursday November 26, 2020 @03:13PM (#25223191)
> So I still prefer working low latency in C as it is more natural, native solution for managing problem where you absolutely need to control memory layouts, preallocated object pools, NUMA, compilation of decision trees to machine code, prefetcher, etc.

Out of curiosity, what was the rationale for writing the system in Java? Were the tradeoffs not obvious until too late, was the choice of language dictated by higher-ups, etc.?

Re:Java is better than C++ for high speed trading systems by lmilcin on Thursday November 26, 2020 @03:35PM (#25223331)
The rationale was there were no developers available with skills to work on a complex Common Lisp application.
Re:Java is better than C++ for high speed trading systems by peter_lawrey on Monday November 30, 2020 @06:27AM (#25252720)
Projects with limit time and resources can be completed faster with a high level language giving you more time to optimise it. A well optimised Java application can perform better than a poorly optimised C++ application.
Re:Java is better than C++ for high speed trading systems by stingraycharles on Thursday November 26, 2020 @03:30PM (#25223310)
Probably the usual suspect, it’s easier to find engineers that know Java than C/C++.
Re:Java is better than C++ for high speed trading systems by RobLach on Friday November 27, 2020 @02:55AM (#25226423)
And it’s a foolish assessment. Finding Java programmers who can navigate all the hoops of low latency Java is more difficult than finding a C programmer who can do the same with C.
Re:Java is better than C++ for high speed trading systems by lmilcin on Friday November 27, 2020 @10:32AM (#25229422)
There is couple of reasons for this.

If you choose Java for your project it usually means you don't care a lot about latency and performance (you care some, but not all that much compared to, for example, linux kernel development). You care more about managing larger codebase, having easy access to whole lot of frameworks and libraries, good development tools and easy development / deployment process.

Developers who have experience with Java are inevitably people who have mostly had experience with those kinds of projects of which I would say most are corporate backend systems or Android applications. It really is difficult to find any other projects.

On the other C is inflicted pain of having much harder development environment for the size of the project. You only use low level language like C when you have a specific need. Maybe you need to develop Set Top Box software, or video codec, or some device controller, or high performance quant library, that kind of stuff.

So it isn't really fault of Java developers to not know the stuff. It is natural result of Java being suited to a different type of projects than C is.