Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

Java vs C#.

Praise the Sun!
Member
Joined
Dec 4, 2007
Messages
2,502
Reaction score
986
C# versus Java is a no brainer for me. Irrespective of that, I see that Java is still larger than C#, and C# is actually decreasing (in favor of NodeJS / Python and surprisingly C++). Granted, the numbers are a year old, but Github's Octoverse is usually a good source ( ).

Java used to be ahead of the competition for cross-platform applications. That's not strange, given the fact that they had barely any competition at all, the competition having a steep learning curve compared to Java. .NET has been ahead of Java since .NET 2.5 if I recall correctly. Java 9 (to be precise: from version 8 onwards) does a fine job of adding features to Java that have been in .NET for ages now (such as unsigned variables). I have always hated Java because it's outdated and it's prone to many security issues. Sure, Windows is also prone to security issues because of it's market share, but Oracle simply fails to patch security flaws in time, every time. Modern browsers actually started to disable the Java plugin by default because of prolonged security issues, and that's when Java died in the web scene. Even the IDE's for Java that are most recommended (Netbeans and Eclipse) look aged, and (yes this is still frustrating me) the lack of unsigned integers was a design flaw from the very beginning if you ask me (and they added support for unsigned integers in a rather crappy way as well IMO).

In the modern age, with for example microservices, I can't for the life of me explain why the JVM takes 512 MB of memory for a single, relatively small application, idle. I don't believe Java is suited for modern application design, but since most of the applications are pure legacy (especially in the finance / insurance market), I'm not surprised to see Java is still all that common. I think the numbers severely change if you look at more modern, e.g. cloud-native applications. I bet those are mostly written in C#, Python, JavaScript / TypeScript because they have a much smaller fingerprint, which is ideal for microservices.

Another thing I'd like to mention: I've been programming for about 6 years now, so I'm only a newbie. I however have had the opportunity to join a multinational about 2 years ago as a Software Engineer and have since traveled a ton, and have worked together with Software Engineers that have completely different backgrounds than myself (not only ethical but also in terms of education. Some having PhDs, others having Masters and some not having a degree at all).

One thing that I was able to confirm every time since I started on this 6 years ago: it's not the programming language that matters, it's really all about solving an issue. A programming language is a tool in solving said issue, and if you pick the wrong tool, you won't solve the issue. But unlike solving problems, picking the appropriate tool and how to manage this tool is easy to learn.
 
Joined
Sep 10, 2011
Messages
778
Reaction score
138
Above post is 100% accurate in that the language/library/framework will always be mostly irrelevant and that only the problem being solved matters.

However, in regards to if you want to go professional; the need for Java and C#/traditional developers is dying and being replaced quickly by JS/TS developers. But if you're bored of Java, you may just be in code burnout and trying to look for a scape goat by learning something new.

I would suggest JS if that's the case; but you will never master a language if you continue to switch and it will be very apparent in a professional environment if you're a jack of all trades, master of none. Your ideas and implementations will probably be very chaotic if you continue language hopping.
 
Initiate Mage
Joined
Apr 14, 2019
Messages
84
Reaction score
20
while java is platform independent and very slow c# will give u a syntax-similar language that is very very comfortable, fast, and strong in (only) the microsoft environment. i dont want to refer to mono yet, cuz its similar but different libs.

.NET Core is cross platform :junglejane:
 
Initiate Mage
Joined
May 9, 2019
Messages
5
Reaction score
5
Let's also say that C# have the best IDE atm : Visual Studio. And many tools such as Resharper (which is a a must-have for C# programmers) are very appreciated while programming.

I can totally undestand that java can be boring because that's a pretty verbose language, there aren't really much "syntax sugar" provided within the language.
 
Rogu3
Joined
May 11, 2012
Messages
933
Reaction score
508
Like what? What language features does Java have that C# doesn't?

The point I was trying to make was that it doesn't really matter. I mean we could sit here all day trying to pin point what's available in one and not the other, but for the purposes of this conversation and the OP, it doesn't matter.



Do you have your knowledge from the early 2000s? Because I would say, C# is ahead in terms of language features since version 3 (2007).
And btw, .net core runs well under linux, too ;)


I guess it's subjective, and I said "mainly" Windows applications. .NET Core is just starting to come out of the woodwork IMO. I'm not against C#, I work with C# literally everyday at work. They both have their pros and cons. They are both really powerful, and it's going to come down to what you're trying to program at the end of the day.

If you're just learning a language, write them on a dart board and take your shot. It really doesn't matter.

If you're trying to build something for production (to be released), then you're going to want to think about the pros and cons, compatibility, etc.
 
Back
Top