The server will be processing large amounts of data daily and needs to be fast.
Share
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
The best language is the language that you, and your team, know the best – you will do a better job writing your server in a language you are an expert in than a language you just picked up.
It also depends wildly on the details of your problem. You mentioned “lots of data”, but not what that means. That could be 100MB a day, 1TB a day, 15PB a day?
Is this big batch processing, or lots of little interactive operations?
Of the three specific languages you tagged in, Java, Scala, and Ruby, all three are reasonable choices that real companies have been successful in the market.
JVM hosted languages are generally going to be “faster” than traditional MRI Ruby, and both Java and Scala are generally “faster” than JRuby, when it comes to raw CPU capabilities.
Of the three, Scala probably offers the least familiar, most challenging paradigm for developers unfamiliar with it, but also has very good parallel and concurrent programming tools available in the core compared to the other options.
Finally, your end results will be influenced as substantially, if not more so, by the rest of the ecosystem you choose – the web or message handling stack, the data storage engine, and other concerns. They, perhaps, should dictate your language more than your language dictates your ecosystem.