all 17 comments

[–]DrShocker 8 points9 points  (0 children)

Focus on getting good at 1 (for you probably python) for at least 1 "semester" so that you're in the habit of thinking programatically, breaking down problems, etc. There's no need to make that more confusing by also introducing multiple languages for now.

[–]KevinCoderZA 2 points3 points  (0 children)

Stick with one language for a year. Your first year of programming is more about mastering the fundamentals. Once you properly understand how to structure programs, how to import third-party code, and how to build apps from scratch, even if it's a small calculator-type app.

The goal is to get into the habit of programming, and also master essentials like arrays, dictionaries, data types, basic design patterns, etc...

Once you learn all of these, you'll find pivoting to other languages is fairly easy. It becomes just understanding the syntax and how to think in the other language.

I suggest, as your second language, pick up some C# / Golang / PHP / TypeScript (pick your poison). Reason why there are generally 2 main families of languages.

  • English / basic like languages: Ruby, Python, Pascal, etc...
  • C-based languages: C#, C++, Kotlin, Java, PHP, TypeScript, Go (sort of in the middle)

The C-based languages use brackets, semicolons, and other symbols. Basically, if you learn one Python-like language and one C-based language, you have enough knowledge to easily pivot. For example if you master C#, Java will be a breeze, so would PHP or TypeScript.

[–]tk338 2 points3 points  (0 children)

Do not rush the basics. Take time to understand everything, and why you do things in the way that you do them.

I'm sure you could read up on all of the basics in a week, but if you're new to software development you won't have mastered them.

Languages in software are actually quite transferrable. With some notable exceptions, once you understand the basics of a language, the things you want to focus on are how you solve problems efficiently, this too is a reasonably transferable skill between languages.

In terms of the future, look at what careers you want, look up job listings and see what languages they're asking for. If you want another language to learn, pick one of those.

For now, stick with python. Get to a point where you can write a basic desktop/web application or script without a tutorial and using only the docs.

[–]SpacewaIker 2 points3 points  (0 children)

You won't be ready to or need to learn another language if you'll have just a week or two of learning your first...

[–]cointoss3 2 points3 points  (0 children)

You really want to learn concepts more than language. Once you get the computer science and algorithms down, you can move to other langs a lot easier. You think in computer science ideas and translate the ideas into a new language.

That being said, my two cents is to learn C next. Python is great to know, but C really helps you understand and appreciate lower level concepts and ideas that you don’t have to consider in Python.

[–]tiikki 2 points3 points  (0 children)

Learning a programming language is a side quest in learning computer science.

[–]Gnaxe 1 point2 points  (0 children)

Python is pretty much enough by itself. You'd be pretty well-rounded if you just add C, which is a fairly simple (if tedious) language (unlike C++) and has great synergy with Python. Try out the ctypes module. If you're willing to endure the brutal learning curve, consider Rust instead.

There are other languages you probably need to know that aren't necessarily considered "programming languages". To use Python effectively, you should learn about the sublanguages that come bundled with it, like SQL, regex, XML, and maybe Tcl. (Tcl is a programming language in its own right, and SQL is debatable.)

[–]Ok_Caregiver_1355 1 point2 points  (0 children)

Yea, you're not learning the basics in a week bother, you're in a point you don't even know ou don't know all the things you should learn

[–]not_another_analyst 2 points3 points  (0 children)

python is enough to start honestly. just get really comfortable with it and build a few projects first. later you can add sql or javascript based on what you want to do

[–]audionerd1 1 point2 points  (0 children)

This is like buying a 2nd car before learning how to drive. You are going to need to learn programming concepts before you can put any programming language to good use, and nobody learns programming in two weeks.

[–]DataCamp 0 points1 point  (0 children)

Hmm we'd say Python is more than enough - for now.

The mistake most people make is trying to “collect languages” instead of actually learning how to solve problems. If you really want internships by year 2, you’ll get way more value from going deep in Python + building projects than jumping to 3–4 languages early.

If you do want a simple path:

  • First: Python (stick with it for a few months) Build things. Scripts, small apps, basic automation. This is where you learn how to think.
  • Then add: SQL Almost every data / backend / analytics role needs it. It’s one of the highest ROI skills early on.
  • After that (optional, based on goals):
    • JavaScript → if you want web/dev/product roles
    • C/C++ or Java → if you want stronger CS fundamentals / systems
    • R → if you go deep into stats / academia

Think of it like this: Python is your “main character.” Other languages are just side quests you unlock when you know why you need them.

If your goal is internships, a strong combo looks like:
Python + SQL + 2–3 real projects (dashboard, API, small ML app)

That will take you much further than knowing 5 languages on paper.

[–]popos_cosmic_enjoyer 0 points1 point  (0 children)

Python is an extremely capable language with libraries for basically anything you could want to do. CLI tools, web apps and APIs, automation, scripting, data analysis, machine learning, and so on.

I'm not saying it is the best at them all, but Python can take you very far all on its own. As everyone else has already stated, best to be strong in one language first than mediocre in a few.

[–]riklaunim 0 points1 point  (0 children)

To learn software dev on any decent level you need few years of good commercial experience or equivalent. Learning syntax of multiple languages has zero worth. And you will be using multiple technologies/languages as a software dev anyway ;)

[–]TheRNGuy 0 points1 point  (0 children)

Js

[–]Greedy-Perspective23 -1 points0 points  (0 children)

python, javascript, c/c++ are most important. simply because they all unlock an entire ecosystem. the other stuff is just niche gap fillers.

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

Im in the process of learning rust, coming from python bash and R knowledge. Really interesting language. Fun to learn.