Lets say I am writing a server, which will run continuously and answer the queries of the client. Now what parameters (speed, memory, ease of use, quality etc.) should I consider to decide whether to use JAVA or to use C++ and how? How does system architecture decides this? Or they just choose the one in which they can found expertise?
|
|||
|
|
|
Expertise / Real time nature of your requirements. Amazon runs on Java - http://stackoverflow.com/questions/415360/what-types-of-technologies-does-amazon-com-use-internally so Java will definitely serve all of the business purposes and most of the perf needs. On the other hand, Around the world, I see C/C++ being used in cases where performance / latencies are measured in milliseconds, and the spiky nature of Java GC is not acceptable. Another reasoning to consider would be how solid do you expect this code base to be. Java is definitely more RAD than C/C++, and talent pool is huge. Final decision factor is your interfaces. If you are going to be needing other libraries that are available only for X language, then you got no choice! |
|||||||
|
|
Which are you most comfortable with ? Because working on a project where you struggle with the language is going to be a real pain... |
|||
|
|
|
There are some good answers already. I'll add a few more:
As far as performance goes, I doubt that you'll see a significant difference. Java imposes a huge penalty at start-up, but for a long-running server process, that doesn't matter. Once everything is up and running, Java is about as fast as native code. |
|||||||||||
|
