Чтобы ответить на вопрос, нужно понимать, что вы иметете ввиду под универсальным языком.
Есть так называемые языки общего назначения. Под этом термином понимается, что ЯП можно использовать для создания софта (ПО) под разные предметные области: финансовые услуги, мобильное ПО, игры, под медицинское оборудование и так далее.
Дело в том, что ранние ЯП были разработаны для определенных целей, например для математических и научных вычислений, обработки данных или под конкретное оборудование. Это такие языки как: Ruby, PHP, Javascript, C, C++, C#, Go, Java и так далее
А есть языки предметно-ориентированные. Ну, самый простой пример это SQL, язык запросов. Или HTML - язык разметки гипертекста.
Так вот, на языках общего назначения уже можно писать почти что угодно. Почти. Потому что каждый язык программирования появлялся и решал свою конкретную задачу. Например Perl - был изначально создан для работы с текстом. PHP - для создания шаблонизации страничек в вебе. Постепенно языки переросли свою начальную цель.
Вряд ли будет язык на котором будут писать вообще все. Например можно взять Ассемблер и писать на нем, но смысл? Это будет дорого и медленно, но зато быстро. Язык программирования Ruby с фреймворками позволяет создавать прототипы приложений. Огромная скорость разработки помогает создавать стартапы и превращать их в конкурентные компании. Ruby - высокоуровневый язык. Некоторые считают, что он медленный. Но скорость разработки ПО выше, чем на C.
При этом одни языки программирования написаны на других (например PHP на C). Это нужно для того, чтобы не работать с низкоуровневыми вещами напрямую. Например выход за массив в PHP не так критичен, как в C, C++.
Некоторые технологии позволяют транслировать один язык программирования в другой, либо замещать технологии. Например чтобы не писать Javascript используют технологии типа Hotwire, Livewire, Clojurescript, в теории это позволяет разработчику в рамках одно языка писать и бэкенд (серверную часть) так и фронтенд (интерфейсы). На практике такое иногда приводит к проблемам. Например, кто-то должен это поддерживать. А чем более специфичная технология, тем меньше у неё может быть сообщества, а значит и поддержки в будущем.
Еще есть такая технология как WebAssembly. Это не язык программирования, а бинарный формат, который позволяет запускать код в браузере. В теории мы можем на разных ЯП программирования написать написать программу, которая будет работать в браузере, но на практике Wasm еще не распросранен.
По итогу могу сказать, что каждый ЯП решает свою задачу, зачастую по своему. Можно языки сравнить с инструментом - под каждую задачу у вас свой инструмент - молоток, пила, отвертка. Так и в программировании. Вы решаете задачу соответствующим инструментом.