We've just got an embedded project involving C + RTL? (some kind of FPGA/ASIC definition language), and SWIG. I've convinced the people involved that C will be fine for low-level stuff, but for the application logic we should use a high-level language to minimize our effort (memory management etc). I'm pretty sure that we'll be using ruby (project lead is a fan of Why's guide). As for why we chose/are considering ruby - no compilation (we're both sick of that damn compile phase), support from SWIG interfaces, easily interface with C libraries etc, clean OO. Kev