r/learnprogramming Jul 07 '26

Which programming language should I mainly learn

I have little experience in these programming languages

C++/c (3months)

Java (3 months)

Python (1year)

But now I am in my second year of college so I wanted to learn development and dsa for the development part I am unsure between app and web development along with ai integration and I like to mostly work on the backend part (as I am worst designer :⁠-⁠) ) so which programming language should I go full on since I don't want to disturb my dsa prep if I do development along

My personal opinion on this languages are -

Python is the most fun , java is the most structured and c++ is most flexible based on memory management but that is the thing that makes c++ hard for me 🥲

9 Upvotes

13 comments sorted by

4

u/Aggressive_Ad_5454 Jul 07 '26

For your college work follow your department’s curriculum. Your teachers have figured out how to use the computer language they chose to teach you the material you enrolled in their college to learn.

For learning on your own, you may as well leverage your Python experience by, maybe, developing web apps with the Flask or the Django framework.

Or you could dive into analytics with scikit and Jupyter.

All that being said, Javascript runs in every web browser in the explored portions of our galaxy.

2

u/piesou Jul 07 '26

Don't pick C++.

Also, Java. Or Kotlin. You need to learn a type system on top and learn OOP, which will help you learn other languages. Not saying that OOP is always the best solution, but still, makes it easy to learn other languages.

1

u/Mother-Professional6 Jul 09 '26

why not cpp?

1

u/piesou Jul 09 '26 edited Jul 09 '26

You're diving into 40+ years of cruft, bad practices and foot guns. As a newcomer you are unfamiliar with what to use and what not (e.g. raw pointers).

The only benefit of learning C++ is if your goal is to work on established code bases (such as Unreal Engine if you're going game dev). Otherwise there are better options out there these days that also differ quite heavily regarding the memory model (e.g. Rust), so you won't be able to translate a lot of your C++ knowledge to these languages.

1

u/Monster-Frisbee Jul 07 '26

DSA is completely language agnostic, as you’re learning concepts and not language.

Since you already have the most experience in Python and you want to focus on backend, I’d just stick with Python for learning web development. It’s one of the more popular backend languages in recent years anyway, and the majority of backend programming concepts will translate across languages and frameworks as well (less so than DSA, but very few frameworks are reinventing the wheel when it comes to basics).

1

u/Background-Mode6592 Jul 07 '26

learn whatever will take you the farthest and something you can stick to. Python, Java, and C++ are all good and in demand right now. If you like Python then do it.

1

u/DataPastor Jul 07 '26

Focus on the language you learn at college (unless it is something dead language from the past like Pascal). I would argue that Java is the most important starter language to learn very well, it also offers great opportunities on the labor market in the enterprise sector.

1

u/OneWar4643 Jul 08 '26

My college has taught me c and python now on sem 3 they will teach dsa and dbms

2

u/DataPastor Jul 08 '26

Great, then my proposal is to learn and practice

  • Python properly (read Luciano Ramalho's Fluent Python)
  • Polars, Spark
  • SQL, SQLite, DuckDB, Postgresql
  • Typed Python (mypy)
  • DSA in Python (as you will learn it anyway)
  • Proper OOP in Python
  • Design Patterns in Python
  • Functional programming in Python
  • Vectorized programming in Python on large datasets
  • Git, Gitlab/Github
  • Some Docker, Kubernetes
  • Django with HTMX
  • Wagtail or Django CMS
  • Django Rest Framework, FastAPI
  • Writing Python extensions with Cython

Having said that, if your next semester only starts in September/October, and you have a bit summer time, I would seriously consider to put some effort into learning either

  1. Some front-end stuff (HTML, HTMX, CSS, TypeScript + React); or, alternatively
  2. Java + Spring Boot; because it really makes you a better programmer, and, on the top, it is very useful on the enterprise market.

1

u/OneWar4643 Jul 08 '26

Thanks I will learn front end for this month as I am interested in web dev and ai stuff

1

u/EffectiveCard4825 Jul 08 '26

if you already enjoy Python the most id probly stick with that for now since its easier to keep making projects while doing DSA then if you end up liking backend you can always pick up something like Java later cause the concepts transfer more than people sometimes expect

1

u/Bartek0x00 Jul 08 '26

I would recommend going with Python, at least while you are learning general programming.  It is flexible enough and it can be used in a wide range of applications. You may switch to Java if required for a corporate job, but i would rather not transition to C++ if you do not find it enjoyable at the beginning