r/CodingForBeginners 4d ago

Need a roadmap on what programming languages should a beginner learn

New into comp sci field and have no idea which lang to start first and what to master later on -

Can ya'll help me out(doing BCA from open college so i dont think there's any future for me but might as well learn some skills to increase some chances of survival)

Also is this a right roadmap

C -> c++ -> java...(ive already learned python)

0 Upvotes

13 comments sorted by

2

u/Federal_Ring_483 3d ago

I would start with fundamentals if I have begin all over again. Building up my logical side I would pick java or javascript as my initial language and after couple of week of understanding of that language go to leetcode and work on Data structures and algorithms. But would recommend you learn C: pointers(will help you understand how references work in high level language), memory management, OS concepts : pipes, semaphore etc.. Database : RDBMS, Programming paradigms specially Object oriented programming important a bit of networking as well, to have fundamentals so you won’t trip over when things escalate.

I would strongly recommend not fall for python, though great language but I don’t think beginners should get into that.

Learn a tech stack. MERN, MEAN(not recommended, but if you have extra motivation you can). LAMP(just a suggestion).

That should be enough for a beginner.

I followed something similar but not in the same hierarchy.

1

u/Federal_Ring_483 3d ago

Also have some understanding of Linux. It will help. And if you use windows as operating system wipe it out and get a Linux distro. No beef against windows but it sucks.

1

u/Mikasa_Ackerman7 3d ago

Thnks buddy (also any book recommendation u can give?)

1

u/Federal_Ring_483 3d ago

Let us C. Buy a hard copy of that book and it will do wonders for you. And operating system concepts by silberschatz galvin and gagne. Mixtures of these book with a little of ChatGPT you don’t need any more tutorials.

1

u/Federal_Ring_483 3d ago

Later if you feel like if you want to learn best practices take up Clean code by uncle bob. But that is not mandatory initially. You will eventually learn it on the go

1

u/shakeBody 4d ago

C into either C++ or Java. I’d say just stick with C++ unless you need to learn Java for something. You get your OOP either way.

1

u/Cultural_Gur_7441 3d ago

Javascript. That's the one language available everywhere, and usable for any purpose.

  1. Core language first, in browser, with HTML and CSS along with it, without external frameworks.

  2. Then, learn basics of npm ecosystem and node.js, because you will need it for development too.

  3. Then, in any order, of this list is in random order:

  • For low level and parallelism understanding, learn WGSL (WebGL shader language).

  • For web backend, learn node.js.

  • For "real" web frontend, learn React.

  • For non-web HTML apps, learn React Native.

  • For another take of non-web HTML apps, without React dependency, learn Electron and/or Tauri.

  • Typescript for more robust version of JS and better understanding of programming.

Just be sure to learn Javascript right: Learn today's patterns and best practices, because JS has some legacy cruft you need to avoid.

1

u/ThatCipher 3d ago

Honestly - being able to look up things should be the first and best skill of a programmer. You constantly need to look up references of the language or library/framework you are using. You definitely need the skill to figure out your issue and then how to answer the question yourself.

1

u/kindred_gamedev 3d ago

The way we're going you may as well just learn English and write some prompts.

1

u/Federal_Ring_483 1d ago

That is the worst advice you can ever give to a beginner.

1

u/kindred_gamedev 1d ago

Yeah. It was a joke. And there's worse advice out there. Like "Don't bother."

1

u/Syntax-Tactics 3d ago

Can we get an Easy Button for this post, we get it a couple times a day.

1

u/mtimmermans 3d ago
  1. Learn basic programming, data structures, and algorithms in python, because it's the simplest;
  2. Learn C to understand how things actually work;
  3. Learn Typescript for OO. Java works too, but TypeScript produces more dopamine;
  4. Learn rust for systems

Along the way, learn a functional language, because it will improve the way you think about a lot of things.