Choose to learn Java or Python?

This should give you an idea of the types of companies overseas looking for Python or Java devs


 
Another perspective: Python is a pretty good language to interview in as well if you're doing technical tests/whiteboard coding (urgh!). Syntax is terse yet very easy to read which makes it great for interviews. But using Python in interviews largely depends on your role. Some companies want you to do it in the language they're hiring for, others won't care. To sum up, its a language definitely worth knowing. But as others have mentioned, knowing both is a good idea.
 
I would say start with Java, get used to programming, then later do python.
Python to me is probably a trickier language if you dont know a little bit of normal programming
 
Python is reckon is more flexible and fits into other non-developer jobs quite well too and will likely let you understand other similar languages or tools better.

Java is very one track minded, my experience being very limited with it.
 
Java is very one track minded, my experience being very limited with it.
It's like C# - not particularly great at anything, but capable of everything. Knowing either of the two is a must of you want to keep your job options open.

Python is about the easiest language to learn and you can easily do it yourself.

OP should pick Java and do the same exercises in Python in parallel. The other way around is going to be frustrating like many have said.
 
Don't listen to anybody but also learn pseudo code.

Code:
If (selfDrivingCarAboutToCrash){
  don't;
}
 
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.
Neither. C# is better.

/lolz in C
 
I personally think you can do a lot more with Java, and other OOP type languages will get picked up quicker.
 
We still on this? OP has probably finished learning one of the languages already... :)
 
When you get down to brass tacks. Lets be honest Golang FTW!

/Lolz in gopher

C# devs are like the book keepers in development world. Boring..


j0gld2s2skq31.jpg

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.

If you're starting from scratch, I highly doubt this one course will prepare you enough to get a Java or Python developer job.

This will set you on the path to learning to program and you'll need to find a company willing to take on a fresh developer. Until you have actual experience building software all your training and courses just show that you have what it takes to learn to program, but no one's going to think of you as a Python or Java developer because you did some courses. Rather you'll be viewed as an aspiring developer who knows some Java or some Python.

What you focus on when learn to program, is programming patterns and how to solve programming problems. For that either language will do.

Having said that, I would go spend a weekend learning both. You can do quite a lot in 4-6 hours of learning by yourself and it's enough time for you to get a feel for a language. By that point you'll cover things like variables, conditionals, loops and functions (maybe classes, depending how fast you are) and by then you'll probably like one more than another. So go with whichever one you like more.
 
View attachment 1257910



If you're starting from scratch, I highly doubt this one course will prepare you enough to get a Java or Python developer job.

This will set you on the path to learning to program and you'll need to find a company willing to take on a fresh developer. Until you have actual experience building software all your training and courses just show that you have what it takes to learn to program, but no one's going to think of you as a Python or Java developer because you did some courses. Rather you'll be viewed as an aspiring developer who knows some Java or some Python.

What you focus on when learn to program, is programming patterns and how to solve programming problems. For that either language will do.

Having said that, I would go spend a weekend learning both. You can do quite a lot in 4-6 hours of learning by yourself and it's enough time for you to get a feel for a language. By that point you'll cover things like variables, conditionals, loops and functions (maybe classes, depending how fast you are) and by then you'll probably like one more than another. So go with whichever one you like more.

Different approach here.

I learnt to code 5 years ago by building a little web app and googling literally everything (how to make button do x, how to save to database, how to query database, how to change colour of button, wtf is a loop, oh shii!t I screwed up my Git repo, etc etc etc) till I eventually could say, "done".
Of course, it was spaghetti code and it took quite long, but it 'worked' and I was really proud of it.

I built that web app with Python (Django).

I've never been good at courses (too slow and boring for me lol) so best thing for me was to jump into the deep end, probably swim deeper cause I was a noob back then and then learn my way out of it. I feel that way I ended up having a more solid understanding of the tech behind and could see it from multiple angles that I perhaps could only learn from constant trial & error.

My main language today is still Python and I'm doing contracting for 'startup' clients mostly based in the US and EU.
Also doing a touch of Javascript (Nodejs, Reactjs), Ruby/Rails and PHP nowadays.

So yea, I think just pick a language try build something with it.

You can learn the fundamental syntax of programming languages (especially python) pretty quickly - most courses focus almost exclusively on this.

Learning how everything fits together and putting it into practice is a totally different ball game and in my opinion can only be learnt by practicing and constantly trying new stuff.
 
You can't go wrong with either Java or Python in terms of marketability for a job.

Longer version:
My company uses languages as tools without favour.

I've written a LOT of Java, Ruby and Kotlin and Python.

For smaller applications Ruby and Python do well to get something out quickly.
Eventually as the app grows, it all starts to fall apart, especially when you have multiple developers.
Without exception applications build up cruft over time and you can't pause all feature development constantly for refactoring (well you can but I work for a company with essentially infinite money and even here that simply won't fly, it doesn't deliver value to our customers to have "perfect" code)

Python/Ruby isn't statically typed and static typing gives you a LOT of upfront validation benefits.
Having a typo cause a script to fail is something that gets old REALLY fast.
So if you code big applications in Python, you essentially end up needing 100% test coverage (including branches and try/catch/etc. nothing like a little typo in a catch statement).

So yeah for me, I write stuff in Python or Ruby if I don't see it being a mainstay.

Else I go with Kotlin these days, the static typing really buys me a LOT in terms of ease of mind.
The "upfront" benefit of Python is faster development but Kotlin is really powerful and you pay a hefty price in terms of maintainability and readability with Python (ie. typing information has HUGE benefits for readability)
 
Python/Ruby isn't statically typed and static typing gives you a LOT of upfront validation benefits.
Having a typo cause a script to fail is something that gets old REALLY fast.
So if you code big applications in Python, you essentially end up needing 100% test coverage (including branches and try/catch/etc. nothing like a little typo in a catch statement).

Python 3 (I think?) introduced type hints.. something like this:

Python:
def greeting(name: str) -> str:
    return 'Hello ' + name

But yeah, will always remain dynamically typed and hence no type checking baked in

 
Top
Sign up to the MyBroadband newsletter
X