Multi-paradigm languages