Posted by : francesco Time : 07/03/2025 14:54
Posted by : francesco Time : 07/03/2025 14:54
If you had the opportunity to reset your learning, and map out which programming languages to learn first, what would be the order?
Like higher level programming languages like Python are easier to learn, but would learning C be worth it to understand the underlying concepts in coding? Like Javascript is important to learn, but should it be before Python? Before C++?
Hi francesco,In Summary of the reasoning text below:1. Select minimum or 1 language to learn/specialise in2. Order if you don't know what to learn would be: Python or Java or C, then learn JS ONLY if needed3. Concepts of OOP and Data Structure Algorithms are more important than the specific language itself no matter the branch of SWEReasoning text: Just for reference I learned my set of languages in this order: SQL -> Python -> C++ -> JS/React -> Java -> C. *This wasn't planned* It happened because I wanted a career in Data Engineering, then learned C++ at uni, JS/React in my own time to build a web portfolio/apps -> Java to build back end REST API, and C because at uni. I'd recommend you focus on the minimum amount of languages based on you career needs, [link removed] I did Python for Data Engineering and could easily use Python knowledge *alone* in my day to day job and intend to use it to switch to quantitative development and can use it for job automations, ML & Agentic Programming, back-end development, Full Stack (Django/Flask w/HTML-CSS), and Front-End Functional Testing (Selenium). So, you may be wondering, one can do a lot with just python and it's the easiest to learn - so why learn any of the others? Again, I'd say it's based on your career choice, as another language may perform better in some aspects than python in the branch of SWE you want to go into. [link removed]:Data Science/Engineering/Analysis: Python/JavaFront-End Dev: JS (React Framework)Full Stack Dev: Python/Java -> JS (or even just JS alone)Embedded Systems: CAlgo Trading/Quant Dev: C/PythonLearning python first is simple and gives you the luxury of experimenting more easily across different branches of software engineering/development than other languages. You could simply learn one language C or Java and not really need further languages depending on field. Finally, when learning your selected language focus on learning the concepts of - OOP concepts and Data Structures (and multithreading if C/Java) as these are transferable and will make you "good" at all languages even if you don't know it yet.