Honestly I just open up a new project and start fucking around until I figure out syntax, language features, and how files relate to each other
- Start with an ambitious project
- Get stuck
- Curse everything about said language or framework, “why did they do it like this”
- Read the docs and find out why they did it like this
- Feel stupid
- Finish the project (or at least the part you actually cared about) with your new knowledge
- Feel smart
- Repeat until you know said language or framework
Easy to get caught in a perpetual loop with steps 4 and 5
You should be learning a bit more with each loop though.
Even banging your head on the wall against something eventually gets you somewhere.
- Read the documentation
- Try some simple examples from the docs
- Build a simple project
Get theory from somewhere on the Internet (videos, tutorials etc.), then do exercises on platforms like Exercism. Once you feel like you are getting good at it, start replacing the time for exercises on time with real projects
Is it possible to build XML parser in it?
If answer is yes then i will build XML parser in it.
Solving a problem you know how to solve and solved more than once is a my goto approach in learning languge or frameworks. Translation of already solved problem to the new operational model or semantic exposes a lot internal stuff and marketing double talk.
This is a lot of work and time so can not recommend it for all cases and situations.
i like to douse myself in mud, then slowly creep up on it from behind, taking extra care not to break any twigs or ruffle any leaves, then I grab it and hold on for the ride of my life
Rewrite one of my old C projects in it and compare the difficulty, ease of understanding the code, any issues/boons in documenting it, etc.
Read. Build. Repeat.
Start a project with a good template and learn by tinkering. Some languages/frameworks have some canonical starter templates (.NET, Phoenix/Elixir) and most others you can find by googling “x boilerplate.”
Build something that already exists. My go-to is usually dir.exe.
I’ve started using LLMs for this. You can get up and running incredibly fast this way.
I use enterprise bing at work so it sources each sentence so I can go directly to the docs if I need to.
I’ve found it really superior to reading docs as it’s interactive. Being able to ask follow up questions is very powerful.
I’ve noticed the new batch of juniors at work are able to get productive very fast by using them.
Solve advent of code in it
This is what I do, too. Good for programming languages. Not always applicable for frameworks.
rebuild stuff
I’ve remade a temperature converter cli 3 times in rust. Just to understand enums, structs and the borrow checker. Then I made an http server, that acted as a library’s book borrowing system.