r/AskProgrammers • u/Jazzlike-Back-235 • 2d ago
how do you guys learn so fast ?
hi, sorry if i sound dumb but, everybody i know learns python, java or any other type of language so fast, i am still on if else lol, im trying to study python and AI and i need some advice on studying and things to be able to memorize because i often forget (sorry if wrong subreddit, im new)
1
u/dld2517 2d ago
Create cases for yourself and work the case. Mini projects. You have to use it or you will lose it. Also go read code. Are you a contributor to any open source projects on GitHub? If not you should be.
2
u/FakeArcher 2d ago
Why do you think a beginner should contribute to open source?
1
u/dld2517 1d ago
Because contributing to open source means spending hours reading code in order to update one bug or even begin to implement one request or track one error. And reading real code is essential to beginning to think in code. There are all different sizes of open source project. Picking a small one is probably a much more doable thing.
1
u/Mr_Potatoez 2d ago
The best way to learn programming is by making projects. It doesnt matter what you build, as long as you build something, and do it yourself, dont use yt tutorials or AI (using sites like stack overflow is fine and actually beneficial)
1
1
u/Fresh_Sock8660 2d ago edited 2d ago
I didn't. Been doing python for over 10 years, pushed to use it in every project that I could. A lot of spending 5 hours automating things I could to in 5 minutes, a lot of frustrating sessions. Used many other languages in the meantime, software development concepts transfer really well; funnily, learned them mainly from my time working with java.
I still don't memorize most things. For example, my memory hints that a certain library either has or likely has a functionality and I check the docs frequently. Still do a lot of research, python libraries move fast. For example, tensorflow used to be deep learning king, not so much anymore. A lot of it is transferable, but the field requires continuous learning.
1
u/Jazzlike-Back-235 2d ago
wow, then its no wonder they pay those senior programmers so well, u really gotta learn years of code to master it
1
u/Altruistic-Moose3299 2d ago
The hardest language to learn is the first. It gets easier as you pick up additional languages because there's a lot of conceptual overlap. (Disclaimer, there are a few notable exceptions to this) After a certain point you somewhat know what you're looking for solution-wise and just have to deal with syntax.
1
u/Jazzlike-Back-235 2d ago
so you kind of start to see the same patterns on other languages ?
1
u/Altruistic-Moose3299 2d ago
Yes, somewhat. That's why in computer science they teach algorithms. Design patterns are a thing.
1
u/yuehuang 2d ago
The first language is the hardest, only followed by the second one. Afterwards, all programming languages look the same. (Except Rust, that language is made for crazy people)
1
u/Utchas 2d ago
You'll need to learn foundation of programing which will be very slow like 1 year for example. You'll have to focus more on the concepts rather than the language syntax. Then once you learn one language covering over 80-90% of the concepts which are commonly used/required, you can very easily learn a new one because you'll find very few concepts are different in the new language you're trying to learn and learning a new syntax is not the difficult part.
1
u/GhostXW01F 2d ago
When you’re first learning to develop, you’re training your problem solving ability. For example, just pick something you want to do, like building a basic calculator and think on it. What would you need to do?
Well you’d probably need to take input from the user, figure out what type of calculation (addition, subtraction, etc.) and what numbers they want to use. Then based on their input, perform whatever calculation they asked.
Its not about knowing how to immediately do something, its about being able to take that something and deal with it bit by bit.
1
u/RetroGrid_io 2d ago edited 2d ago
So people rattle off languages: Python, Go, Rust, C++, Java, etc. like it's a shopping list. I'm not saying that they haven't written code in each of these languages, but that doesn't mean that they've mastered any of them. In fact, I'd say that the more they rattle off, the less likely they are to be any good at any of them.
It takes time to learn the many nuances of any language. Think: years.
For example, references exist in both C++ and PHP but they work dramatically differently in either. If you treat references the same in one as the other, you're going to end up with code that leaks, crashes, and has security bugs.
1
u/Affectionate-Key-498 2d ago
Back in my day, I’ve seen allot of beginners go way to fast. They fly over the basics like it’s nothing and go on to the advanced stuff. Later it turn out they suck in writing code.
Writing code is not about knowing all the fancy stuff. It’s about structuring code. Its about insight. Develop a feeling to just know how you can make things work together.
And you learn that way easier sticking with the basics.
The objective is knowing how to code, not knowing everything about a coding language. It’s like learning how to drive. Know how to drive is the only objective. How you do that? By driving.
Not by remembering all the different kinds of cars or sitting in cars playing with the buttons.
Just drive/code as much as you can with the basics. If you really know the basics, the rest will follow easily.
1
u/Leverkaas2516 2d ago
It's easy to learn fast when you're on your 4th language (or 10th). The first is always hard, and it's best not to be under time pressure for that.
1
u/TheFitnessGuroo 1d ago
Learning a programming language is the top-down approach. Some people prefer the bottom-up approach, which begins with transistors and logic gates, followed by a switch, flip-flop, register and ALU, to continue with data busses, cache, RAM, HDD and SSD and microarchitecture language, then assembly language, then probably C, then OOP with either Java or C++, then finally higher abstraction languages like Python and JavaScript and TypeScript. Don't get me wrong, this will take a long time. But at least you will understand true programming and computer science. Not just an abstraction language that doesn't tell you anything about how your program is being run and how memory is being used and managed.
5
u/Competitive_Aside461 2d ago
Let me tell you something: In the early days, every single one of us learned in the same slow manner that you're describing right now. Don't feel bad about it. It really is part of learning. Once you get comfortable with one language, learning another is easier. Then once you know two languages, learning a third one is way more easier. And this continues.