On Sunday, 14 December 2014 at 17:09:31 UTC, Paulo Pinto wrote:
On Sunday, 14 December 2014 at 14:09:57 UTC, Joakim wrote:
I don't doubt that this has been your experience on enterprise
projects with a known and stable userbase, but you can't tell
me you were able to support the same amount of users per
server using java/.net as C++. Paying for more servers but
less for java/.net development may be a worthwhile tradeoff
for such stable enterprise rollouts, but any time you have to
scale, I doubt java/.net can keep up.
You mean scale like Twitter and LinkedIn?
Java NIO has the potential to be really scalable, and the new
Netty apparently uses it to great effect. You'll never be able
to park as many connections using Java as you would in C, but
concurrent throughput is probably pretty close when done properly.
My issue with Java is just that because of how the library is
designed, you're fighting against it by trying to limit dynamic
allocations, so it will probably never be a terribly natural
experience. At the same time, it is waaaaay easier to find
competent Java programmers, which is a significant factor when
making a business decision.
My personal preference is still for C++ done in a similar manner
as vibe.d as I think it's the sweet spot between ease of use and
scalability provided you have a talented team, but I've seen Java
be used successfully for servicing hundreds of millions of users
with a high concurrent throughput.