I’ve started a new journey: learning Python. I must admit, I am really excited about it, and I’ve started building some small shell scripts for myself. If that’s all I get out of it, then that’s fine. But what really interests me is machine learning and ~Algorithms~
Have I ever mentioned how I utterly failed at Math as a youth? And now I want to learn about crunching data and statistics, but I never got past algebra. I know that Math.sin makes a wave. Why? No clue (someone tried to explain it to me once, I think I had that A-ha moment for a split second before it was gone again). That’s been my experience with Math: I get it for one brief moment, and then it flies away. It’s like I can comprehend something, but the long-term memory maker just utterly shuts off at that moment.
I think the real problem here is understanding through application. I need to apply a skill and struggle with it and learn it inside and out by tinkering before it truly sets in. I think this is what makes me a good programmer; I like to struggle in the dark. It’s exciting. It means something new is happening and soon I will find the other side of the tunnel.
I see some people struggle with programming concepts because they want to understand it first. They want to know it inside and out before they open Vim (or Dreamweaver or whatever) and actually get to typing. But you will never learn that way. It’s too abstract, there are just too many details, and too many ways of doing the same thing. Programming is a way of thinking, a way of problem solving; you can’t read yourself into a new way of thinking. You have to practice. And practice and practice some more. It would be like trying to learn an instrument by reading about it.
Yes we all learn differently, yes some people need to read the instructions before assembly while others just start trying to put square pegs into square holes. But in the end, you still have to stick the peg in the hole, the furniture isn’t going to assemble itself. Unless you pay someone on Craigslist to do it. Wait…