mk taught himself to code by creating Hubski. You could do something like that. Find something you'd like to have exist and create it. I'm not a programmer, so I am not the right person to answer, but I always think that having a project with a clearly defined goal is a great way to learn how to do something. It also helps to have a mentor. There came a point where mk was beyond simply doing things himself and he needed some help/guidance. akkartik was pretty instrumental in the early days of Hubski in that regard. Also, if you see this shout-out akkkartik, I hope you are well. I have no doubt that you've been working on some cool stuff. You should join a Hubski call sometime, it would be nice to see you.
Good luck ao. Enjoy your summer!
I'm here! Thanks for tagging me on this thread, though. It's right up my alley. I've been teaching a couple of people programming using arc, and hacking on hopefully a better way to teach programming. Hope to have it working soon for everyone to check out!
That's pretty much true. However my first foray into programming was in Fortran, working with a physics professor in undergrad. He basically said: "Here's my program, start changing it.", which suited my learning style well. I used it to model phase transitions, and it resulted in my first publication. I picked up Arc because Lisp looked cool, if not somewhat familiar, and I wanted to learn enough that I could make most any basic app I could imagine. I grabbed the code for hacker news, and started changing it.
Personally how you first learned is what seems to be the best way for me. Having sonething that works, you can play around with and have an end goal just seems to be the magic I need. I can't count the number of times I've been missing one of those and it's just led me to spinning my wheels for a day and then abandoning the project.
Yes, I think it's critically important to find what learning style works best for you, and just go with it. You can spend endless energy and kill motivation trying to learn the way you think you should. No doubt my learning approach has drawbacks, but they are far less than the drawback of not being motivated by the approach.