5 ms·
Ask HN: I've tried to learn programming for 3 years, but I'm not progressing.
Title is pretty self-explanatory. I picked up python 3 years ago hoping to learn it on the side. Fast-forward to today, I can only seem to think in simple conditional loops and functions. People often tell me to make stuff, and when I do, I follow tutorials and simply copy what I'm told to write to move on. I find that in the end I haven't really learned anything, and even when I do try to understand every step or function called, etc, I get confused way too quickly.
It's weird: I'm stuck in this weird middle-ground where I can breeze through beginner exercises and understand them conceptually, but I've still yet to attain a higher more complex understanding of programming.
I've tried looking at open source and I get swamped in a sea of questions almost immediately.
What can I do to become better?
- MarlonPro 15y agoI wonder if I wrote this myself on my sleep. I have the same problem.
- tzaman 15y agoFind another profession. A kind that requires people to give you directions.
- abhishek-yadav 15y agoTo my belief In your learning process you were more concerned about Implementation details and end product which is pretty normal but in the moment you lost the point to understand underlying code. I think its good you realized its something we all do in different forms like as in understanding Trigonometry or Logarithms. I would suggest you to take some basic algorithms and spend a week devouring and playing with them sooner or later everything will start sinking in, Hope this helps.
- YuriNiyazov 15y agoHave you ever looked into Algorithms and Data Structures?
- stuckcoder 15y agoNot much, no. Are there any resources you'd recommend someone at my level look at?
- YuriNiyazov 15y agoIt depends on how comfortable you are with getting your knowledge from college textbooks (which can be rather math-heavy) rather than online tutorials. http://www.algorist.com/ http://www.algorist.com/ (gentle, but most of the code is in C, however, which it doesn't sound like you know) http://en.wikipedia.org/wiki/Introduction_to_Algorithms http://en.wikipedia.org/wiki/Introduction_to_Algorithms (Standard Thick reference) http://en.wikipedia.org/wiki/The_Art_of_Computer_Programming http://en.wikipedia.org/wiki/The_Art_of_Computer_Programming (One of those classics that everyone mentions, but very few have actually read) Other than that, actually read through Wikipedia articles on various sorting and searching algorithms, trees, graphs.
- aspir 15y agoYou may have hit the limit on online tutorials and books. It's likely time to go to user groups and reach out to experienced peers feeling generous (looking to devote a few hours to helping you out). Due to the nature of this forum, you probably won't get a magic solution to your slump -- you're past the point of cookie cutter magic bullets, which is a good thing. However, my one piece of quick advice might be to, rather than just copy code, copy it and then try to understand _why_ those lines are there, even in the libraries and frameworks you use. You likely know what everything does at this point, but if you take it to "next level", you'll eventually be able to start making things from scratch.
- dragonbonheur 15y agoTake a detour through FreeBasic where there are no limits (you'll even understand pointers, data types and objects), then go back to Python. Challenge yourself and have fun. For example try to write a program that stores a key-value pair and that enables you to retrieve information through sockets or can even be compiled to a library.
- EliRivers 15y ago"People often tell me to make stuff, and when I do, I follow tutorials and simply copy what I'm told to write to move on." That's not making stuff. You have to think about it yourself. Programming is not memorising syntax and copying other people. Programming is thinking about solving problems in a way suited to the tools you have. That is what you need to work on.
- kls 15y agoAlso I think the just build something on your own and suffer through it, way of learning was more effective when physical books where the primary source of programming information. Because you had to transcribe the code from the book to the program. Now days it is just too easy to copy and paste.