Programming with attitude