Сопоставление языков: сравните Haskell (ленивая чистая функциональность), Java (императивная с ООП), JavaScript (прототипное объектное, динамическое) и Rust (сильная система типов, управление владением) по подходу к побочным эффектам, безопасности типов и удобству для новичка; для каких учебных задач вы бы рекомендовали каждый язык?