I second the vote for Eiffel (SmallEiffel being a good implementation), but I'll have to look into some of these other suggestions too. I haven't heard of many of them.