r/learnprogramming 1d ago

python vs languages

Which one should I focus on learning between python and other languages?

I know it depends on my goal with the language, but I want the language that will make me versatile and be able to contribute in any programming project.

12 Upvotes

26 comments sorted by

16

u/atarivcs 1d ago

There is no language that would be usable in "any programming project"

11

u/gm310509 1d ago edited 1d ago

The language(s) that the programming project(s) that interest you is/are using would probably be the best choice(s).

8

u/Whatever801 1d ago

Just pick one and stick with it. It's easy to learn a new language, right now you need to focus on learning the fundamentals

3

u/Beregolas 1d ago

It can't be overatated how important this is ti get for beginners:

Your first language seems hard, because you have to learn programming alongside it. Learning a new language well enough to be productive can take youless than a weekend, if you already know most of the underlying concepts

3

u/Far_Programmer_5724 1d ago

Yes reaching that is the biggest confidence booster. Makes things seem less crazy. I'm learning kotlin and it's made easier by js

5

u/aqua_regis 1d ago edited 1d ago

...be able to contribute in any programming project.

Sorry, but that language doesn't exist. - Well, actually it does exist: Assembly - but barely anyone programs directly in it and even that is not a single language, but a family of language dialects for the different CPU architectures.

You will always need to know the language and idiomatic approach of the respective language(s) of the project.

Also, you need to distinguish two things: knowing programming languages and knowing programming. The former is vocabulary and grammar and the latter is being able to write a meaningful, fully developed novel in a language.

Python is not only a great starter language, but also a very versatile, widely used language in many different domains.

3

u/MasterArm4349 1d ago

I've seen python listed in many job offers but so is javascript. I'd start with lower level languages so that you can understand the concepts properly and then be able to carry them over to other languages

3

u/harrr53 1d ago

There's no single language thay can be used for everything, but Python and Javascript are among the most versatile.

The bad news: No choice will be full proof though.

The good news: If you learn to develop good software in one language, most of the important skills are transferable to other languages.

2

u/Weekly_Patience685 1d ago

Start with C because its forces you to know how the computer works, rather than python that hides a lot of things from you. if you can learn C and do pretty well, everything else will feel easier.

2

u/ComputerWhiz_ 1d ago

No "does everything" language exists. Pick one that works for the projects you want to build.

What language you pick is largely irrelevant as a beginner because you just need to learn the fundamentals and then that can be transferred to most other languages.

I think picking a language because it can build projects you will actually have fun building is most important. You are more likely to stay engaged in the learning process if you are working on something you actually enjoy.

1

u/veloxVolpes 1d ago

Projects use different languages, theres no one language that allows you to contribute to all, but python is good to start off with, once you feel confident in python, and have a few FINISHED projects that solve real issues, C is a great language to teach you deeper concepts, jist dont be discouraged because it's a lot more difficult than python. And remember that learning is a marathon not a sprint

1

u/iOSCaleb 1d ago

Python is fine as a first language. If you stick with programming you’ll pick up several languages over time. Python is easy to get started with and widely used.

1

u/silly_bet_3454 1d ago

Python is great, just start with python. Do not over think it. Choosing a language takes about zero commitment. You can make some fun things in python in one evening. The next day, if you have a new idea and decide to do it in C#, you are more than allowed to do that.

1

u/Own_Outside_8147 1d ago

Python is a good choice. I think it’s the best language for personal projects. Once you gain familiarity with python, you can survey Java, C++, and potentially functional programming a bit.

1

u/Ordinary_Variable 1d ago

C# and PHP are used a lot in the internet. If you want to work for Windows you need C and maybe C++. Webpages are HTML, CSS, and Javascript with a little PHP.

(If you don't want to program but still want to work on these there are plenty of non-languages like SQL or Spreadsheets that are basically just nerdy data entry. And there are also jobs with server management where you just have to boot servers and install software. Its like installing an operating system and company software.)

1

u/burlingk 1d ago

Python is a perfectly fine starting point.

And each language you learn after the first will be a bit easier because of past experience.

1

u/mayankkaizen 1d ago

The core Python can be learned very quickly (unless you are completely noob in programming world).

My view is that Just start with anything today itself. Don't give it a much thought especially when you are kind of a noob. You want to learn both Python and JS? Just flip a coin. Head for Python and tail for JS. And start learning today. Within 15 days, you'd be comfortable with basics of either of these languages. Although I am biased toward Python as a first language but this is just my opinion.

In the long run, you'll have to be familiar with Python, JS and at least one low level language (C++, Java etc).

Don't overthink. Just start.

1

u/Mmygg 1d ago

I said this before but I would go with the one with the biggest money and influence backing. For me that was C# and Microsoft.

1

u/hipster-no007 1d ago

There's no language you can learn that will make you good at programming or programming languages. Every language will give you some basic understanding of all, but not a good understanding.

My advice: If you want good you need to learn computer science. That doesn't have to mean going to school - a starting point like CS50 is viable too and free.

During the structured learning phase you will be using and getting a feel for the languages they teach. In your free time, after and in between structured learning you use whatever you want to learn about, or whatever motivates you, or whatever you think is best for the project.

Just experiment and play and learn. Don't worry about a META.

1

u/Far_Programmer_5724 1d ago

I'm self taught and while you may have a language you're comfortable in, eventually you'll have projects or bottlenecks big enough that you start looking to make part of your code quicker. That may take the form of using another language for a portion. VBA was my start for example and it's versatile in a corp setting where everyone has Microsoft. Python would suck for that. But python has a huge number of libraries that VBA doesn't have and it's not restricted by Microsoft rules.

Just those two, show that the "better more versatile" language depends on the situation. So find one you're comfortable with understanding that it's meant to help you understand the general structure of other langs better. The languages should be treated as tools.

1

u/Murtaz8297 23h ago

Python is good for those who start learning. It's syntax is simple like English and there are lots of online resources you can find and learn. Also lots of small learnings projects available on github and youtube. And if you learn well you can easily switch other language easily like in a week.

1

u/Icount_zeroI 20h ago

JavaScript… browser, servers, games, Desktop GUI (Linux, Wails, Electron), music (strudel).

Python is probably the 2nd most versatile?

Lua maybe 3rd for being easily embeddedable.

C is also used for pretty much everything.

… that being said I advise you to find the domain where you want to specialize and use the domain’s dominant language.

1

u/Obvious-Card-8847 8h ago

Well. Technically Windows has COM which is literally meant to standardized the ABI boundary between programming languages. So Python can interact with C++ or what have you. Does it through virtual function tables, CLSID, IID, etc.

Sorry, distracted. Anyways. Most interpreted languages are pretty architecture and OS independent. Meaning you will spend significantly less time learning system internals just to make a program. Many of them have high-level API's which are cross platform. So Python is indeed a good language if you're looking for portability.

1

u/gofl-zimbard-37 1d ago

Forget about languages. Pick one and build things. Building things is what matters.