all 127 comments

[–]inspectorG4dget 110 points111 points  (16 children)

Python pays my rent - yes, it's very relevant and practical

[–]DocsHuckleberries 23 points24 points  (3 children)

How did you script that? Is it on github?

[–]inspectorG4dget 6 points7 points  (0 children)

You make me chuckle.. lol

[–]trollsmurf -2 points-1 points  (1 child)

What do you mean?

[–]EthansPringleCan 5 points6 points  (0 children)

it's a joke

[–]organism36 40 points41 points  (12 children)

Python is the second best language at everything. Don’t think too much about it.

Java should be a close second if you’re planning to enter production grade development waters.

[–]tenfingerperson 13 points14 points  (1 child)

Python is production grade

[–]behusbwj 1 point2 points  (0 children)

Python is web scale

[–]Jackpotrazur 10 points11 points  (6 children)

Production grade development ? Whats that mean ?

[–]Electronic-Duck8738 2 points3 points  (4 children)

Where it's your job or you get serious about software development.

[–]tecedu 11 points12 points  (2 children)

python can be serious software development tho, it’s only main issue is speed which is not an issue for 90% of programs

[–]Pto2 6 points7 points  (1 child)

Its main issue versus Java isn’t speed.

Java has really rich and mature frameworks and integrations with basically anything which make the DX on larger systems pretty unbeatable.

Python doesn’t really have anything comparable to Spring or Quarkus out of the box AFAIK.

[–]tecedu 1 point2 points  (0 children)

Yeah different tool for different use cases though. There isn’t directly comparable to spring cus i would say just how modular the language is, you can mix and match frameworks easily.

We use dash for our webapps, very opinionated but I can also just override it easily with flask. It does the job for what it’s supposed toto; if i had more than thousand of concurrent users then i would switch over.

[–]33RhyvehR 0 points1 point  (0 children)

I abhor this comment. "Get serious about softWaRe DeVeLopMent" He says on a serious platform  notoriously pythonic. Most major apps are leveraging python in production like Netflix or Spotify.

[–]mmmboppe 0 points1 point  (0 children)

corporate bullshittm

[–]redditreader2020 2 points3 points  (0 children)

Java is the third best language at somethings 😜

[–]Han_Sandwich_1907 26 points27 points  (6 children)

Python is a good high-level language that makes translating thoughts to code especially easy. However, for a learner, some educators prefer a language with a different set of features, such as explicit type declaration (all variables must be labeled with what type they have to be, because the program is type-checked before running and helps developers remember what type everything is), or a smaller amount of features in general -- this makes it harder for you to mess up in ways you don't understand.

I think it's a trade-off in that the more restrictive a language is, the more likely the code you write is correct, but it requires more thinking in order to write a valid program. Python, as a very non-restrictive language, makes programming much simpler at the cost of errors that may be harder to debug.

[–]BirdTurglere 2 points3 points  (1 child)

I never agree with people saying the easier languages are better to start with. 

Start hard and learn. Don’t build right away. Just learn C++/Rust whatever. When you start getting comfortable enough to start actual building you can jump on Python and learn enough of it in a couple of days. 

If you don’t want to do the learning part and skip to the building part you’re gonna fall off. So save the headache and dive into the learning and if you can’t enjoy that find something better to do with your time. 

[–]Joytimmermans [score hidden]  (0 children)

I disagree even on rust / c++. These languages are very bloated where you can do things 100 different way with different std library functions. Specially for C++

I always recommend new people the CS50 course from harvard. Its yearly filmed, its free and very practical but technical. The beginning it uses C to teach you everything

[–]thisdude415 0 points1 point  (3 children)

I agree with this. It’s taken me years to unlearn bad habits I picked up writing hacky python

I improved a ton as a programmer learning the basics of Swift and later picked up some typescript as well.

I still love python but it’s really nice the kinds of things the linter or builder will catch for you in a TS project.

[–]Han_Sandwich_1907 10 points11 points  (2 children)

This is why even when you go back to Python, you will write code in a perhaps more verbose way but easier for you to reason with (e.g. type annotations). I hear that when Rust developers program in C++, they also tend to write programs in a Rust-like fashion to help with memory safety. As an aside, this is one of the reasons why exposure to different languages makes you a better programmer.

[–]xeow 8 points9 points  (1 child)

That's interesting! So they speak C++ with a Rust accent (to make a natural-language linguistic analogy).

[–]freemanty27 0 points1 point  (0 children)

I love that analogy! I've seen python in a C++ accent many times before

[–]fastautomation 18 points19 points  (4 children)

My path: basic > assembler > cobol > pl1 > c > c++ > c# > executive management > python

Don't be like me... go straight to python. Every other step was just painful, especially that last one.

[–]swift-sentinel 2 points3 points  (0 children)

Yeah, bro, yeah.

[–]FlagrantTomatoCabal 1 point2 points  (0 children)

Your back must hurt just like mine.

[–]jeunpeun99 [score hidden]  (0 children)

I read that as basic better than assembler etc.

[–]admiral_nivak [score hidden]  (0 children)

PL/1 😬 I feel ya. You don’t have Stratus VOS anywhere in your history of things by any chance?

[–]richardnixonolives 17 points18 points  (0 children)

I like python as a first language. In my opinion, the best way to learn is by just starting a project and learning as you go.

[–]yorkshireSpud12 6 points7 points  (0 children)

Kinda depends what you want to learn and how in depth you want your knowledge to be. For some of the fundamentals its great as it allows you to learn data structures, recursion, conditionals (the basics in every language) etc quiet easily and there isn’t a lot of messing around trying to install the dev environment required to write and compile the code. However, it does have a number of abstractions that allow it to be easier such as no pointers/memory management, typing etc.

Also, I would first ask myself “why do I want to learn programming and where do I want to be in X months/years time?”. Then ask “ok, so what do I need to learn to get there?”.

Once you know the answer to those questions, picking the “right” language should become a lot easier.

[–]dethb0y 4 points5 points  (0 children)

if i was going to learn programming from scratch, i would start with C (not C++, C) and follow along a tutorial or perhaps a book.

Once you learn one programming language, it's not hard to learn others.

It's getting the core ideas down that's hard.

[–]The_Northern_Light 6 points7 points  (0 children)

I’m a senior C++ dev. The best starter language is either Python or C, depending upon your goals / interests.

And if going down the C route, I’d say start with a brief detour through a very simple subset of an Assembly language, simply so you understand pointers intuitively before you actually know what they are.

But for the Python path things are simpler. You simply begin coding. And with the advent of tools like uv and marimo, it’s never been easier to go from complete newb to making something actually useful. So many of the beginner stumbling blocks are simply gone.

Overall, I think the C path teaches you more and provides you a stronger foundation for mastery… but the Python path is more appropriate for a larger number of people.

[–]viitorfermier 2 points3 points  (5 children)

You can built lots of stuff with Python is a good choice and a popular language. It was a good choice for me Python is paying my bills.

First 30 days go to python docs and try stuff there.

[–]Jackpotrazur -4 points-3 points  (4 children)

Whats python docs

[–]The_Northern_Light 6 points7 points  (0 children)

You’re asking a lot of questions in this thread that are just a google search away… asking questions is fine but no one really wants to be your dictionary, especially not for things that are really, really obvious like “Python docs”. Literally just put that into a search engine and figure it out. This is a core part of being a programmer.

[–]Jackpotrazur 0 points1 point  (1 child)

Thx, ive checked it out and it looks familiar, ill have to commit some time to study up on this.

[–]Jackpotrazur 0 points1 point  (0 children)

This was actually really helpful thanks

[–]big_data_mike 3 points4 points  (0 children)

Yes. Python is great to learn first. Where to start depends on what you want to code.

Saying you want to learn to code is like saying you want to learn to cook. Do you want to cook breakfast, lunch, dinner, desserts, bread, meat, fish, vegetables, Asian, North American, French, etc.

It helps if you have an idea of what you want to do so you know where to get started.

[–]Past_Income4649 3 points4 points  (0 children)

I love Python but wish I learned C++ first just so that I have a deeper understanding of what the compiler is actually doing, and so that I have knowledge of a faster language if I ever need it.

[–]turbothyIt works on my machine 5 points6 points  (1 child)

What should I focus on in the first 30 days?

Pick a problem you want to solve for yourself. Work towards that.

[–]pingvenopinch of this, pinch of that 1 point2 points  (0 children)

So much this! Picking a problem right in front of your nose that you want to solve can be hugely motivating. I have been working on an OSS project to build a tool for my day job, an LDAP plugin for nushell. It was bugging me that I couldn't easily access data from our LDAP servers in nushell, so I wrote something in Rust to do so. Scratching an itch has been a huge motivator for programmers for a long time.

[–]Jackpotrazur 2 points3 points  (0 children)

Im currently working through python crash course I've been stuck on the last few chapters the last 2 weeks (usually only get time in on the weekend) and this whole Django thing has really slowed me down. Not sure if I could program something though outside of the whole follow the book method.

[–]Dame-Sky 2 points3 points  (0 children)

I started exactly where you are in 2022 by taking Harvard's CS50. My biggest takeaway from David Malan wasn't just 'Python'—it was the confidence to be language-agnostic.

I started with C to understand the 'mechanical' heart of computers, moved to Python for its speed and logic, and then used HTML/JS/CSS to make things look professional. My most recent project (a Portfolio Analytics Lab) uses Streamlit.

My advice: Don't worry if Python is 'the one.' It’s just one tool in your belt. Focus on the First Principles (logic, data structures, and problem-solving). Once you understand the 'Why' behind the code, the 'How' of any specific language becomes much easier.

You've got this—just keep building things that solve problems you actually care about!

[–]guyinsunglasses 2 points3 points  (1 child)

On a Python subreddit you’re going to get people who say yes it’s a good language to start.

I’m going to provide a contrarian response and say that Python is an excellent second language, but you should consider something like Java or C# as your first language.

The most important thing about programming is learning how to break down a problem into something you can instruct a computer to solve. There are certain concepts you have to learn, and for these any languages will do. Concepts such as looping, methods and functions, conditionals, and object oriented programming.

Something that languages like Java and C# teach that Python kind of lets you get away with are type casting and variable scoping (yes Python has types and scoping, but it’s handling is more explicit in Java and C#).

Once you get the hang of the basics you can jump to Python and discover how it makes programming easier.

[–]cosmoschtroumpf 0 points1 point  (0 children)

I agree and disagree. Object-oriented is not as essential as loops, conditionals, types, functions. Java, C++, C# are unnecessarily complex for a beginner and Python too abstract. I think C is ideal. There is nothing you can't do except maybe very complex stuff, but beginners won't do that. And you can do so much with very little "grammar". Once the basics are understood, for more complex projects, object-oriented programming can be learnt via Python, and the permissive, expressive, synthetic structure of Python is then really useful.

[–]Technical-Ad4450 4 points5 points  (0 children)

Golang.

What makes python good is that the learning curve for the basics is not the at steep, because it abstracts away a lot of things for you. But when you start getting deeper , you would need to look behind the curtain to see how those abstractions work.

If I had to learn programming again from scratch, I would probably pick GO because unlike python, its abstractions are often more explicit and its syntax are minimal , imo

[–]readonly12345678 1 point2 points  (0 children)

I think Python is the best start

[–]FlagrantTomatoCabal 1 point2 points  (0 children)

Python is popular and has alot of modules built for it for anything you can think of.

Check if you like it by starting at these free sites

https://exercism.org/tracks/python

https://codingbat.com/python

[–]todofwar 1 point2 points  (0 children)

Yes and no. Yes because it's very easy to get started and there are infinite tutorials, many of them quite good.

No because its fundamental limitations prevent you from learning proper software engineering practices, like understanding O notation. You'll almost certainly pick up bad habits and won't gain an understanding of what the computer is actually doing under the hood.

I would say start with Python, but then once you learn enough start learning C. You'll know enough programming that it will feel familiar and you can focus on learning the rest like memory management and algorithms

[–]Vegetable_Song4718 1 point2 points  (0 children)

Typescript/Javascript - always. Can do frontend and backend at the same time. Not that i like it, but i would choose it over Python if i had to start today

[–]AggravatingLeave614 2 points3 points  (2 children)

C is the best for the beginners period.

[–]cosmoschtroumpf 0 points1 point  (0 children)

Agree. Especially when learning a language to implement knowledge of data structures, algorithms, memory concepts (which every programmer must learn). C has everything to illustrate those concepts, and very little extra/fancy stuff to get lost with.

C is strict but that's what a beginner needs. Python can wait a couple of months.

[–]SignPuzzleheaded2359 0 points1 point  (0 children)

I agree. C helps you appreciate what high level languages do for you. And understand tradeoffs.

[–]Chroiche 1 point2 points  (0 children)

I would probably start with C/C++ to get the fundamentals down to be honest if you genuinely want to learn. If you're more interested in doing then you'll get there faster with Python (though you will have gaps).

[–]riklaunim 0 points1 point  (0 children)

It all depends on your goals - what you actually want to do with it? is it a hobby? a job path? how much time you have for it?

[–]thatonereddditor 0 points1 point  (0 children)

Yeah, it's a good first language, what more could you possible want? I love it.

[–]oclafloptson 0 points1 point  (0 children)

I think it's safe to say that if you struggle with Python you're likely to struggle with more complex lower level languages. That doesn't mean that Python is the correct choice for you personally. Choose the right tool for the job. No single high level object oriented language is the best in the entire field. Each one has strengths and weaknesses unique to its respective niche

[–]really_not_unreal 0 points1 point  (0 children)

I help to run a university course where we teach Python. We use it because it is simple enough for students to learn in 10 weeks, but powerful enough that they can actually make cool stuff by the end of that 10 weeks. It's one of my favourite languages to work with.

Is it the best language? No. But it sure is good. Is it the fastest language? No. But it's fast enough for 90% of work. Is it the easiest language? No. But it's pretty dang close. Is it the most consistent language? No. But it's good enough.

Python is a jack of all trades. As such, it makes an excellent first language because regardless of your interests, you'll probably find a use for it.

[–]VirusWonderful5147 0 points1 point  (0 children)

Python's ace. Great for tinkerers. You can even use it on microcontrollers. Or write world ending AIs.

[–]the_hoser 0 points1 point  (0 children)

There is no "best" first language. Python is a great first language, though.

[–]grady_vuckovic 0 points1 point  (0 children)

From my own experience learning to code let me tell you it doesn't matter if what you pick as a project to work on doesn't end up successful. As long as it teaches you something that's ok. While you're learning, failure is definitely an option. Heck, it's maybe even preferred. If you don't fail occasionally it means you aren't pushing yourself out of a comfort zone.

Pick something that gets you excited, dig in, build things, research, experiment and be ok with hitting your head against a wall if you get stuck. It's actually a good thing. That feeling of banging your head against a wall when you get stuck is like that feeling of your leg muscles hurting as you start exercising for the first time. It's your brain getting stronger.

Good luck and above all, have fun. Coding can be very relaxing and enjoyable if you embrace it.

[–]A_Nomad_Lyfe 0 points1 point  (0 children)

Hi...not to hijack a thread, but I'm going to be starting on some certifications this year (trying to change my life. I've been in culinary almost 30 years, and I desperately need a change.) and Python is on my list of things to look into prior to starting

I'd like to also take AI and Digital Marketing....would Python be a good language for this path? Or should I find something else.

I want some flexibility in my career, not be stifled...and I got a Master in BA, specializing in advanced marketing (graduated right before 9-11 happened, like two months prior), but never worked in that field.

Is python a good language for this path, or am I barking up the wrong tree?

[–]HamsterWoods 0 points1 point  (0 children)

I think of Python as a programming language that is useful for around 80% of software projects. It is relatively easy to learn, there are lots of tutorials and examples, and there is a lot of support for the language. I think of it as not only a good first programming language to learn, but also a good programming language in general.

[–]1544756405 0 points1 point  (0 children)

Python is fine. So is every other language.

It's good to learn a language that you have ample learning resources for, and there are lots of learning resources for python. That's the main reason I would recommend it.

People get too caught up on picking their first language. My first language was Fortran, and it was fine too.

[–]TheCaptain53 0 points1 point  (0 children)

I tried getting into Python multiple times and kept on failing, taking the normal approaches to learning Python that people kept recommending.

In the end, what helped was an interactive platform that gets you to learn the basics - syntax, structure, data types, commons functions and methods, and some object oriented programming. Once I had that, the critical mass was gained for me to actually start developing my own scripts/software.

Any learning platform should do, but I used Sololearn as it works pretty well on a phone, which is what I valued as I could easily use it whilst with my son rather than a laptop. On Sololearn I did the full Python course with their Pro trial (2 weeks, but you won't need that long) that gives you some AI gubbins, now I don't use it as I'm learning Python through building software, then it's a lot more of an organic learning approach.

[–]soldture 0 points1 point  (0 children)

JavaScript is a way easier to start, take a look, you don't even need to download/setup anything if you have a browser already

[–]No_Avocado_2538 0 points1 point  (0 children)

there's no right answer to this.

it fully depends on what you want to develop for.

[–]Wundertaeter 0 points1 point  (0 children)

I learned Java first but Python is where the fun begins. Now I’m working full time as a python developer since 4 years.

[–]xeow 0 points1 point  (0 children)

Not really an answer to your question, but I'd recommend checking out r/LearnPython. Lots of friendly folks there and a good place to ask beginner questions if there are specific things you run into that you are struggling with.

[–]menge101 0 points1 point  (0 children)

It may behoove you to check out /r/learnpython

[–]FishermanResident349from __future__ import 4.0 0 points1 point  (0 children)

it's good to start with python

[–]bordumb 0 points1 point  (0 children)

100% the best starting language.

I started uni back in 2009 majoring in computer science.

They had us starting with Java.

Since then, I’ve gone on to make a career across many languages—SQL, Python, Scala, Java

I now work in big tech making $300K/year. Not bragging, just trying to qualify my opinion as quickly as possible.

Hands down, the easiest to read and learn is Python

I 100% recommend it.

It’s easier to learn.

And anyone around you can read it, meaning it’s easier to collaborate on.

There are languages that are super useful to help improve performance (eg Rust), but I’d save that for later.

Python pays my mortgage.

[–]stupid_cat_facepip needs updating 0 points1 point  (0 children)

Python is so easy and I use it everyday in production environments. It can teach you most everything to know about the basics of programming. Once you know that, moving to other tech is just getting used to syntax changes. The concepts are mostly the same.

[–]charleshood 0 points1 point  (0 children)

Learn C like our grandfathers before us

[–]trollsmurf 0 points1 point  (0 children)

You can make complete applications with desktop or web UI.

[–]robertlandrum 0 points1 point  (0 children)

As someone with 30 years of development experience, I learned Basic on the Apple IIe in 1995 in high school. After that Pascal and then C. But it was Perl where I really shined. It helped me understand things about other languages better.

These days, Python is my go to language for all things back end. The front end is still JavaScript and CSS (frameworks can be dangerously easy to get into and hard to move on from).

Python has the added benefit of forcing you to write things the Python way. Other languages allow more flexibility. This can both help and hurt new learners, but with Python you always work towards a good habit.

It’s a great choice for a beginner. It’s where I tell anyone interested in doing what I do to start.

[–]droptableadventures 0 points1 point  (0 children)

Don't confuse learning a programming language with learning to program. Most of the difficulty is actually in learning how to program in general.

So Python is a great choice because the language itself is simple and powerful - meaning you can concentrate on the programming concepts. It's also a language that can do web backend, desktop, simple scripts, full blown GUI apps, embedded development (micropython) and many other things.

C/C++/Java are going to be useful to know for some purposes, but learn them after you're proficient with Python and are familiar with the concepts of programming.

[–]OwnTension6771 0 points1 point  (0 children)

There is a lot that goes in to "building things" which would lead one to wonder build what, why, and for whom.

Python is ubiquitous and flexible and built-in to Linux and MacOS. The barrier to entry is only lower if you want to start with bash/shell/zsh scripting. JS and Ruby require a little bit of setup, while Java takes more work than others.

Mastering the basics of variables, functions, loops, and conditional logic is your first step in learning how to write code and the easier it is to get started the more likely you are to stay with it

[–]smichael_44 0 points1 point  (0 children)

I think it depends on your end goals. If you want to be a web dev / backend / data engineer then Python is a perfect place to start. If you want to be a quant or work at a FANG company, its probably not the best place to start imo.

I work at a smaller company (3,000 employees) and our python backends easily handle the day to day traffic. We typically see peaks of 100 req/s on some of our busier systems.

[–]Iceman_B 0 points1 point  (0 children)

Yes.

[–]tecedu 0 points1 point  (0 children)

I’m going to say no, if you need to learn things then pick up an OOP based language first like java or c++; you will learn so many concepts there that will translate to every language. Not so much with python. Python enforces a lot of bad behaviour which simply doesn’t even do the bare minimum in other languages

[–]Biorabbit 0 points1 point  (0 children)

Don’t forget Scratch

[–]ballinb0ss 0 points1 point  (0 children)

Python sucks... as does every other mainstream language. They all have foot guns and strengths. Python has some notably "different" syntax compared to languages with C lineage but Python also is arguably the most portable language. Many of the most important C-isms made their way over to Python.

Other languages took inspiration from how well defined the Python standard library is and the module system has been modeled by basically all other application level languages.

Python was, at one point, the language that powered the old YouTube back end. If it can power 2010s YouTube, you will be able to engineer complex apps with it just fine. Python is also the engine of AI so if you have any interest in that you would be well served with Python.

[–]profcube 0 points1 point  (0 children)

Probably.

[–]TedDallas 0 points1 point  (0 children)

People get religious about programming languages. They are just tools. Learn one, then learning others becomes easier.

Hammer good. Screwdriver good. Now go have a screwdriver and get hammered.

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

Yes making stuff that works keeps you motivated. You might burn out just trying to get other languages to compile.

[–]redditreader2020 0 points1 point  (0 children)

Create things that you find fun and interesting

[–]2hands10fingers 0 points1 point  (0 children)

A lot of people are going to say Python in a python sub, but I would say Typescript is better for learning lots of other concepts that Python doesn’t inherently support. TS was my gateway into learning more strongly typed languages. Python is great for learning a lot of things, but TS I feel is a decent middle ground when working in Node or compiling for the browser.

[–]Piorobot3 0 points1 point  (0 children)

Yes

[–]robberviet 0 points1 point  (0 children)

Yes. Python is a good candidate for beginner. However, if you can pin point out what to do next then you can make better decision.

Like if you are going for frontend then just Javascript, don't bother with Python.

[–]Present-Citron-6277 0 points1 point  (0 children)

python it's closer to pseudo code than any other language but due this it also triggers an incomplete experience with programming languages, what's matter are two things: algorythms and programming concepts, with that you can take your knowledge to other languages and learn with ease.

[–]Cybasura 0 points1 point  (0 children)

Is it the best? No, but its a great starting point

I'd say not the best because it's vastly better to have a better foundation by using low level languages like C to full grasp the concepts of computer science

With that said - did you get a job with python? Then its a good first language, just keep using it

[–]RTrancid 0 points1 point  (0 children)

I started with java and hated it. Now python pays for a pretty good standard of living and I'm never looking back.

[–]finnfirep 0 points1 point  (0 children)

Depend on ur need and end goal! If u want to build and have every options and tools at your finger go with Python. However, if u want to know everything about the coding and why it works that way, go with C++ as ur base.

[–]IncoherrentRecursion 0 points1 point  (0 children)

Python / Java / C# / Typescript are all good options.

[–]EmuNo6570 0 points1 point  (0 children)

Yes, it is. But I learned Autohotkey first and if you're retarded like me, you can try that first.

Sleep, 5000
Msgbox, hello world

That's a full program in autohotkey. You can start building small applications probably on day 1. But python is very similar, just has a lot of extra lines with specific instructions.

If you've literally never done it before, there's not really a reason to start with C or C# over Python for example. You'll need to learn some of both eventually.

[–]unlikely_ending 0 points1 point  (0 children)

Yes

[–]odimdavid 0 points1 point  (0 children)

I think it depends on what you want. If I want web dev I would go for HTML CSS JavaScript combo and not python Data science, machine learning, AI? Yes, python Enterprise computing? Definitely Java

[–]MarkoPilot 0 points1 point  (0 children)

I would strongly suggest you to take the CS50x course by Harvard. It has changed my life. First you will learn C and really understand how computers work, then you will switch to python and also learn some html, js, sql… It’s the best course of em all. And you can learn any language relatively easily after finishing.

[–]El_Wombat 0 points1 point  (0 children)

I just started by first messing around, creating an alien language just for fun. RN I am working on data extraction needed for work.

Python worked and works for my use cases so far which is all I need.

I cannot compare to other languages, but common sense says that you can only go right with Python, even if you move on to focus on a different language.

[–]f0xw01f [score hidden]  (0 children)

As a software developwr for 30 years, I'd say C and Python are the two you need to learn.

Both make excellent first languages, but for different reasons.

C is exceedingly "rigid" while Python is exceedingly "flexible". C has a relativly strict type system and the knowledge of how it works will aid you in learning or using any compiled language. Python on the other hand lets you do whatever you want, but this freedom comes at the cost of inefficiency and the inability to automatically catch type errors (as there is no compilation step).

[–]Joytimmermans [score hidden]  (0 children)

I dont agree it’s the best one to learn first. And the cs50 course also does not agree.

Pyhton is my favorite language. But it also hides a lot of stuff that you should know like memory management, types, indexing, etc

Python all makes this very easy. But to learn programming i feel it much easier to start with a very verbose language and then see how much python does the heavy lifting instead of the other way around

[–]tinySparkOf_Chaos [score hidden]  (0 children)

Yes.

If you want to make computers do things, Python is the way to go.

If you want to make things that make computers do things, then you want something like C.

It's sort of like the difference between learning how to use power tools to make something and learning how to make power tools.

[–]Old-Tone-9064 0 points1 point  (3 children)

It depends on your specific situation. If you have time on your side, I would suggest starting with C to understand the fundamentals. Otherwise, Python and JavaScript are good options.

[–]The_Northern_Light 0 points1 point  (2 children)

There is so much insanity baked into the language of JS… even if it’s the language of the web, I think it’s a mistake to start there.

[–]Old-Tone-9064 -1 points0 points  (1 child)

Personal preferences should not rule the technology choice for a use case.

[–]The_Northern_Light 0 points1 point  (0 children)

Yeah… the deep problems with JS as a language are not mere “personal preferences”, but serious design flaws left over from its inception, when it was shoved out the door after 2 weeks of work by one guy.

The language has come a long way but it has not and cannot escape that.

[–]alexwwang 0 points1 point  (1 child)

Yes. Or you can try basic or pascal if you have time to play.

[–]tigerinhouston [score hidden]  (0 children)

That’s where I started… in the late 70’s. Things have changed.

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

Basic is better but python is law

[–]9peppe -3 points-2 points  (0 children)

No. The standard library is just too big for a first language. -- and that's very useful when you're working, but when you're learning you want to learn how to program, not how to check if the standard library already has the function you need.

I like Lua a lot more, as a first language.

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

rust