Please stay on-topic.
#Cleaned
#Cleaned
Just so you know, there are commercial MMORPGs running their servers written in Java. Although I have to agree, the performance-critical parts are probably written with C and JNI. Still, Java is perfectly capable for this.Quote:
No, he has a very valuable point. The point might be from the advice we gave him in his thread asking about programming languages and why we don't use Java, but it's still a good point. Java's socket layer is much slower than C#. There are uses for Java, and making a massive multiplayer server isn't one of them. Is it a useless project though? Well, the original programmer didn't know about NIO before posting here, and now he has something to research into and learn from. He learned Java in class and now he's going above and beyond what was taught by studying on his own, and I have no problem with that. Will the server be stable? Probably. Will the server be efficient? Probably not. Does that make the project useless? Not in my opinion.
I am pretty sure Runescape ran on Java and most likely still does.Quote:
Just so you know, there are commercial MMORPGs running their servers written in Java. Although I have to agree, the performance-critical parts are probably written with C and JNI. Still, Java is perfectly capable for this.
I'm not saying Java is useless or this project is useless. In fact, I did my best to clarify that. I also wasn't commenting on his code - Java is inefficient, that's all I was commenting on. I didn't say mine was better, I didn't say any source was better. I didn't say he should stop working on his source, I didn't say he wouldn't learn anything valuable from the project.Quote:
It shouldn't matter if the source is one of the greatest around or not, it is about the fact that he programming and learning new things which will increase his knowledge and experience. I am pretty sure your first C# source wasn't great either, what I am simply trying to say is: one will only learn by doing and experiencing.
Runscape: 4 January 2001Quote:
I am pretty sure Runescape ran on Java and most likely still does.
Actually the RS Pserver community has kinda mixed languages between Java, C# and C++. Although Java is the most used one.Quote:
As with all Java posts in this forum we see a lot of discussion about wether or not Java is capable for this kind of load. We see a lot of preference for C#. Spirted has given use a slight substanstation for this: Java's socket layer is slow. However, Netty, a common used NIO library for Java, is said to handle even up to 1m connections. A common example of a game server programmed in Java is RS - as SuperAids already pointed out. We see Java usage in the RS pserv community as well. They do not take C# even in concideration, so I have a feeling that things are a bit biased for both communities.
So far I have not been able to find a real good comparison/benchmark for the socket layers of Java and C#. I would really like to see such an comparison (preferably with equal workload) and I would engage to develop such a benchmark together. But even if the socket layer of Java has less throughput, I still think that it's only part of the deal.
Obviously code quality does matter, so you will need to think about the data structures, persistency latencies, handling of the packets. There are C# sources which have problems dealing only with a few clients. With only a few (mostly immature - as this thread) Java private servers going on, this is still a hard thing to measure.
[Only registered and activated users can see links. Click Here To Register...]Quote:
I still haven't seen any other good reasons not to use Java.
I'm sure there's at least one "high performance" 3rd party socket library for Java. I agree with the IDE part, although I never tried IntelliJ IDEA, NetBeans, or any of the other Java IDE alternatives, I just tried the horrible Eclipse IDE.Quote:
I would say the reasons not to use Java are bad IDE's, being handcuffed by the JVM, poor sockets, lack of support for basic types.
I've said this in the past, just because a language is used for a specific task, doesn't mean its suited to it.
Those are just comparisons of different languages, it doesn't really say a lot about why you shouldn't use Java for CO pserver development.Quote:
[Only registered and activated users can see links. Click Here To Register...]
Comparison of C Sharp and Java - Wikipedia, the free encyclopedia
Although probably outdated it still gives a good view on it.