Hello guys,
The title says it all, I have noticed that things that I look for and apply take weeks before finally getting it done. while my friend was is in the field for 5 years now does it in 5 minutes (before he started working). How do you find the answer that you are looking for, there is a lot of knowledge out there, finding the right answer is hard.
Few more questions
How to get better in using proper terminologies?
What are your top tips for getting better in programming?
How to not get frustrated when you can't solve something?
How to make the programming enjoyable even when it seems like nothing is working? or in difficult times? Like an exciting challenge.
How to make your own notes on programming, this is really difficult for me to understand as well.
For some people problem solving is easy, they have probably been doing it a long time. For others it can be exceedingly difficult to master, to master it you need to practice, practice, practice.
"How to get better in using proper terminologies?"
Again practice, reading documentation, practice, practice.
"What are your top tips for getting better in programming?"
Programming, programming, programming. And remember that programming is more than writing code, you need to understand the problem, design a possible solution, write the code.
"How to not get frustrated when you can't solve something?"
Step away from the computer for a while, step back and make sure you really understand the problem you're trying to solve. Can you solve the problem manually, with pen and paper? Don't be afraid to throw the program out the window and start over. Understand the problem, design another possible solution, write the code, lather rinse repeat.
"How to make the programming enjoyable even when it seems like nothing is working?"
The thing that usually makes programming enjoyable is the small "Aha" moments when you find you really understand a concept, look for those moments. Don't be afraid of putting your "big" program away and work on one of the concepts that seem to have you stymied, remember to start simple. If documentation exists read it over and over, making sure to try any of the examples presented in the documentation. Keep it simple until you think you thoroughly understand the concepts.
"Like an exciting challenge."
Trying to implement a program for an exciting challenge can be one of the easier ways to make programming more enjoyable. But remember the "exciting challenge" must be both "exciting" and a "challenge" to you, and remember you won't always be excited or challenged at your day job, but hopefully so.
"How to make your own notes on programming, this is really difficult for me to understand as well."
The only notes I use are the program requirements, usually presented to you by someone else, and the actual programs. Good programs that using meaningful names and are properly documented are often the only "notes" you really need.
Edit: About the problem solving practice, take working programs and purposely break them, make sure you understand what your tools are telling you. Understanding your tools should be a big step in your problem solving journey.
You usually can't just cut & paste some code to get your solution. Rarely is there code that exactly matches what you're trying to do. Instead you find something that's close. Then you need to read and understand the code that you found. Think about how it differs from what you're trying to do, then modify the code to match your current needs.