I’ve wanted to program for years, most of my life, actually. The furthest I’ve gotten is some tiny BASIC programs, and bash scripting. Someone mentioned to me that for a person with such strong opinions about software, it is odd that I don’t write any. I agree.
Choosing a programming language to learn is tough. Everyone will like their language, which means that there are very few people who could assess your interests and make a recommendation. It is also compounded by the fact that I have dealt with various languages for a long time in my webcraft, so I have my built-in biases as well.
I’ve gotten my list down to a few, all of which I intend to learn at least the basics. They are, in order of focus: JavaScript, Lua and Python.
JavaScript, because I feel like I can get by okay without writing my own code, but it would be neat to step up my game in webcraft, and start applying it to other platforms, aka webapps on mobile devices. Every vendor is trying to make the web feel like it is native to the device it is on, and I would like to be in on that. I have ideas for games that can be done by the technologies we mean when we use HTML5 as a buzzword. Also, I think node.js is really cool, and makes it so JavaScript has a pretty complete feature set for me.
Lua, because it is used in a lot of games, is becoming a scripting language used in MediaWiki, and what Prosody is written in (I’ve always wanted to write a jabber dice plugin, nothing works the way I want it). I have a lot of ideas for using Semantic MediaWiki data, and Lua is another tool, and potentially very powerful at that.
And of course there is Python. I want to learn Python for various reasons, but the most important one is probably because it feels like something a hacker knows. I use it everyday, a surprising amount of GNU/Linux desktops use a lot of Python just beneath the surface. There is also MediaGoblin, pygame, and Ren’Py, all of which I would like to contribute to eventually.
Challenges
My reservations are that coding makes my life difficult, specifically, I can't sleep. My hope is that therapy and perhaps medication will help me get pass the early barrier where I can't focus on a language any more, and have to stop to get my life together.I am able to point that out because since we found out were we going to be parents, I’ve been researching my brain (well, various brain sciences, not mine in particular) to figure out why I am the way I am, and how I can mitigate some horrible traits of mine so they aren’t transmitted to Clover.
Well, it turns out that they aren’t horrible, and that I have various symptoms of ADHD, as well as the behaviors that come from compensating for them (like low self-esteem, or the feeling that I am too lazy or stupid to learn how to code).
I am learning JavaScript first, because it is something that is strongly integrated into my daily work, I am somewhat familiar with how it works, and I hope that helps me ease into it when I am feeling desperate and stupid.
If you know me, and you know any of these languages, I could use the support when I ask questions, and recommendations on where to start. So far I am doing the JavaScript tracks on Code Academy and going through Eloquent JavaScript, which I find easy to read and understand.
I hope one day I look back on this post and am all like, “d00d, you killed it! You made that one awesome game, and you mentor others! And it all started here.” Because I like totally talk like that.