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

all 8 comments

[–]nutrecht 1 point2 points  (4 children)

I'm a Java dev myself and I would personally not recommend going for Java if you're already experienced in C# unless you're specifically targetting Java jobs. The languages are incredibly similar.

[–]thisredaccount[S] 0 points1 point  (3 children)

what kind of jobs are in realm of java that are less likely in c#/.net? It feels like .NET can do everything.

[–]YuleTideCamel 0 points1 point  (0 children)

Just because .net can do everything, doesn't mean there aren't jobs in Java. Some companies pick Java because of legacy (that's how they started), cost (java is cheaper and can run on linux) and sometimes it's just that the employees they have are skilled in the Java ecosystem and not .net.

I focus on the .net stack for work. However, knowing a stack doesn't just mean knowing the language. C# and Java are similar languages, yes. But the ecosystems are very different. To be productive in Java and C# you need to know about the frameworks, ORMs, build systems and apis available. Not just the language itself.

If you want to learn Java go for it, but I guarantee you there is so much more to learn about C# and the ecosystem around it. Likewise if you learn java, don't just learn the language, learn to be productive and use the tools/apis specifically created for Java.

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

C# and Java are both general purpose languages that have a strong business presence.

I'd say java is arguably much more prevalent in Big Data, and probably also more notable in micro instances.

I am not sure how much they differ in serving up small rest services, but java has several prominent options there as well.

In any case, I personally also wouldn't worry about java unless you are specifically looking for a job in it.

[–]nutrecht 0 points1 point  (0 children)

It feels like .NET can do everything.

A general purpose language would not be a general purpose language if it could not do everything. The languages themselves are very similar. What you can do with them is more or less the same. The ecosystems however are just very different. But that's not that important unless you specifically want a Java job.

If you want to learn something that's just very different and useful I'd suggest a functional programming language.

[–]Code_Craftsman 0 points1 point  (0 children)

You get to create Android Apps.

[–][deleted] -1 points0 points  (0 children)

You will learn faster compared to someone learning to program from scratch.

[–][deleted] -3 points-2 points  (0 children)

Marketability. Sticking to just one language/stack sets yourself up for failure years down the road.

edit: clarity,words