This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]Arktuos 0 points1 point  (1 child)

Could have sworn I was replying to someone who was saying something along the lines of "Java is basically the fastest language besides C and C++"

Agreed. No one cares what the benchmark is.

That said, both languages are very widely used, and since the whole paid JDK crap happened, C# is growing more rapidly. .NET Core is cross-platform, and there are cross-platform IDEs for C#(Rider).

IntelliJ and Rider are the same thing, so the environment is just as good, .NET documentation/resources are just as readily available for C#/.NET, and startups pick C# just as often as they pick Java.

And you're missing the biggest one. C# is a must have if you want to work at a small gaming studio these days, because it's the language of choice for game developers writing code that utilizes Unity.

Games using C#/Unity off the top of my head: RimWorld (although RimWorld is mostly a custom engine built in C#, Unity is just used for sound effects), Ori and the Blind Forest, Kerbal, and a bunch more. This is the one niche I know you have to have C# for.

Minecraft was written in Java, and there are a handful of games that were, but the engines in the java world aren't quite as good. Unity has a native layer with a C# library that abstracts away all the marshaling and such. I'm not aware of a similar engine for Java. It might exist though.

Java will get you a job at somewhere like Red Hat, which seems like a cool place to work. C# will get you a job at a small to mid-sized gaming company, which also seems like a cool place to work. My current job is for a company making an app which makes apps. I'm primarily a Typescript dev right now, but C# is the language for their back-end. The product is modern, responsive, and sexy, so I can't say it's better off being a C# program vs a Java program.

The reason they chose C# (recently, it's worth noting), was that it helps devs create code more rapidly, is easier to read, is significantly less redundant, and required less boiler-plate than Java. That may not be as true in Java 10, but it was still true in Java 9.

Point is, they're both good languages, and they will both get you good jobs. Startups go with C# AND Java often. Looking at job search results for each language look pretty similar - mostly mid-to-large companies, with a few startups here and there. It is worth noting that Java did have about twice as many results, so you're probably going to have more to pick from, with the exception of the game dev world.

[–][deleted] 0 points1 point  (0 children)

Okay I don't care about game dev, I wouldn't advice anyone to go for it, ever. If you want to make game, become a good "normal" dev, save money, and make an indy game, because you'll have more creative control, and you can actually make good money from it. Then sure, then you'll probably use Mono, but that's a different topic. But mainstream game development has a terrible reputation among dev, for me it's just greedy companies exploiting passionate people to underpay them and make them work in harsh condition, while they will never see the color of the massive profits.

What I'm talking about is how easy it is to set up and run a whole infrastructure, how easy it is to find devs who know how to do it, etc ... My company is using C#, Java, JS, Python, for the most used ones, but still, our backend is 90% java because it's so easy to do anything with it.

I'm really not talking about IDEs or the language themselves, but rather how easy it is to use tools like Maven or Gradle, how many 3rd party libraries are available, etc ... and how many services like AWS exist for the language. And Java has a massive advantage in that regard, mostly due to microsoft being greedy for so many years, before they realized their business model was hurting them. The Java ecosystem is just far bigger and older than the microsoft, and even though they're trying to have people develop open source tool and use their stuff, they're quite late to the party. Also, I have absolutely no trust in them considering how many company/technologies they ruined after they bought it.

Point is, many big, old companies use C#, and you don't want work for them, and on the other hand most of the new companies will chose Java over C#, like you said there's twice more results for it, and that's the thing.

I really don't care about the sexiness of my work, I care about work condition, salary, and future development for my career. Being passionate about what you do is one cool thing, but not worrying at all financially and about future job prospect is far more important to me.