Автор — соло-разработчик с проектом на 30k строк Rust. Одна часть — изолированный крейт с веб-приложением на Tera и Axum: около 15k строк, компиляция занимает ~10 секунд, E2E-тесты тяжеловесны (Playwright, изолированная БД, внутренний API для headless-режима).
Ему надоело. Задумался: а не переписать ли всё на Ruby on Rails? Погуглил текущее состояние экосистемы — языки типизации вроде Sorbet есть, Rails жив. Попросил локальный Qwen3.6 (на 4090 Ti, безлимитные токены) проанализировать проект по нескольким метрикам. Получил таблицу — и она склонила чашу весов.
Сравнение Rust/Axum/Diesel, Rails и Rails + Sorbet по 9 параметрам (от подходит ли для соло-разработки до производительности и тестируемости). Суммарные баллы: Rust — 480, Rails — 710, Rails+Sorbet — 695. То есть Rails выигрывает в 1.47 раза. Решение: конвертируем.
Конвертация заняла около 30 минут — LLM сделала one-shot перевод всего кода. Результат: исходник — 14 943 строки Rust; сгенерированный Ruby — 3 322 строки. Падение на 77%. Каждая строка Rust обернулась в 4.49 строки Ruby. Код выглядит чисто, идиоматично, хотя баги почти наверняка есть.
Автор планирует докинуть типизацию через агентов. И главное — тестирование. В Rust приходилось писать многословные моки с Arc<RwLock>, AtomicUsize, #[async_trait] и отдельными тестовыми модулями. В Ruby — VCR.use_cassette("llm_call") и пара строк. Разница колоссальная.
Вывод: соло-разработчик может позволить себе безумные решения. Автор будет внимательно следить, насколько рабочей окажется эта конвертация, но уже сейчас очевидно: скорость разработки и простота тестирования взлетят, а безопасность можно подтянуть Sorbet и агентами.