I have been programming in Python for a while now, and I'd like to learn a more "hireable" language like Java or the C/C++/C# family. I'm acquainted with (though not necessarily good at) all of them. I'm leaning towards Java because it runs just about everywhere, and I'd like to start developing for the Android.
Coming from a dynamic language, what is the best way for me to learn Java? Or should I learn a C based language instead?
Java and Python are two of the most popular programming languages. Of the two, Java is the faster language, but Python is simpler and easier to learn. Each is well-established, platform-independent, and part of a large, supportive community. But that is where the similarities end.
If you have prior knowledge of C language and the concepts, learning Java becomes easier. Java can be downloaded easily and anyone can download the JRE and run the Java program. There are many tutorials available on the tutorialspoint website where you can learn Java from scratch even without much coding background.
You may use one of the course Java for beginners (it will be fast and easy for you) or Java for Python software developers. For example:. Javarevisited — it is a huge website with good articles, courses and interesting problems to solve.
Java too provides an option for game development, but it's not as popular as Python in this domain. If you want to create some high-end graphics then Python is the best option for this as it provides you with all kinds of libraries and powerful engines. You can't develop a game entirely on Python or Java.
I would take a project you've implemented in Python and try converting it to Java. Since you already know basic programming fundamentals, it'll probably be easier if you take things you know how to do and figure out how you'd do the same sort of operations in Java (or whatever new language you want to learn).
In the end, the only way to learn to write code, is to write more code.
Java and C# will be less of a step away from Python than would C or C++ because Java, C#, and Python all have automatic memory management. A good Java book is Thinking in Java by Bruce Eckel. It starts at an introductory level, but also has a lot of depth.
The big difference with the language coming from Python is the fact that all variables are typed. The other hard thing with Java has to do with the bewildering array of Java APIs out there. The fact that you are interested in Android is an advantage here. After becoming comfortable with the core language, I suggest you start learning the Android API and focus on becoming an Android expert. I think Android will be a growing market for a while.
Good luck!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With