It's 2025, and I'm at a decision point in my programming journey. I want to dive deep into one language and can't decide between Python and Java.
Here's my context: i am a developer with 10 year experience in java and 5 years in python
-
Python: It's dominating fields like AI/ML, data science, web development, and automation. With its growing libraries and frameworks, it feels like a must-know for cutting-edge tech.
-
Java: Despite being older, it's still a powerhouse for enterprise systems, Android development (with Kotlin in the mix), and large-scale backend solutions. Its stability and performance are undeniable.
is there a good reason to have java as your first language over languages like python or js?
Videos
If yes wich path ? Microservices > Unit Tests > Spring ? I am new in programming and i start with Python and Flask but i really like the Java Structure
I'm a web developer working with HTML, CSS and PHP and I know enough Javascript to get by. When I was a kid I used to code in Visual Basic, and I wanted to get back into that style of programming. So I started taking a C Sharp course.
However, I'm starting to think I'm really marginalizing myself by learning C sharp, because it seems really specific to enterprise apps (or games with Unity) and not widely used. I'd rather learn something more relevant to the industry, particularly that I can use with web applications, but also standalone Windows or console apps.
So now I'm looking into Java vs. Python. I've heard Java is the better place to start because it's easier to learn and more familiar with C languages and Javascript. Knowing Java might also help me improve my JS. But I feel like most of the interesting applications I see are written with Python. I know you can do those same things in Java, like machine learning and web scraping apps, but I haven't seen it done.
Can someone please give me an example of the kinds of applications people are building with Java vs. Python?
-
They can both do the same things. They each have some strengths and weaknesses, which are only important if you actually know how to take advantage of them.
-
Knowing java will not help you with JS anymore than python or any other language.
-
I would worry less about what is used for what, and worry more about your personal preference. Try them out, see what clicks better for you. Don't learn a language because it's the hot thing of the week, java and python programmers will be needed for a long, long time.
That's purely my personal take on it, someone else will come around and have a much more detailed answer which will probably be more to what you are looking for.
I'd rather learn something more relevant to the industry, particularly that I can use with web applications, but also standalone Windows or console apps.
Your use case perfectly describes C#, though. It can be and is used for everything you listed.
I’m going to use the time over Christmas to get deeper into a new language and I’m trying to figure what’s better for jobs next year? I’m from a php/JavaScript background and looking to move away from that. I have some experience with both and I’m leaning in on Python as I enjoy that more.
Hey OP personally I'd go python. Then maybe once you get the hang of that take up java.
You can then sneak python in your day to day to write little scripts etc whereas you wouldn't really do that with java.
Python is a great skill to have!
Senior python dev here
Id go Java first because after that learning every other language is much easier. I picked up Python in 2 weeks after learning Java
Hey guys,
I just started programming with the end goal of one day becoming an programmer one day but the catch is I don't know in what - web development, Android, iOS , ect.
For those who started programming did you already have an end goal in mind of what type of programmer to be?
I chose Java to start off with and been going at it hard but was thinking I should have done python since it's the most popular.
My goal was to go deep in one language and just learn the ins and outs of it to understand programming but chose Java for some reason but realized the python community is larger.
Am I approaching this wrong ? Any insight and Input????
Hi everyone, so as long as I know, Python is an easier language to start learning programming, however, I might have a greater oportunity of getting a kind of internship or even (long term goal, crossing fingers) a job at a company that works with Java because of connections.
What is your experience?
I feel like I have implemented some complex projects in python (multi-modules). However whenever I am trying to read a java application I get totally lost. I understand the general project structure and feel like I can generally understand what individual classes and methods are doing...
However when it comes to piecing them together into how they are all logically interacting it becomes VERY difficult (or impossible) for me.
Maybe my java experience is just too limited and I definitely still don't understand a lot of the patterns or even syntax in the language (for example, generics, try-catch, are all kind of hard for me to implement).
Any advice on how to get better at just understanding what an application is doing? Am I just experiencing noob pains?
What language is more advantageous, Java or Python? What do you think?
Hi all,
As someone who is relatively knew to both Python and Java I'm just now deciding which language I want to explore deeper into.
As far as I can tell from my research the main benefits to Python are that
-
It is very user friendly, and
-
There are lots of modules available that are interesting to experiment with.
However, admittedly, I am drawn more to learning Java. As a general consensus it seems to be:
-
much faster
-
heavily embedded in the industry
I hear from various sources online that Java seems to be on the way out and Python on the way in but I don't know if that's actually the case? I can't imagine, due to how heavily used Java is, that it is going anywhere anytime soon.
Another thing everyone talks about is dynamically typed vs. statically typed. Perhaps it was just because I started with Java but I feel far more comfortable using a statically typed language over Python. Am I missing out on something here or do other people feel the same?
Also, just in terms of future job possibilities and the use of Python in the industry I would assume that Java or even C / C++ would be more likely to propagate throughout the future just because of the speed? Or am I just over exaggerating how important the speed of the application actually is?
Any opinions you have on this question are greatly appreciated :)
Thanks.
Hello! I'm a bot!
It looks to me like your post might be better suited for r/learnpython, a sub geared towards questions and learning more about python regardless of how advanced your question might be. That said, I am a bot and it is hard to tell. Please follow the subs rules and guidelines when you do post there, it'll help you get better answers faster.
Show r/learnpython the code you have tried and describe in detail where you are stuck. If you are getting an error message, include the full block of text it spits out. Quality answers take time to write out, and many times other users will need to ask clarifying questions. Be patient and help them help you.
You can also ask this question in the Python discord, a large, friendly community focused around the Python programming language, open to those who wish to learn the language or improve their skills, as well as those looking to help others.
README | FAQ | this bot is written and managed by u/IAmKindOfCreative
This bot is currently under development and experiencing changes to improve its usefulness
You are definitely overvaluing speed (and probably exaggerating the speed difference).
Python has been one of the fastest growing languages in terms of job prospects, but it entirely depends on what you want to do. If you want to write GPU drivers, Python isn't the language for you. But if you plan to do data science or full stack web development, then Python may well be the right language.
You seem to be desperately trying to find some justification to choose Java. If you want to choose Java, just do so. You don't need to agonize over static/dynamic typing or other trivialities of the language to justify it. Java isn't going away anytime in the foreseeable future.
Hi,
I am a university graduate who would like to change my career to IT. I want to apply for a requalification course and basically I have two options available - both courses are "Programmer of web applications" - one is in Java and the other is in Python.
I need some help from someone who knows the industry and the pros and cons of choosing either language. I have read a lot of articles and watched youtube videos and it's practically 50:50. I am leaning towards Python though.
I know your first question will be: What do you want to do in IT?
But that's the problem, I don't know. I have never worked in IT and I haven't experienced different types or jobs to be able to know which I like the most. It's like asking me which food from the menu I liked the most before I had a chance to taste it. I like design, so possibly frontend. But I am open to anything. I think fullstack would be a good skillset to have to find lots of work?
What I know:
Java is more complex to write, harder to learn for a beginner. It is used in web development, Android and in a lot of big companies. It is supposedly harder to change fields in IT if you know Java. The popularity of it is slightly decreasing and the community as well (from what I've heard).
Python is easier to write and read, is used in machine learning and AI and databases. Generally slower than Java to execute, has more potential when you are trying to change fields in IT as it is more widely used.
That's what I know. What I need, is help with this question: As someone (a teacher) who is trying to change career and do something that will enable me to find work easily, which language should I choose to learn to open myself to most job opportunities, something that will be a good start, give me most options for the future and will not lock me in in a specific field, should I realise I do not like it. How should I make a decision? Can you tell me in more detail which language is used in which specific types of jobs and what kind of stuff I could do should I learn Python/Java?
Thank you in advance!
Ben
So i will be starting college next year and I will be partaking in a network engineering and software dev program and I checked the syllabus and its heavily based on Object Oriented Java and I for now know nothing about java but I do have a fair understanding on the basics of python. So here is the main question, In the 5ish months that i do have free time what language do i start to learn and get better at beforehand? Cause here is the thing, I want to earn some money while i am in the 1/2nd sem of the course and wanted to know what would be better for earning money online and if I should go for Java or Python?
Cause i start learning Python and its coding tasks are so difficult((
I have been studying programming for the last six months. For the first four months I studied Python, and then I started studying studying data structures and algorithms. For data structures and algorithms, I picked the books where the code was written in Python. Now that I am about to finish that, I have decided to pick Algorithms by Robert Sedgewick. In this book all the code is written in Java.
I want to learn both Java and Python, and I will learn Java at some point. My question is whether I should start learning it right now or not? I know it's not necessary, but I think it will be much easier to follow the book if I have some understanding of Java.
Why am I confused?
Well, I have watched videos, read blogs about people recommending to stick to one language when starting out. So, I am scared to start a new language thinking I might forget Python or get into a situation where I don't understand either of these languages.
I am currently pursuing my Bachelors in Information Technology. My major offers two different paths of class lineups:
-
Lineup of Python classes
-
Lineup of Java classes
Between Python and Java, which do many of you consider more valuable in the market? And which path should I consider?
Hi! I'm a junior DevOps engineer and I would like to start developing backend too. I already know intermediate python and worked a little bit with django and I would like to dive deep into python and learn it well.
I asked my supervisor for his advice and he thinks that it's better for me to learn Java first. From his point of view Java is more technical and I can become a better developer by learning the fundamentals with it (like polymorphism, interfaces, data types). He considers python as an uneffective shortcut to learn bad software development practices.
At first he convinced me with his argument but then I documented myself better and I saw that even python has all of those concepts, so I feel like if I'm not lazy and l study python well I can achieve the same expertise I would get with Java.
Since I want python to be my main language I'm essentially very skeptical in using my energies in learning java from zero while I could dive deep in python and get solid with it. It's not like I only want to know python overall, but reading a book of 1600 pages like "learning python" takes time and effort and I feel like I want to make that effort on python, not java.
What do you think about it? I could really use your advice, thanks a lot in advance.
After December we will move away from Assembly at work (I work there as an apprentice and they want me to learn it, they don't actually use it). I get to choose between Java and Python. I will learn the other one later anyway, but in the beginning, which should I take? I work there as a Software developer with only very little pre knowledge.
Python is more like a handy swiss army knife Java is full blown war Tank. I would prefer java.
I had a lot of luck learning the easier things like decision statements and loops with python, but learning OOP and some more complex things was a lot easier to understand with Java. Don’t think you need to learn just one, focus on the concepts!
Hi all. I will be doing a software engineering degree, however I have to elect which of three languages ( C#, Java, or Python) I would like to specialize in.
I will be doing a Python course through the University of Michigan via Coursera leading up to this.
I would just like some advice from individuals and professionals that have experience in the industry, if you had a choice of these three languages, which would you say will be the most in demand/valuable for the foreseeable future.
I appreciate your time. Thanks