Well, I completely fell apart on that promise… Oh well. Just a quick recap: I graduated, but only one of my degrees has so far been approved (Physics, my secondary degree), so I’ll have a fun meeting later this week in East Lansing to sort that out. Why will I be in East Lansing? I’ll be swinging through on my way down to South Bend to begin my trek for a PhD at Notre Dame. I’ve also spent my few weeks off doing nothing and something at the same time: pounding through episodes of Doctor Who, preparing to move, playing disc golf, and programming.
Yep, programming. I haven’t forgot about you yet! A month ago, I knew the following languages: Python, C/C++, Fortran, and shell scripting (if it’s kosher to include that last one), in roughly that order of fluency. But hey, you can never have enough languages, right? Plus, I might as well start programming for a purpose and not just for fun (although I’m still going to program for fun, of course!). With that in mind, I’m venturing out into a few new fields.
HTML5/CSS3
While technically I have already learned some HTML and CSS, it was never really in a structured manner. I just looked at source code from websites I liked and tried to piece it all together. In general, it worked for what I needed, but it doesn’t hold a candle to what’s out there. So, I’m going to actually sit down and learn the new standard, update my website (but at my fancy, new ND webspace!), and officially add it to my list.
ObjectiveC with Cocoa
For all you Mac-philes out there, this is the language for applications on your lovely Macbook Pro, as well as on the various iDevices that Apple sells. This is the language I’ve worked with the most so far, mostly because I figured that my knowledge of C/C++ would help out on the coding side of things. Plus, making my own applications has been in the back of my mind for a while…
Java
Again, another useful language, only this time for Android devices. Right now, I’m still deciding between what phone to get once I leave AT&T, and since Verizon has both the iPhone and various Droids, I might as well learn both. Plus, since I’m pretty equal opportunity myself, I’d probably write an app in both languages and release it simultaneously for when I get to that point. And hey, another language is another language, especially when I can use this for other things as well. I haven’t even started working with this one yet, though, since the download of the Android SDK took longer than I would’ve liked, plus I’m doing other things with my time too…
Aside from that, I’m still writing a lot of Python (I got bored the other day and started writing a UNIX-like shell in python), since for me it’s the most fun. Plus, the only “learning” I have to do for it is looking up different function calls that I can use for the various modules; I get to focus more on the coding than anything else! Of course, in two weeks, I’ll be starting my summer course down at ND, so programming will again slow down for a bit, but I would mind, given what I’ll be working on!
EDIT | After reading a few articles and posts online, I’ve decided to refocus on just a few of my languages for now. I’ve decided that my first “real” phone will be a droid, but I’m not really keen to start programming for it until I see what’s out there. I’m still slowing going through the ObjC+Cocoa book, but I’m guessing that at the end of it I will be left with very little direction and only a cursory understanding of the language. Not good when a two-month hiatus is upon me. So, I’ve decided to get really fluent in Python and C; the Python portion will just be trying to learn those little things that I never encountered (like generators when discussing the Collatz conjecture HERE and HERE) or simply just different things to do with the language (like Google webapps…). Anyway, hopefully this will help save my brain while I relearn all of undergrad physics in two months!