While I am a big fan of Python and personally, I donβt really like Java, in this case I have to admit that Java is the right way.
For many projects, Python performance is simply not a problem, but in your case even minor performance penalties will add up very quickly. I know that this is not a real-time simulation, but even for batch processing this is still a factor to consider. If it turns out that the load is too large for one virtual server, an implementation that is twice as fast will halve the cost of a virtual server.
For many projects, I would also argue that Python will allow you to develop a solution faster, but here I am not sure what will happen. Java has world-class development tools and enterprise-level platforms with a top box for parallel processing and cross-server deployment, while Python has solutions in this area, Java clearly has an advantage. You also have architectural features with Java that Python cannot match, such as Javaspaces.
I would say that C and C ++ impose too much development overhead for such a project. They are viable in the sense that if you are well acquainted with these languages, I am sure that this would be feasible, but in addition to opportunities for increasing productivity, they have nothing more to bring to the table.
C # is just a rewrite of Java. This is not bad if you are a Windows developer, and if you prefer Windows, I would use C # rather than Java, but if you don't care that Windows has no reason to care about C #.
Simon hibbs
source share