Java question regarding learning (to do with the Google vs Oracle situation)

1    06 Jul 2015 07:29 by u/condot

Hey all!

I've been learning a bit of C# in classes and JS in my spare time, but I've always enjoyed Java for the language syntax and the cross platform component of it. I've been thinking about putting more of a focus on learning it than C#/JS but my primary concern is things I've been hearing regarding the Oracle/Google situation. I don't exactly have an interest in developing solely for Android at this point (maybe in the future as an additional project but who knows) but more for PC/Mac/Linux (or web backend). At this stage I know the law suit is between the use of Java in Android, but I'm concerned whether what happens might impact traditional desktop application development (I saw some mention of Java APIs or something being an issue).

I'm sorry if this question seems quite stupid but I'm not really following whats been going on, is Java in a stable position to go ahead and learn? Or phrased differently, would Java be a wise decision to settle down on as a 'primary' language for a new developer?

PS: I haven't slept for about day and a half so excuse my grammatical errors or things that don't make complete sense, I will clarify when not as tired.

4 comments

1

Personally, I don't think you should be worried, given Java is huge behemoth and will not easily vanish in my opinion. If you are still worried, however, you should feel comfortable continuing with C#. In fact, C# and Java are very similar, and I'd say if you know C#, you will already implicitly know Java. Remember that Java is very corporate, and can't move as fast as C# could. As a result, I see C# as an improvement over Java, in a sense that it can do the exact same plus more. If you're comfortable with C#, you will have no trouble learning Java's syntax in less than a day, in case you really want to make that Android application.

The other way around, from Java to C#, might take you a wee bit more time, given there are more things to learn like properties, generators (yield), operator overloading and such. As a final remark, I'd like to say that .NET is turning more cross-platform friendly by the day with Roslyn, and you may use ASP.NET for creating web applications. Did you know Voat was made in C# and ASP.NET?

0

Yes I did, but I heard that ASP.NET is quite restricted in scale? I mean, the chances of me creating something that gets to that point is very slim but I just like to hear all bits of information on a subject to stay informed.

But what you do say is pretty reassuring. I do enjoy C# but my biggest concern was the cross platform (or lack of), but I did notice Microsoft are slowly changing that. What you said is pretty comforting and I think its wise I just stick to C# until I get more comfortable with it before making any more decisions.

Thank you for your reply! Very helpful!

1

These days there's a huge circlejerk concerning scalability. In practice, however, it often doesn't matter, as in many cases the bottlenecks lie somewhere else, if that amount of data throughput is even met. By the time it actually becomes a problem, you should look into how things can get improved or not. Of course, it doesn't hurt to create your service / program with optimization and scalability in your mind, but it shouldn't be a primary concern unless you're Amazon. Pre-mature optimization is the root of all evil; first get it to work, optimize (or scale) later.

0

Very, very helpful! Thank you.