I've been programming a long time, including rather esoteric languages like FORTH, 6809 assembly language, LISP, Scheme, and PROLOG. But my first professional programming experience was in C and 80x86 assembly language (and a bit of PROLOG). However, I quickly moved to C++. I was an early adopter of C#, and so have been working in that language most recently. I'm currently learning F#, and doing some proof-of-concept professional work in that language, and I am very impressed with its potential!

Except for a long stint in the Windows VxD/device driver/embedded systems realm, I've tried to focus on practical implementations of AI techniques in conventional languages. But I've done almost every kind of programming imaginable: UI, 3D graphics, business modeling, database, connectivity, Windows services, etc. Perhaps the thing I like best about programming is that there's always something new to learn.

My current interest is in the use of existing languages and frameworks to create domain specific languages (DSLs) and interpreted languages.