I've been programming for a while and I feel pretty good about my coding skills. However, I've heard from several people that Java is completely different from JavaScript and that skills from other programming languages don't really transfer. This is making me a bit anxious about picking it up. I'm relatively young and just starting to delve into the tech field. I understand that I'll eventually need to learn Java for my career goals. I already know C#, JavaScript, Python, Lua, and AutoHotkey, plus I'm currently learning Batch and PowerShell for automation. I'm familiar with object-oriented programming, and have generally found learning new languages to be manageable—as long as I can grasp the syntax. So, how challenging will it really be for me to learn Java? Am I overthinking this?
4 Answers
As long as you have a solid grasp of programming concepts like OOP, the language syntax is just a detail. I've been a software engineer for years and I'm still learning new languages. Remember, once you know how to think through problems, learning syntax becomes the smaller hurdle.
It's likely that you’re worrying more than necessary. Knowing C# and being comfortable with OOP means that Java will feel intuitive to you. The biggest adjustments might be related to the structured and verbose nature of Java compared to languages like JavaScript or Python. After you get through the initial learning curve, it will become much easier!
Learning Java shouldn't be too tough for you, especially since you already have a background in C#. Java isn't as special or difficult as people make it out to be; it just has its own quirks, much like any other language. Given what you know already, it should feel pretty straightforward!
True, I think it just boils down to spending time getting familiar with the language. I often find that perseverance is key when tackling something new.
If you're already comfortable with C#, you’ll likely find Java to be familiar enough. It's good to hear that Java delves into similar concepts!
Thanks for the reassurance! It’s relieving to hear that there’s similarity between the two.

I feel like gaining some real-world experience would help cement that understanding. I’ve done personal projects, but I want to learn on the job too. I'm thinking of taking my time with Java until I can dive deeper into using it in practical situations.