I'm thinking of writing an open-source library for investing / trading purposes. I already have some code scattered around my projects but it would be better to extract common stuff to a lib. Being more or less proficient in Java and Rust I consider these two languages equally.
So I wanted to "measure" what would be a better fit and I came up with the following table:<p>https://ibb.co/cL3GJT9<p>So 'Metric' is what I'm looking at when deciding. 'Weight' is my (a bit subjective) importance for the metric. 'Value' is how good language X is for this metric, and 'Score' is the metric multiplied by the value.
Some metrics are positive, some are negative, but I made 'Value' to be 'more is better' for all of them.
My metrics:
performance - It hurts to say, but I've tested some very first task that I would like to do and Java turns out to be almost 50% quicker.
fun - It's about my feeling when working in this language.
popularity - I will care about adoption rate and pull requests from other developers.
syntax - This one is more about expressiveness and being less error-prone.
testing - It seems to me that Java is more mature here, for example, mutation testing is a lot better than in Rust.
competition - I guess it's the reverse of popularity. I haven't found anything like this in Rust's world, but similar stuff exists in Java.<p>My question is: What did I miss? What do you think? The values above are a bit subjective and I can tweak them to show that Java's better for this.
I'm asking here to get more objective input.
Thanks.
I’d start with search queries like “algorithmic trading {languages,software}” and figure out which language your potential users are using. E.g. quick search shows that java/c++ are used in HFT, while python is used to quickly test ideas. Also check if your code may be ported to trading platforms, used by people who are not into full-blown programming and/or wheel reinvention. Or if it exists there already.