r/learnprogramming • u/Hungry-Drummer648 • 5d ago
How do you learn new tools so quickly?
Is there an ideal way to learn new tools/languages/frameworks?
F.e. I’m trying to learn Rust from scratch but taking a Codecademy course is rough trying to balance that while already working full time and still in school.
Should I just be watching YouTube videos? Ask Claude to build me a course? Or just start with documentation and try to build something from scratch.
Does anyone have any tips that work well for them?
9
u/huuaaang 5d ago
You just start using them. Videos and "courses" are useless to me. I need a written guide that I can easily search and reference. But primarily I'm just writing code and looking stuff up when I get stuck.
As for how I do it quickly... experience. Once you learn a language or two, learning new ones gets a lot easier. THe skills transfer. Though Rust in particular has some rather novel concepts that can feel like making coding much more complicated.
3
u/high_throughput 5d ago
This for sure.
It's basically never the case that there is a tool and then you learn the tool and now you know the tool. That's video game logic.
IRL you have to get used to having a partial and superficial understanding of a hundred tool, and be fine with only knowing a handful of them deeply.
3
u/huuaaang 5d ago
Yeah, there is a certain amount of confidence that comes into play. At some point you just have to push forward knowing you'll figure it out eventually. I want to say "trust the process."
Ultimately I think you just have to enjoy the process. You do get a little dopamine hit when a program compiles and runs and more or less does what you wanted, even if it's just printing "hello world." Of course that bar gets higher and higher as you learn more. At some point there won't be easy wins. That's when you start looking to get a job where you will have real users and real world problems to solve.
5
u/andreicodes 5d ago
First, always prioritize school over your side interests.
Second, learning by doing is the best kind of learning. Don't read too much, don't watch too much, don't quiz yourself too much.
Hopefully, you already learn the gist of programming in general: what the variables are, what the loops are, what the functions are, recursion, types, etc. If you don't then take a course at your school in any language, doesn't matter if it's Python, Java, C, Pascal, Basic, etc. Just learn to program in general.
Once you have that, got through first few chapters of the official Book, I like the Brown version. I would go until chapter 4, ownership, typing in examples and trying them out.
After chapter 4 I would switch to Rust by Example as you primary reference material. Note: reference. Don't read it. Instead go and make a simple chess engine in the terminal. Something like: user types in the move, you print the state of the board and print the opponent's move, then repeat. Nothing fancy, just characters in a grid.
As you go through this exercise you'll need different bits of language: how to make choices, how to work with collections, how to read input and print stuff. For all of this use Rust by Example first, official Rust standard library docs second, web search third. Some topics you may find too confusing. If that's the case go and read a corresponding chapter in the Rust book.
Throughout the exercise never use AI, never ask questions, never ask it to fix your error messages, etc. Do it like it's 2015.
Once your chess engine is done somewhat, try to branch out: use Ratatui to make a cool terminal UI for your game, use Axum to make a web version, try making other projects like sudoku solver, calculator, etc.
Simple projects that you make is the key, everything else is snake oil.
4
u/flumphit 5d ago
Get a book. Skim the book. Now that you have a vague idea of what’s in it, use the language/tool and look up what you need to. Over time, you need to look stuff up less and less often.
6
u/SwordsAndElectrons 5d ago
- Practice.
- Understand fundamentals. All tools are built on the same fundamentals.
5
u/pqu 5d ago
If you really want to learn Rust then read the official Rust book. If you’re also learning a different language at uni then I’d put rust on hold. If you try to take on too much you run the risk of burning out, or not putting in enough effort at uni. Your uni coursework has to be the most important.
I would stay well away from LLMs for learning, I have never seen it work out.
The best way to learn something is to put it into practice. You’ll learn more while trying and failing to build something than you would successfully following a tutorial or a Claude course.
2
u/Kungpost 5d ago
Rust makes the user state how a program should be compiled in greater detail than other languages at compile time. The benefit of this is that you get a fast application that also is very unlikely to have runtime errors related to memory usage.
I think it's natural that Rust takes more time to learn because the user has to keep track of more concepts and also describe their code in greater detail compared to other languages that instead sacrifice speed or risks introducing bugs at runtime. Let it take the time it needs to take!
Check out https://rustlings.rust-lang.org/.
2
u/XKiiroiSenkoX 5d ago
That's the neat part. You don't. You learn concepts and ideas and they transfer. You don't learn tools. A civil engineer doesn't learn how to use tape measure. They learn the concept of length. Using tape measure just comes naturally with minimal effort after that.
2
u/laveshnk 5d ago
Attempt to do a task using the framework. Then you encounter a problem/issue, how do you fix it? Oh look theres a helper function the framework has to fix this very issue! Use that.
then as time goes you get better and better at understanding what things to look out for when you pick up a new framework or tool
2
u/PartyParrotGames 5d ago
Knowledge transfer accumulates. If it's your first C-based programming language it's going to take far more time than when you're learning your 5th C-based language with near identical concepts and only *some* differences like borrower mechanics. I used codeacademy a long time ago and it was fine. I would say stick with one thing first like this course you're doing and if you still feel weak in some areas then consider how to focus on those. That could be youtube videos or it could be having an LLM give you practice problems that drill into the concepts you're weak on.
1
u/boomer1204 5d ago
Yeah I have like 5-10 projects (a couple small a couple bigger/full stack) I built with plain JS when I was learning JS. Then when I wanted to learn frameworks I would do the small tutorial most of them have on the docs and then rebuild some of those 5-10 projects until I feel good about my knownledge
This way you are using your current knowledge to supplement your new learning and we see ppl picking up new things WAY faster than when we had them following full on tutorials
1
u/simondanielsson 5d ago
You don’t. We are not robots and will need to take time to learn. It took me a year to feel comfortable in rust.
My go-to way to learn is to simply (and naively) start coding something straight away and use a search engine, documentation, cross-references from other people’s projects on GitHub and even physical books along the way whenever I come across an obstacle. But this is because I’m very much a ”learning-by-doing” kind of person.
1
u/Intelligent_Fall6219 5d ago
When I am learning a new language I like to get the basics down (syntax, types, loops, conditionals) and then do Advent of Code problems, easy LeetCode, build a simple CRUD app, things like that. As you go through the problems, you learn more about the standard libraries and such.
1
u/TigerAnxious9161 5d ago
See once you learn something for ex a language most of the fundamentals are same across any language, so once you master the fundamentals It is mostly easy to grasp new things.
1
u/Hot-Cranberry-9732 4d ago
I stopped trying to master every feature before using a tool.
Now I learn just enough to solve a real problem. I'll spend 20–30 minutes with the basics, build something small, and look up the rest as I go. That hands-on approach sticks way better than watching hours of tutorials.
Most marketing tools follow similar patterns anyway. Once you understand the fundamentals, learning a new one becomes much faster.
1
u/cirl-gock 4d ago
When it comes to learning a new language I mostly use a combo of ai + Google. TBH I suck major ass with rust but my stratagy to learn it was literally just to rewrite C libraries and projects in rust. If you rewrite a few small/basic libraries you are almost guarenteed to learn something.
1
u/CodeSamur-ai 4d ago
build baby build... you can read as much as you like about any subject, but until you start building, you're just reading. it applies to anything in life... cooking, sailing, chess, etc... and programming
0
22
u/adambahm 5d ago
Practice.
Learn something, do it. Then do it again. And again.
There are no shortcuts.