While working through the minimax algorithm the past few weeks a few other things started to click for me, and one was my ability to read through other programming languages better. I definitely noticed it in the CA alumni Wednesday Night JavaScript class and while I was investigating various Minimax solutions I came across some C#, Python and C++ examples that were pretty easy to decipher. I’m sure several people have said this, so I’m not sure who to accredit it to, but once you’ve got the basics down other computer languages definitely start to feel more like dialects than entirely new languages.

Java is a language that’s used a bit around the 8th Light office and all of the examples in the original PPP book were also written in Java. When I first started reading the book I felt like the language was a hurdle to fully understanding the examples, but these past few weeks I’ve been reading more Java and it’s definitely making a lot more sense (so I’m going to go back and read some sections of PPP).

On Friday, Patrick (who is also became 8th Light’s newest craftsman on Friday!) walked me through a problem he was trying to solve in Java and explained the concept of threads and concurrency. He wants to be able to spin off a thread to update a routes file that is then immediately available for use (without having to recompile or interrupt the flow of the other threads in progress). Patrick did a great job explaining it and then this weekend Ben wrote a solid post about concurrency in Java that helped explain things even more. To top it all off Mike had me fire up JRuby yesterday to run minimax and a few other algorithms to see what the performance differences were. The initial move time was cut by about two-thirds! Today I’ll be investigating JRuby a little bit more to figure out the magic behind it.

Tomorrow’s field trip day as I make the trip up to 8th Light’s office in Libertyville. I’m looking forward to finally seeing the other office and it’s always refreshing to sneak out of the city for a few hours.