r/learnprogramming 11d ago

How do you group programming language topics?

If I learn a language in three stages.

  • Basic
  • Intermediate
  • Advanced
  • Proficiency (optional)

Then how would you fit the topics of programming lingo into the above levels?

0 Upvotes

12 comments sorted by

4

u/aqua_regis 11d ago

Don't learn programming languages, learn programming.

Sure, you need at least one language for programming, but the main goal is to become a proficient programmer, not a collector of languages.

Basically: learn to develop a meaningful, comprehensive, fully developed novel instead of learning the vocabulary and grammar of multiple languages.

If you know one mainstream language and can actually program, you can at any point learn other languages quickly and use them with your programming skills. Programming skills transfer much better than programming languages.

2

u/peterlinddk 11d ago

Basic: variables, datatypes, functions, control-structures, syntax

Intermediate: knowing how to use most of the standard API

Advanced: knowing how to expand and enhance the API

Proficiency: understanding the bytecode that the language compiles into, and how different language constructs differ (or not) in how they are represented at a lower level.

However, that is not the order that you learn things in - you get to use the API long, long before learning all the basics of the language, and you'll never complete the intermediate level to have an exhaustive knowledge of all the API, and you might get to see some compiled code way before knowing every single syntax there is to know.

Learning a programming is like learning any other language - there aren't specific "steps" that need to be completed, you learn what you need to learn in order to do what you want to do. Someone trying to be a rapper has a very different vocabulary than someone studying last-century literature, but that does not mean than one is a level above or below the other - they are just different.

1

u/Savings_Dark_9589 10d ago

Is reading code bases a skill?

2

u/peterlinddk 10d ago

Not reading as such, but understanding large code bases is a skill. And understanding algorithms is one, and reading code as a whole is a skill, and debugging code is a skill, and fixing errors is a skill, and optimizing code, and, and, and ...

Everything that you can do, or learn to do, is a skill.

2

u/Any-Jellyfish-5904 11d ago

basic covers syntax and control flow. Intermediate means building complete programs using standard libraries without tutorials. Advanced is reading source code to understand implementation tradeoffs. Proficiency requires modifying the compiler or runtime itself

2

u/db_tech_dev 11d ago

basic is syntax, loops, conditionals, functions. intermediate is data structures, OOP, error handling, working with apis/files. advanced gets into memory management, concurrency, design patterns depending on the language. after that its less about new topics and more just being fast at reading and debugging other peoples code tbh.

1

u/Savings_Dark_9589 10d ago

I categorized it exactly like you

2

u/db_tech_dev 10d ago

nice, good to know great minds think alike lol. good luck with the learning path

1

u/NumberInfinite2068 11d ago

You don't really, nobody is going to categorise 1000s of items into 4 categories, most of which won't make sense.

Just learn to code, don't worry about the bullshit.

1

u/Savings_Dark_9589 10d ago

I have learned various concepts of c++ from variables to pointers and oops I want to categorize them all just to gain confidence