In order to retain a well-grounded area of expertise as a so-called software developer, it's not only important to keep abreast of all the latest technologies, but also programming languages in general. The more you know the better.
That is why I make it a habit to learn at least one new programming language every three to five years. That way I can sustain my market value in an ever-changing and competitive market.
This time around Lua is my language of choice, and in order to celebrate my new pursuit of fame and wealth, I purchased the book Programming in Lua.
Here's some sample code. Tables can be used as associative arrays. This functionality allows us to store functions in a class table, ie. with the function name mapped to the function:
A = {} function A:add(x,y) return x+y end print( A:add(1,2) ) -- prints 3
That will be a fun book to read during vacation.
Please feel free to patch Quanto if you're looking for a nice small project to hack on? :)
http://andym.github.com/Quanto/
I know you were interested in getting a Mac last year. If you did, check out VoodooPad. It's scriptable in lua.
Well to be honest I still just can't quite get into the Mac spirit and remain happy enough with good old Ubuntu.