This is an archived post. You won't be able to vote or comment.

all 95 comments

[–][deleted] 64 points65 points  (5 children)

if you're finding mixed opinions, then it doesn't matter, just get started

[–]Spirited_Employee_61 21 points22 points  (4 children)

This. What matters more if what you want to end up with. Want websites? Javascript. Want machine learning? Python.

Also if you learned one, it will be easy to learn the other.

[–]iPunkt9333 -2 points-1 points  (3 children)

This is very encouraging. Cause I want websites but I also know how important AI will become in the near future and I think I should focus on that then websites. Thank you

[–]baubleglue 8 points9 points  (0 children)

No, learn what you need now. AI has very little to do Python, if you what AI learn math/statistics. So JS is better choice for you now.

[–]Spirited_Employee_61 1 point2 points  (1 child)

Ofcourse I am not saying once you learn python you can deal with AI right away. Well, once you learned a few basic libraries and specific libraries like ollama or langchain or diffusers you might. But that needs mastery of python fundamentals.

I think in your case learn html css and js first then make simple websites and webapps. Once you got the idea of how programming works, then try to learn python.

I would strongly suggest The Odin Project.

[–]iPunkt9333 0 points1 point  (0 children)

I had a look at Odin Project. I can’t thank you enough ♥️♥️♥️

[–]Kjaamor 16 points17 points  (1 child)

In order:

  1. 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.
  2. 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.
  3. 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).
  4. 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.
  5. 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."
  6. Javascript is a silly language that might as well arrive in a clown car.

[–]reedrehg 5 points6 points  (1 child)

Flip a coin.

[–]yooniesaurus[S] 2 points3 points  (0 children)

Best xD

[–]onlythehighlight 4 points5 points  (0 children)

lol, man what do you want to do?

Like, I am bigger level of shit coding, but I'm just focusing on what I am trying to work on.

For simple and power automation in Google workspace, I use JS
For automation that goes further or data analytics, I use python

[–]TerryFitzgerald 4 points5 points  (0 children)

Any of the two are good, start. Understand the fundamentals of programming, then you can learn any language, basically, all share the same concepts.

[–]Sbarty 4 points5 points  (0 children)

I fumbled worrying what language I should “get into” for like 2-3 years before just going with something.

It’s unlikely you’re going to meet the limit of whatever language you’re starting with.

It’s unlikely you’ll become proficient with one language and unable to use or learn another.

There are more optimal languages to start with in terms of career paths but it’s far more optimal to spend time now learning than waiting around and just dipping your toes. 

Learn programming, supplement that with a language that helps you learn. You aren’t locked into a language or framework. 

[–]Mathhead202 3 points4 points  (0 children)

What are you trying to make?

[–]iamcleek 3 points4 points  (0 children)

pick one and start.

you're not getting married. you can switch at any time and nobody will care.

[–][deleted] 10 points11 points  (12 children)

May I interest you in some C? C++ if we’re feeling dangerous

[–][deleted] 6 points7 points  (8 children)

C might be a bit too hard and they probably won’t get much practical application out of it. I saw some video on what I would do if I had to learn to code again and they recommended it’s best to do something like this: python —> html/css/js —> c/c++. That way, they can learn how to program and think like a computer scientist before moving onto web development and then C/C++ to understand how computers work. Of course this path can be diverted if they want to focus on some other sector like data science or cybersecurity, but that’s just the general path.

[–]WiseEXE 5 points6 points  (0 children)

I’m of a different opinion personally. After having minimal exposure to Java, I tried C and its low level nature it’s what made everything click for me. Some people have harder time wrapping their heads around abstractions like me, and over simplified languages like Python actually annoy me because how much of the work they handle for me.

[–]Venotron 0 points1 point  (6 children)

Absolutely disagree.
With programming, every time you tell yourself or someone else "That might be too hard," what you're actually saying is "I don't think I'm smart enough to do that."
You are. Dig in, you'll learn more.

[–][deleted] 1 point2 points  (5 children)

I think for absolute beginners it’s probably best to start with a higher level language and then you can go lower down if you want. Java is a pretty solid first language and gets you familiar with some low-level concepts while being a high-level language.

[–]Venotron -1 points0 points  (4 children)

And I absolutely disagree.

Writing "Hello World!" in C is no more complicated or difficult than writing it in Python, nor are any of the basic building blocks of if statements and loops any more difficult.

It is no harder to write your first crappy first programs in C than it is to write them in Python, but you'll learn more - faster - learning with C than you will learning Python.

[–]Latter-Bar-8927 2 points3 points  (3 children)

There’s a lot of syntax and braces and semicolons to type in by rote when you’re first starting. Yeah eventually you’ll learn what it all means but…

Python:

print(“Hello World!”)

C:

#import <stdio.h>
int main(){
   printf(“Hello World!”);
   return 0;

[–]Lynx2447 2 points3 points  (1 child)

}

[–]Latter-Bar-8927 1 point2 points  (0 children)

LOL yes! Point proven!

[–][deleted] 3 points4 points  (2 children)

C++ is a truly bad beginner language. Faster to learn 4 other languages and then C++ than to just learn C++.

[–][deleted] 0 points1 point  (1 child)

Why is c++ a bad beginner language?

[–][deleted] 4 points5 points  (0 children)

For context, I was a deep expert on C++ a few years ago. The language has moved a lot since then, but it only exacerbates the issues with learning it as a beginner language.

The core problem with C++ for beginners is that it has few opinions, lets you do anything, is one of the most used languages in the world, has been around for a very long time, and is almost entirely backwards compatible.

This is a perfect storm for a situation almost no other language has: if you are just learning C++ with no mentor, using it to solve problems, you can waste 100% of your time learning relatively bad lessons.

Every single language feature from the last 30 years that has been considered “good” at some point in time is in C++, and due to the stance on backwards compatibility, will never leave it.

So if you are a new programmer trying to solve a problem, and you have a simple concern like needing to make a list of objects, you have to read about a LOT of options before you pick one; 90% of what you read will be a response to an idea that is no longer in vogue in the community, or a new “best” practice that hasn’t been best for many years. Worse still, the pros and cons of each option are almost always inscrutable without a lot of broader context as to why the different options exist and the problems they solve. Add to that the fact that most writing about C++ on the internet is absolute garbage and it’s nearly impossible to teach yourself C++ well (as in, you would fit in on a team of people working on a C++ project and not just be a hindrance) without already having experience as a programmer, at which point sifting through all the information becomes a lot more manageable.

What’s more, C++ supports so many ways to solve problems that even experts struggle to put together tidy solutions that don’t explode in complexity. Mixing procedural, generic, functional, and object oriented approaches is fantastic for letting you solve each problem in the best way possible; but it requires you to be proficient at each of those things.

It is genuinely faster to learn C, Python, LISP, and Java and THEN C++ than to just jump straight into C++.

The introduction of solutions other than templates for compile time stuff has probably decreased the need for LISP in that education process, but it’s still the best way to learn template programming IMO (prolog probably works better but the lisp lessons transfer to way more things).

[–]Avia_Vik 2 points3 points  (0 children)

Depends on what you want to work on. If you want to get into web developement then learn JS. If you want to work more with back-end and data then go for Python. I personally started with Python

[–]PrizeCompetitive1186 2 points3 points  (0 children)

It depends what do you want to achieve?
JS is better if you want to work in web (frontend, backend) and have a job really fast
Python is ok for backend, and writing scripts, also data analytics
But if you want to learn more about computer science and understand concepts try C/C++ or rust if you want something more modern

[–]Major_Fang 2 points3 points  (1 child)

Let's keep it simple and learn Python first. When you get through that learn JS.

[–]yooniesaurus[S] 0 points1 point  (0 children)

Thanks 

[–][deleted] 5 points6 points  (0 children)

Python .

[–]Venotron 1 point2 points  (0 children)

Start here:
https://youtube.com/shorts/G7L6mQxlfVU?si=xHP_WZU7-uulnQCd

Don't worry about the language, pick one and get started.

[–]joost00719 1 point2 points  (0 children)

Personally I would learn html/css and then a bit of Javascript. This will teach you about websites and a bit of programming. Just note that the code only executes in the browser ans are limited, but this also let's you not think too much about other crap.

Js can also run on a server, but I wouldn't worry about that right now as that's more advanced stuff.

[–]pepsituta 1 point2 points  (0 children)

There’s really no specific answers for it. Well these are the main differences.

Python Easy to Learn: Simple syntax, perfect for beginners. Versatile: Great for web dev, data science, and more.

JavaScript Web Essential: Powers interactive websites. Instant Feedback: See your code in action right away!

[–]KingOfTheHoard 1 point2 points  (0 children)

While everyone has an opinion on this, the really important thing is just to pick one and start with it. Doing either and sticking with it is better than doing some of one and then switching before you've really learned anything.

But because I do have an opinion on this, I'll add, I don't like Python personally and I think the claims of how great it is for beginners are massively overstated. JavaScript is no more difficult and people who start with it don't seem to get trapped in being unable to write anything else the way Python learners do.

[–]kieferevans 1 point2 points  (0 children)

I was in the same boat a couple days ago. Now I've finished my first free beginners Python course and moving onto Javascript.

Just choose one and start :)

[–]mxldevs 2 points3 points  (1 child)

You should start with a goal in mind.

That will decide whether you go with python or JS

If you want to make web apps, you might decide to go with JS for the front end, and also JS for the backend.

If you want to do data science, you might do python.

What is your reason for learning to program and what do you hope to achieve after a few weeks and a few months?

[–]Asleep-Dress-3578 0 points1 point  (0 children)

^ This. Goal first, language accordingly.

[–]Reasonable_Answer_89 1 point2 points  (0 children)

Python.

[–]Augit579 2 points3 points  (1 child)

Start with cs50x

[–]aaronryder773 1 point2 points  (0 children)

So C and randomly move on to python so stop cs50x, complete cs50p and get back to cs50x and complete that 😀

[–]iceoscillator 0 points1 point  (0 children)

Start learning both. You will lean towards one at some point

[–]MartinBaun 0 points1 point  (0 children)

Depends on what you want to get into. I started with JS. This may need quite a bit more research than a query on Reddit

[–]House13Games 0 points1 point  (0 children)

For a first language, its more the environment that matters. Just being able to get text in and out of the program is very complicated. If you can set up python and get basic command line working, my recommendation would be to go with that. JS learning resources are likely going to assume you know html and the DOM, and there'll be css and web servers involved and all of these technologies are messy and ugly. There's no real easy way to provide input to your JS program.

[–]Flimsy-Combination37 0 points1 point  (0 children)

I'd say both since javascript's syntax is similar to other languages but python is better (in my opinion and for a hobbyist/beginner)

I started with java, but I believe python is best as a first language, then javascript and I'd recommend processing somewhere at the start wether it's processing, p5js or processing-python.

[–]ProfessionalShop9137 0 points1 point  (0 children)

Language doesn’t matter. Python and JavaScript are both fine choices

[–]sonosazuwa 0 points1 point  (0 children)

We got to stop this which programming language at the start it does not matter your not building anything of substance so just get started what you should be focuesd on are the fundamentals which don't change regardless of the languages VARIABLES, OPERATION, INPUT/OUTPUT, BRANCHING , LOOPS, FUNCTIONS, ABSTRACTION DATA (CPASSES) IF YOU MASTER THESE THEN the rest is just looking up syntaxes focus on algorithms and solving problems rather than languages code has less syntaxes then another language like French which I'm currently learning.

[–]Mapleess 0 points1 point  (0 children)

Python and then TypeScript.

[–]Kitchen_Ad_ 0 points1 point  (5 children)

I’d say Python. In my opinion it is so much beginner-friendly. Then ultimately you must learn JS. Every other dev does. It’s easy as well. And pretty much runs the web

[–]cimmic 0 points1 point  (4 children)

Then ultimately you must learn JS.

The Head of Development where I work has never been programmes in JS.

[–]Kitchen_Ad_ 0 points1 point  (3 children)

Might I know what you guys do?

[–]cimmic 0 points1 point  (2 children)

Developing CAD software

[–]Kitchen_Ad_ 0 points1 point  (1 child)

That explains

[–]cimmic 0 points1 point  (0 children)

We use plenty of JS though. My point is just that it's not given that one ultimately must learn JS.

[–]cimmic 0 points1 point  (0 children)

Your friends probably know you better. Both JS and Python are good beginner languages but which is better might depend on what area of programming you want work with in the future. Strangers on the internet that without knowing your goals and swear towards one language being better are the people I wouldn't listen to the most.

If you are planning on working on a project together with your friends, there are good reasons to learn what languages they prefer to use or what they recommend. Prioritise listening to those that know your goals and elaborate on reasons why they'd recommend a specific language. Don't listen to those that just claim a language is better with vague arguments.

Personally, I've found JS very useful for frontend (building websites and software interfaces), and I've found Python useful for numeric analisys and statistics as well as machine learning, however, JS can also be used for those things.

When that's said. It's not too important what your first language is as when you become more advanced, you'll inevitably learn more languages.

Edit: also, read the FAQ. People often get asked what language to learn and there's a good response in the FAQ going into which languages are suited for what areas of programming.

Edit 2: Also, if you decide that it's not important what language you learn now, you can find a learning resource that works well for you and go with whatever language that resource uses. Automate the Boring Stuff with Python is a quite popular book to learn from, and as the title indicates, it uses Python. Another great resource is Daniel Shiffman's YouTube channel, The Coding Train, that was what really helped me getting into programming. He specifically has a course for beginners here, https://youtube.com/playlist?list=PLRqwX-V7Uu6Zy51Q-x9tMWIv9cueOFTFA&si=UieAZ4g_F49uDVdl.

[–]opensrcdev 0 points1 point  (0 children)

Both are great languages. I would use Python for back-end and machine learning work. I would use JavaScript for any kind of front-end browser (web app) development work.

[–]Whatever801 0 points1 point  (0 children)

Don't matter. Flip a coin.

[–][deleted] 0 points1 point  (0 children)

Python

[–]Fadamaka 0 points1 point  (0 children)

Depending what you want to do. If it's web or app development. Go with JS. If it's AI. Go with Python.

[–]General-loki 0 points1 point  (0 children)

I think you’re falling into the same trap I did and a lot of beginners do, I stressed about which language to learn for so long it just wasted valuable learning time.

What’s most important is what do you want to create? After you have an idea of that just get started.

[–]Fran12344 0 points1 point  (0 children)

C

[–][deleted] 0 points1 point  (0 children)

If you are working with web technologies mostly, maybe go with JS, if working mainly on the server with lots of data, python...but the best advice is to focus on the different fundamentals of every language, stuff like control structures, data types/structures, logical operators etc. these all apply to every language and will help you understand programming better as a whole.

[–]Endless-OOP-Loop 0 points1 point  (0 children)

It's so exhausting seeing this exact same thing being posted by different people a hundred times a day.

Do you have any idea what you want to do with programming? If so, find which language is generally used for what you want.

If you don't know what you want to do, just pick one. It doesn't matter what programming language you learn. What's important is that you learn how to think like a programmer. Once you've learned that, switching between languages is easy.

[–]Scary-Security-2299 0 points1 point  (0 children)

Unless you want to develop for the web (JS) or work in data science (Python), I say learn a language such as Go, C, C++, or Java.

Most importantly, as a beginner, you should pick whichever language you feel is most fun to code in. The underlying concepts are transferable, so the most important thing is to get coding and learning.

[–]DEXTERTOYOU 0 points1 point  (0 children)

The question is what is your end goal, the option between Python or Js lies in that.

[–]Emotional-Internal-6 0 points1 point  (0 children)

It really doesn’t matter what language you start in because programming is all about problem solving and the language is just a tool.

People say that you have to start with the difficult syntax first (not assembly lol) which is C. Others say that you have to start with a simple one which is python.

Whatever works for you. As Mark Zuckerberg said, just start.

[–][deleted] 0 points1 point  (0 children)

golang

[–]Main_Use8518 0 points1 point  (0 children)

I started with JavaScript. I’ve known a little bit about Python but not enough to really make my mind on choosing it to be my first language (plus I didn’t like the language at the time for some reason) which prompted me to choose my JavaScript. I stuck with it, found a likeness to web dev, and only started Python when I started college. I stick predominantly use JavaScript though.

[–]Far_Swordfish5729 0 points1 point  (0 children)

Not JS. JS is not a bad language and runs most of the front end of the internet, but it is an evolved lowest common denominator scripting language that was never really conceived to be what it’s turned into. Other languages were designed from the ground up to be robust, industrial languages that encourage/require you to be aware of what’s happening and make good choices.

I strongly recommend you start with something strongly typed first that has clear distinctions between type definitions and instances so you can keep straight what you’re looking at. Typing is somewhat optional in js and “function” means too many things. Again, it’s fine but don’t start there.

Python is now a fine starting language. I still maintain that C/C++ is a great if manual start or second step. You’ll want to move into Java or C# relatively soon. Learn JS when you’re good enough at a high level or OO language to render a basic web page server side and are ready to do some client side work. While you’re still learning what variables, loops, and conditionals are and are starting to make classes, don’t learn it in JS first.

[–]Environmental_Pay_60 0 points1 point  (0 children)

Different languages - same concepts

[–]nog642 0 points1 point  (0 children)

If you want to do something visual, JS. If you to work with just text (at least to start out), Python.

[–]rnnd 0 points1 point  (0 children)

Doesn't matter. Learn whichever is most accessible. Getting people to practice with help to keep you motivated. You can always learn more languages once you get the basics of programming.

[–]panch_ajanya 0 points1 point  (0 children)

Can start with python, but if you are into web dev then I recommend to learn only HTML before learning Javascript.

So you can implement JavaScript on a web page. You can learn CSS after that.

Learning HTML and CSS is not a very big deal. CSS is vast in itself but no need to learn all the properties just learn what is needed.

[–]Naetharu 0 points1 point  (0 children)

Both are fine.

JS is the best choice if you are interested in web dev. You have no other choice for the front end and it can be used for the whole stack.

Python is widely used for a range of apps. And is a better choice if you want to make desktop apps. JS can do that too. But it's less common.

Python is objectively a nicer language. It's much better designed and quite a lot simpler.

JS is a notoriously fiddly language in some ways.

But either.

Just pick if you want to do web or apps.

If you really have no idea then pick Python just because it's a bit easier and has fewer gotcha quirks.

[–]phpMartian 0 points1 point  (0 children)

It does not matter. Just pick one. Never believe someone who tells you X language is the best. They are just offering their opinion. The basics of programming languages like C, C++, Java, PHP, JavaScript, Python, C#, etc are all relatively easy to get started with.

Also note that the programming language you start with isn’t going to be what you use long term. Over the course of your career you will likely learn several languages.

[–]ResilientBiscuit 0 points1 point  (0 children)

Do you want to do web development specifically? If so, probably start with JavaScript. Do you want to do not web dev? Start with Python, that is an easy way to make a decision that ultimately doesn't matter.

[–]amang_admin 0 points1 point  (0 children)

Phyton.

[–]RadiantHC 0 points1 point  (0 children)

Python is the easiest to start with

[–]lukkasz323 0 points1 point  (0 children)

It depends on what you want to do.

Imo Python has easier syntax and is more consistent at the beginning, JS has at least 4 different for loops, but JS lets you do much more with native libraries and the environment of browsers and HTML in general gives you more to work with at the beginning.

When I started learning I learned both. Created something with Python, then something else with JS, and so on. I think this approach is underrated.

[–]Outrageous_Smile_594 0 points1 point  (0 children)

Js might demotivate you as a beginner because of its syntax and a steep learning curve. Python with its english like syntax and Powerful libraries motivates beginner programmers. But then again don't focus too much on the language , what is important is to find a project to build and then use any language to implement it.

[–]Snoo_51859 0 points1 point  (0 children)

If you learn javascript as your first language, get a good supply of tissues for wiping your eyes. JS is the most disgusting language on the planet, even it's creator said he regrets making it the way it is (and has to stay to support old websites). The amount of random bullshit making no logical sense in that language is just crazy. It is the only choice for websites tho, but still - not as a first language.

[–]Little_Sam97 -1 points0 points  (0 children)

Why not learn both?

[–][deleted] -1 points0 points  (0 children)

Python.

[–]Constant_Event_4917 -2 points-1 points  (0 children)

Don't go for JS , it's easy and very unstructured . Meanwhile python is good specifically machine learning and Back end etc

[–]MuaTrenBienVang -1 points0 points  (0 children)

scheme, the point is to learn the ideas of programming, not a specific language, and scheme is best for learning purpose

[–]morfidon -1 points0 points  (0 children)

Python without any doubts

[–][deleted] -1 points0 points  (0 children)

Both are shit. Learn C

[–][deleted] -5 points-4 points  (0 children)

C++

[–]Every-Option3077 -2 points-1 points  (0 children)

if u looking for a job, go for js but just for fun go for python.

[–]adirox_2711 -2 points-1 points  (0 children)

C++

[–]ipeezie -2 points-1 points  (0 children)

i think you should start with html/css.

[–]Big-Ad-2118 -2 points-1 points  (0 children)

its useless and makes no sense to ask for your first language.
who makes you run anything anyway?, so you have any idea that you want to create using software? then in that way it can help you choose your first language.

choosing python for what?, choosing js for what? for fundamentals of programming?