Choose to learn Java or Python?

Spectralwarrior

Well-Known Member
Joined
Apr 27, 2019
Messages
165
Reaction score
130
If you are doing a course and they give you the choice to learn Java or Python which should one choose? Which will be most useful in the work environment internationally and in South Africa? Now and in future?

Thank you for any advice.
 
My experience here. Take with a pinch of salt.

Python is more prevalent in start ups and SMEs. Java almost exclusively used in big corporates.

I have python and a Java project can across my desk a couple of months ago was really easy to pick it up from my python knowledge.

I would say python, get to enjoy your career before you jump into a soul sapping corporate 9 to 5.

Edit: python is almost exclusively used in ML and other big data science. Barr that in mind if your chasing $$$ as well as a challenge.
 
If you are doing a course and they give you the choice to learn Java or Python which should one choose? Which will be most useful in the work environment internationally and in South Africa? Now and in future?

Thank you for any advice.
Java and C# are the staples locally(based on my experience finding a job). I learnt to code in C# but slowly moved to JavaScript. My hopes was to find a job in JS but it didn't materialize. For my current role, I did the test in JS but the company stack is mostly java with angular on the front end. I'm currently learning java for the job. It's all fluff at the end of the day but I would say you got a better shot at a job with java.

Which is most useful? Well what do you want to work on?

They both have a place in the world and both come with pros and cons.
 
I really like Python - apart from being an actual language, it is great to script in. Interactive (ipython), and semi-interactive (jupyter-notebook) are great for analyzing data and prototyping scripts.

For me, everything that’s not Python these days is C++, but Java is certainly more popular in SA and non-tech focused corporates worldwide.

To answer the question, I would say choose Python for the course, but learn Java too.
 
What I've noticed is a lot of small scripts or open source tend to be written in Python. On the other hand, it seems large companies loves Java/Kotlin.

There are a couple of banks and medical aid companies in ZA that all does their microservices in Java. As @s0lar, said small start-ups love to use whatever languages while larger established companies tend to use Microsoft or Oracle languages :)
 
Probably Python unless you aspire to do something specifically Java related. Given that Oracle did the dirty and made the JRE non-Free and requires a paid license for enterprise use, I'm not sure that it's future adoption is too bright in the corporate world which adopted it as a Free open source technology - but then you can can still get paid good money for doing COBOL if that's your bag so I guess there will be employment opportunities for Java for many years to come.

Java SE is quite a nice language to learn in terms of how it enforces certain good programming practices. Having said that, after considering many 'what's the best language to learn' threads on MyBB over the years, I've come to the conclusion that starting with a more relaxed language like Python isn't especially damaging for anyone with an aptitude for programming. Python has really come into its own as the Swiss Army Knife of programming languages and will probably see you right for 70 or 80% of situations.
 
I really like Python - apart from being an actual language, it is great to script in. Interactive (ipython), and semi-interactive (jupyter-notebook) are great for analyzing data and prototyping scripts.

For me, everything that’s not Python these days is C++, but Java is certainly more popular in SA and non-tech focused corporates worldwide.

To answer the question, I would say choose Python for the course, but learn Java too.
Third option: He can learn Rust and become rustguy:p
 
If you are doing a course and they give you the choice to learn Java or Python which should one choose? Which will be most useful in the work environment internationally and in South Africa? Now and in future?

Thank you for any advice.

Java for career, Python for education- they are different eco-systems.

There is a demand for all languages, so rather focus on what it can teach you as you will always end up coding in dozens of languages over your career. (I've coded in 6 languages in past three years alone).

Worth a watch
 
Java for career, Python for education- they are different eco-systems.

There is a demand for all languages, so rather focus on what it can teach you as you will always end up coding in dozens of languages over your career. (I've coded in 6 languages in past three years alone).

Worth a watch
Heh. If your team productivity goes up 25% due to not dealing with pointer/memory management, you should probably be thinking long and hard about that team. :p
 
Java is like unwanted body hair. Serves a purpose and some creeps will pay you good money for not shaving, but you cannot even look at yourself in the mirror afterwards.

Anyway, if you want work you can't go wrong with the body hair option, but you'll enjoy Python much more.
 
Heh. If your team productivity goes up 25% due to not dealing with pointer/memory management, you should probably be thinking long and hard about that team. :p

I've been coding for nearly four decades and the most productive way for me is to remove the cognitive complexity from coding.

This is through tooling, testing, planing, methodologies and language.

Whatever gets the job done correct and quick.
 
I've been coding for nearly four decades and the most productive way for me is to remove the cognitive complexity from coding.

This is through tooling, testing, planing, methodologies and language.

Whatever gets the job done correct and quick.
Agreed, although if memory allocation in a language like C++ (which has so many ways to obviate the problem of tracking it) creates such a load that the developers spend 25% of their time dealing with it, the problem is the developers, not the language. More than likely though, the claim is complete fiction.

(My 2c after 40 years of coding)
 
I would choose C# over Java, the whole day any day. It is a better language which is updated more frequently with modern features.

Python is popular, but I don't know how the job market for it looks, especially in SA, and also if you're not in a Data Science field.

JavaScript is always an option, although I personally think if you don't want to go pure front-end, you should learn it as a second language. JS does have a role in the backend, but smaller than .Net or the JVM languages.
 
Java will help you learn C more quickly.

Python is interesting and used academically, but Java into C++ is where it is at.

EDIT:

If you are familiar with java, python will take you a day to learn.

If you are familiar with python, java will take you 3 months to learn.
 
These days I think Javelin would be better to learn
 
Personally I'd go with Java as it will force you to learn structure, but that really depends on what your goal is /where you want to end up.

Learning a programming language is easy enough, your IDE will help with syntax, it's more a case of learning the concepts that's important.

In a work environment, I've worked with Java, PHP, C#, JS, Golang, and Powershell (yes, someone thought it was great to make an app consisting of only scripts and then use another tool to execute them); the important bit is just learn the concepts, what is oop, what is functional, what are the different design patterns, etc., if you want to go into business. If you just want to play around, then python is generally good as it's a scripting language as well, though latest C# also does top level statements now.
 
Top
Sign up to the MyBroadband newsletter
X