Welcome to NexusFi: the best trading community on the planet, with over 150,000 members Sign Up Now for Free
Genuine reviews from real traders, not fake reviews from stealth vendors
Quality education from leading professional traders
We are a friendly, helpful, and positive community
We do not tolerate rude behavior, trolling, or vendors advertising in posts
We are here to help, just let us know what you need
You'll need to register in order to view the content of the threads and start contributing to our community. It's free for basic access, or support us by becoming an Elite Member -- see if you qualify for a discount below.
-- Big Mike, Site Administrator
(If you already have an account, login at the top of the page)
Ditto. It all depends on what you want to do. If you scalp, you want to squeeze last microsecond out of your algorithms. If you don't, it has to be "fast enough" - i.e. it has to process a signal before next one enters the system. That said, with proper architecture most delays would be due to latency rather than language. C++ over Java makes sense if latency is already reduced to nothing (i.e. datacenter next to exchange) and you do want to squeeze every last microsecond out of your algorithms. You can also make a case that whatever little advantage C++ has can be negated by fixed amount of additional resources (I'm talking about CPU here, not memory, memory management is a different topic). However, in apple-to-apple comparison (identical environment, identical architecture, etc) - C++ would be an easy pick.
As for the hiring firm – it's never apple-to-apple and Java offers better and faster development cycle.
Can you help answer these questions from other members on NexusFi?
I've found Javascript to be superior to C++ in several way. I've found Perl to be superior to C++ in several ways. I've found Python to be superior to C++ in several ways. So?
Are you saying that Fortran program will run faster, given proper design in both cases? I was addressing need for speed in that part of the assessment. I doubt it, both are compiled languages. Or are you saying that the system would be easier to design in Fortran?
Yes, I am saying that. It's both marginally faster (not all compilers are born equal) with the same amount of optimization effort, and easier to design with, since Fortran has no pointers, is fully static and inherently parallel. There's good, non-legacy reason why it's still the most commonly used language in HPC.
The problem in TS's case though, is that he is probably bound by a certain budget that limits him to a particular API, of which it's more difficult to find a native Fortran API.
I was commenting about the use case that you're referring to: exchange protocols are generally language-agnostic, so there's nothing saying C++ is superior if your application is latency-sensitive.
Intel only makes 2 compilers. One for C/C++ and the other is for Fortran. There is probably a reason why they still make a compiler for Fortran even though relatively few programmers actually know Fortran. Although I have never used it, for numerical applications and speed, I bet it really kicks ass.
Really appreciate your insights. Curious to hear more of your thoughts on Python... I keep hearing/reading that R+Python has become very popular in the HF space.