Multi-paradigm Languages