I used to use Lego to prototype the robots and machines I make. Now I design my own "Lego" with OpenSCAD and program the bots with AVR microcontrollers. Have been doing this for 7-ish years. However, Lego Mindstorms is still a great (although expensive) system for learning.