While you'll certainly find opposing opinions on this subject, realistically (unless you have a certain goal in mind) it doesn't really matter that much. Both have been used successfully as a first language by universities and self-taught programmers. So there are no wrong choices here. You won't be affected negatively by either choice. You'll probably end up learning both anyway. Most professional programmers know several. That being said, there are two things you said that could better inform your choice: I am about to join college in 1 month Check and see what language you'll be learning in college. It wouldn't be a bad idea to get an academic head start (to make things easier for yourself) and start learning that language earlier. I like Ai stuff and that is mostly done by python It's true that the majority of AI work is done using Python, so it wouldn't be a bad idea either to learn Python for AI stuff. Answer from plastikmissile on reddit.com
🌐
Reddit
reddit.com › r/learnprogramming › as a complete beginner what should i start with python or java?
r/learnprogramming on Reddit: As a complete beginner what should I start with Python or Java?
July 2, 2024 -

I am about to join college in 1 month and will be starting my coding journey. On most youtube videos people say that beginners should start with either java or python.

I like Ai stuff and that is mostly done by python (acc to what I found on the internet) but then Java is for mostly opensource and development( again acc to internet). Open source and development seems like more leaning towards better placements but then python seems easy and most Ai and ml is going on python.

I'm very confused right now, I wanna be able to build some good stuff with either language, but starting out is just overwhelming. No idea where to start.

Edit 1: I have kind of decided to start with Java and my college with probably start with C language so I'll try that in the 1 month I have left.

🌐
Reddit
reddit.com › r/learnprogramming › beginner seeking advice: java or python
r/learnprogramming on Reddit: beginner seeking advice: java or python
November 13, 2024 -

hello everyone

I’m complete beginner(23f). i decided to learn coding and i don’t know from where to start. I’mthinking to learn it from udemy courses and use youtube as well if you know any good courses please share!

if you have other options fo rbeginner besides java and python i’llappreciate if you share

how much time does it take to learn coding to start working. (in Europe).

is it myth or real that i need to be good at math if i want to code.

do you have any tips/tricks what should i know before or after I start learning.

thank you in advance for your help!

Top answer
1 of 5
31
I’mthinking to learn it from udemy courses and use youtube as well if you know any good courses please share! Don't use video courses. They encourage passive watching instead of active doing (programming) and quite often make you only copy the code that the "teacher" presents on screen instead of having you thinking about the code and then creating it. The University of Helsinki has absolutely great beginner courses for Python and Java . Free, textual, extremely practice oriented, targeted at absolute beginners, and teach programming languages along with actual programming. how much time does it take to learn coding to start working. (in Europe). Impossible to tell as it solely depends on you. Would say, minimum upward of a year. is it myth or real that i need to be good at math if i want to code. That entirely depends on the domain. See the FAQ here as this topic is covered there. do you have any tips/tricks what should i know before or after I start learning. A few things: Don't confuse learning programming languages with learning programming. These are two different things, pretty much like learning to use wood tools (programming languages) and learning to create intricate furniture (programming). Sure, the latter (programming) needs the former (programming languages) to tell the computers what we want them to do, but that's it. Languages are tools. Learn to distinguish between the program, the algorithm, the step-by-step solution to a problem and its implementation in code. The former stays the same, no matter what programming language you use. The latter naturally differs. Concentrate on learning to create your step-by-step solutions first and then, after testing them on paper, implement them in code. When you get a task, sit down with pen(cil) and paper and analyse it. Break it down. Solve each part as you, the person, would solve it (don't even think about the computer at that stage). Test your solution with some small sample data. Once you have it working, start thinking about the code, start implementing it. Use AI with caution, if you use it at all. Do not ask it to do the thinking for you. Do not ask it for solutions. If you use it (which I still heavily advise against), use it only for deeper explanations, but never to write code for you. Do not try to memorize code. Not only is it useless as the code changes according to the situation, but also will you quickly be overwhelmed by the sheer amount. Learn to work with the language documentation as early as possible. Use it as a reference, use it to look up what is available, use it to look up the exact syntax you need. Working with the documentation is essential. Strengthen your google-fu. A lot of programming is googling. Yet, again, as with AI before, do not google for direct solutions. Google for approaches to solutions. Experiment. Play around with the code. Break things. Fix them. Struggle, fail, fight, learn. Take it slowly. Learning programming is a marathon, not a sprint and you will never, even decades in, stop learning. As for your Java vs. Python question: it's more or less tit for tat. Both are used as first languages. Both have their advantages and disadvantages. Both are heavily used in the industry. Python arguably has the shallower entry, but with all its "magic" (convenience features) can make it more difficult to switch to other languages. Java, on the other hand, has a steeper entry, but is a more pragmatic (often considered "boring", which is a benefit, not a deficite) language. There are way less surprises and with its static and explicit typing it is better for a beginner, IMO. Also, Java's error messages are much clearer than Python's. My personal suggestion out of the two would be Java even though it is more difficult to learn. The advantages of Java's pragmatic nature by far outweigh the easier entry in Python. I use both languages and I like both. Python for its simplicity and excellent list/string handling, so I love to use it when I need to write string heavy programs, like parsers, etc. Java for its pragmatic nature which suits me better for bigger projects.
2 of 5
5
Going to address this first: how much time does it take to learn coding to start working. (in Europe). I think for most people, 1000 hours on the low end, and if it takes you more than 4000 hours of learning to get there you probably don't have the right mindset for it and will never get there. And keep in mind that's hours of learning - passively doing things like watching videos or getting ChatGPT to solve problems for you don't really count. It is as big an undertaking as learning to become an engineer, nurse, or chartered accountant, although unlike those professions it is possible to break in while being self-taught. How long in months or years really depends on how well you learn and how much time you're dedicating. Studying full time a university student gets there in 4 years, but half of that time is on unrelated subjects so you can definitely do it faster if you're dedicated. As for which language to start in? It doesn't really matter too much honestly, since most of what you'll be learning to start with is learning how to learn - you'll learn countless languages and frameworks over your career, and will probably pick up at least 3 or 4 during just your learning years. Python is pretty beginner friendly though in a lot of ways. is it myth or real that i need to be good at math if i want to code. I don't think you necessarily need to be good at math. I know a lot of programmers who find math boring so never got good at it. But I do think if you've got the type of brain that is good for programming, you have the type of brain that's good at math. You need to be good at thinking in abstractions and thinking your way through problems. My top tip is just to make sure you pace yourself appropriately. Learning to program is like going to the gym to build muscle - if it feels easy you're probably not accomplishing much, but you don't want to injure yourself either. The optimal place to be when you're learning is where things are hard enough that they're a little frustrating - so that you know you're developing your brain - but not so hard that you're having to seek out help to complete the tasks. Finding that sweet spot though? That can be tricky, so you just have to be honest with yourself.
🌐
Reddit
reddit.com › r/learnjava › is it ok to start learning java first before python?
r/learnjava on Reddit: Is it ok to start learning Java first before Python?
March 2, 2021 -

I want to learn about programming and I'm interested in Java. I've been searching Google and most of the results say that I should start with Python. Do I really need to learn Python first? I'm 14 and I want to start and learn to program once I get a new PC.

Find elsewhere
🌐
Reddit
reddit.com › r/learnpython › "python vs. java in 2025: which should i focus on?"
r/learnpython on Reddit: "Python vs. Java in 2025: Which Should I Focus On?"
December 10, 2024 -

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.

🌐
Reddit
reddit.com › r/learnprogramming › learn java or python?
r/learnprogramming on Reddit: Learn Java or Python?
June 6, 2023 -

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

Top answer
1 of 2
5
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). True that Java has way more boilerplate than Python due to the full Object Oriented paradigm. False that it is more difficult to change fields False that the popularity is decreasing as well as the community. Java is the enterprise language #1 and stays there simply because there is already way too much Java out there 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. Python has way more use cases than you list for it. The very web site we are communicating on is running on Python Yes, it is somewhat slower, but it can use precompiled fast libraries written in C/C++ for speed Python does not have more potential when changing fields and is not more widely used The above said: yes, it is a 50:50 chance. I would say that learning Java makes you a better programmer, though. Python abstracts way too much and has too many "convenience features". Don't get this wrong, though. Python is a great language, but so is Java. If you haven't been exposed to programming, I would still suggest Java. The expressive nature, verbosity, explicit static typing, excellent tooling, and excellent elaborate error messages make it an ideal first language, even though the very first steps are more difficult. Python on the other hand has an extremely easy entry, yet, the implicit typing can cause problems that beginners will easily stumble over and then be left dumbfounded. The error messages have improved lately, but still are by far not as clear as Java's. Yet, don't overthink the whole. The first language you learn will definitely not be the last and every consecutive language will be easier. In the beginning when you start from 0 you are battling at two fronts: you are battling with the vocabulary and grammar of the programming language (the easier battle) and you are battling with creating detailed step-by-step algorithmic solutions to problems (actual programming - the difficult battle). Once you understand that learning a programming language only is a necessary evil to tell the stupid computer what we want it to do and that the actual programming, namely analyzing and dissecting problems and then developing detailed step-by-step algorithms to solve that problems are two distinct, decoupled activities you will also see that programming languages are just tools to express trains of thought. Once you can program, the actually used programming language becomes secondary. Sure, the paradigms, the vocabulary, the grammar will be different, but if you know what you want to express, you can do it in any language. Developing the "what" is the tricky part. It is a bit like learning a spoken language with very restricted English-like vocabulary and grammar and writing a comprehensive fully developed novel in said language.
2 of 2
2
Remember, that no matter what you choose, it won't define your career for years to come - no matter if you start with Python or Java, you can always learn the other, or a third language in far less time than it took to learn the first. Programming is much more about problem solving and understanding computers, than specific languages. I would recommend Python, because you'll fairly quickly be able to build stuff with it. No matter if you are interested in web-applications, desktop games, scripting, data science or something completely different. Java tends (or tended) to give you a better understanding of Object Oriented Programming, because it is very strict about everything being a class, and so on, and the entire API is extremely Object Oriented, with big-Os :) But in later years a lot of this OOP strictness is becoming annoying, you tend to write a lot, and I mean a lot of extra code, simply to make the Java compiler not throw up on you. And even the folks behind Java has realized this, and newer versions include more and more short-cuts for writing more compact code ... Anyways - as for jobs, I guess it depends a lot on where in the world you live and work. Here in northern Europe, Java is mostly used by banks and insurance companies - there are a lot of Java-code running out there, but it seems like no new products or new companies base anything on Java. Also the banks tends to want university masters with 5-7 years of experience ... But again, it doesn't matter - when you have learned some programming, you'll quickly get ideas as what you want to build, and maybe you need to learn Swift or Kotlin or React or C# to build those kind of applications, but that is the way it is going to be, there'll always be more to learn, so might as well just get started, and have fun along the way!
🌐
Reddit
reddit.com › r/learnprogramming › suggestion: should i learn python or java?
r/learnprogramming on Reddit: Suggestion: should I learn python or java?
August 3, 2024 -

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.

🌐
Reddit
reddit.com › r/learnpython › is it bullshit: know java, easy to learn python. but not the other way around.
r/learnpython on Reddit: Is it bullshit: Know Java, easy to learn Python. But not the other way around.
August 11, 2019 -

Hello people, I am looking to learn a programming language during the summer before college. The classes I'll be taking at univerisity uses Java. However, I've been trying to learn Python on my own for around two weeks using Automate the Boring stuff and Code academy. So I am still a noob. However, I've read some posts where people say learning Java as a first language will be much better than learning Python as a first language because it is easier to transfer from Java to Python but not the other way around. Now I am conflicted in which language I should devote myself to for the rest of the summer. Please give some advice. Thanks!

Edit: Thanks to everyone who replied and who tried to help. So some said that Python allows you to skip the useless code which therefore allows you to focus more on the concepts. While some said that Java forces you to explicitly write out all the steps which teaches you more on the fundamentals. Although I will eventually be learning Python as I am interested in Machine Learning/AI I think I will be learning Java for the rest of summer until university starts simply because of the fact my classes uses Java so I was think about getting a slight head start. Once again, thank you to everyone who helped.

🌐
Reddit
reddit.com › r/learnprogramming › should i learn python, javascript or java first?
r/learnprogramming on Reddit: Should I learn python, javascript or java first?
May 3, 2023 -

I am very conflicted. I know a small bit of python and javascript (as in the only thing I can do is print things like hello world in them) but I have seen many videos about learning java's basics in 15, 14, even 10 minutes.

I should probably say my reasons for leaving it though as that will affect this quite a bit. I wanna make a website and small applications and some games but I want to learn the basics in a video shorter than 11 hours.

At the end of the road I wanna be able to make a small operating system that contains its own code app, a custom Web browser, settings, built-in games, a messaging/calling app, video player, files app, and all the other things a good operating system has.

So, which language should I code in?

Edit: I have had a change of mind, im learning binary first.

Top answer
1 of 5
18
I have seen many videos about learning java's basics in 15, 14, even 10 minutes. LOL. They at utmost give you the basic vocabulary, but they cannot teach you programming. but I want to learn the basics in a video shorter than 11 hours. Ahem... that's illusional. You fall for the common misconception of conflating learning programming languages with learning programming. The former is the easy part as it is only very limited vocabulary and grammar. The latter is the difficult, time and work intensive part as it is learning to analyse and dissect problems to develop minuscule detailed algorithmic step-by-step solutions that then can be implemented in a programming language. The MOOC Java Programming from the University of Helsinki is a beginner course in 14 parts (each part is considered a week) where the total time investment is upward of 70 hours - and that's just the basics. Similar, the MOOC Python Programming 2023 from the same University. Both are beginner courses. Also, you don't learn by watching videos. You learn through active programming. At the end of the road I wanna be able to make a small operating system that contains its own code app, a custom Web browser, settings, built-in games, a messaging/calling app, video player, files app, and all the other things a good operating system has. That's a huge untertaking that will take several years to complete even in the most basic state. See TempleOS . If your final goal is an OS, there won't be a way around C++ in the long range as you need to be able to directly access the hardware. None of the languages you have listed will be directly applicable to your goal.
2 of 5
13
Wrong languages for making an OS and making an OS it's the wrong activity to learn programming.
🌐
Reddit
reddit.com › r/cscareerquestions › as a beginner, would you learn java or python first?
r/cscareerquestions on Reddit: As a beginner, would you learn Java or Python first?
September 22, 2017 -

I'm in my late 20's, without college education, seeking a career change. I'm interested in mobile development (mostly ios but I would be willing to develop for android), web apps and landing a job with a company as an entry level developer after 3-4 months of committed training. After these 3-4 months, I would even be willing to attend a boot camp program, in order to refine what I've learned and network with prospective employers.
I'm interested in Java, however, the consensus from nearly everyone I talk to is that it would be advantageous for me to learn Python, instead.

To recap my plan: I'm interested in mobile dev but also interested in getting a job as soon as possible. Spend 3-4 months with online resources learning a language. Potentially spend 3-4 months with a bootcamp program. Spend 2-3 months developing a portfolio. Get a job.

For me, Python or Java, and why?

🌐
Reddit
reddit.com › r/learnprogramming › does anyone feel that python is more difficult to learn compared to java??
r/learnprogramming on Reddit: Does anyone feel that python is more difficult to learn compared to java??
April 28, 2025 -

I had initially started with python but found it too difficult, so I switched to java. Now after 4 years I consider myself to be decent in java programming and programming in general basically. I loved how java had brackets and stuff like that which were not there in python due to which the syntax felt just a bit more difficult to comprehend at least to me contrary to general opinion that python is one of the easiest first languages to learn. What are your thoughts on this topic?

🌐
Reddit
reddit.com › r/java › do you find java more aesthetically pleasing than python?
r/java on Reddit: Do you find java more aesthetically pleasing than python?
January 25, 2024 -

I have been programming for about 5 years now, and I started with Java then moved to Python before returning back to using a bit of both. After getting a good tour of Python, I have come to appreciate the static typed nature of Java. I find the way OOP works in Java to be much more aesthetically pleasing to look at than python code. Of course, there are exceptions to this rule when concepts get more complicated.

🌐
Reddit
reddit.com › r › learnprogramming › comments › reaoz2 › python_or_java_as_a_first_language
Python or Java as a first language : r/learnprogramming
December 11, 2021 - A subreddit for all questions related to programming in any language. ... Is it recommended to learn Java or Python as a first language?
🌐
Reddit
reddit.com › r/learnprogramming › python or js for my first language?
r/learnprogramming on Reddit: Python or JS for my first language?
August 16, 2024 -

I am so confused. My friend recommended I start with JS, so I went online for some resources and had half of the people recommend Python while the rest recommended JS

Top answer
1 of 67
66
if you're finding mixed opinions, then it doesn't matter, just get started
2 of 67
15
In order: If you're learning your first language, it doesn't really matter what it is so much as that you learn coding principles. You don't need to learn Python until it's "done" because you will never be "done" and you might find that once you know a bit of one, there are things that attract you to another. It depends what you want to do with it. Although there's little stopping you from doing anything with either at this point, Python is used more frequently for data work and JS more naturally for web development. So if this is for employment, look at the sort of jobs you're thinking of and see where the priorities are. Or ask here. When it comes to coding languages there exists the concept of language communities. That is to say, when you go online and ask a question, what is the manner of response you would expect? In general, software engineers and developers are very helpful people, but not always able to articulate that helpfulness. Python (and Ruby) are generally well-regarded as having more helpful online communities than Javascript (and certainly more than C, or C++, which can be quite caustic). For many people - but not all people - Python's (and Ruby's) focus on indentation and ability to function with English-like syntax makes them feel easier to read. This is entirely personal preference, but it helps a lot of people in the early stages. A lot of programmers talk about programming "religion." That is to say, a lot of what individuals say as fact is really just a reflection of the teachings they received, their own pathway, and how this informs their preferences and prejudices. When people tell you that "Python is better than JS" you should take this with a truckload of salt, because all they're really saying is "I feel like Python is better than JS based on my own pathway." Javascript is a silly language that might as well arrive in a clown car.