TGStat
TGStat
Введите текст для поиска
Расширенный поиск каналов
  • Язык сайта
    flag Russian flag English flag Uzbek
  • Вход на сайт
  • Каталог
    Каталог каналов и чатов Региональные подборки Тематические подборки Платные каналы Поиск каналов
    Добавить канал/чат
  • Рейтинги
    Рейтинг каналов Рейтинг чатов Рейтинг публикаций
    Рейтинги брендов и персон
  • Аналитика
  • Поиск по публикациям
  • Мониторинг Telegram
  • Продвижение
    Реклама через Яндекс Бизнес Реклама в каналах через TGStat Agency Реклама на сайте TGStat.ru
Cross Join - канал о разработке

28 Sep, 21:38

Открыть в Telegram Поделиться Пожаловаться

Слышал недавно в каком-то подкасте мысль, что Haskell плохо подходит для вайбкодинга просто потому, что медленно компилируется. Мол, агент постоянно делает одно и то же: написал что-то, запустил, получил ошибку, поправил, снова запустил. И если на одном языке за минуту можно сделать десять таких итераций, а на другом две, то первый удобнее.

Фиг знает. Я бы всё-таки не сводил всё только к скорости компиляции. Важно ещё сколько полезной информации агент получает после попытки.

Если компилятор думает чуть дольше, но потом довольно точно объясняет, что именно не так, одна такая итерация может оказаться полезнее нескольких быстрых запусков, после которых проблему всё равно приходится искать по тестам и ошибкам рантайма.

Rust тут хороший пример. Он тоже не славится молниеносной компиляцией, но его компилятор сам по себе очень много проверяет и прям очень подробно объясняет, что ты сделал неправильно. Поэтому агент может потратить больше времени на одну проверку, зато получить из неё кучу информации.

Да и bun переписали на Раст за считанные дни (уже в проде, кстати).

С Haskell, думаю, примерно та же история. Большие проекты на нём могут собираться долго, но во время разработки обычно не обязательно каждый раз пересобирать всю программу с нуля. Можно быстро перепроверять только изменившиеся куски кода и сразу смотреть, сходятся ли типы и работает ли нужная функция. То есть ситуация всё-таки не такая, что поменял одну строчку — и пошёл играть в пинг-понг, пока проект собирается.

Поэтому мысль "Haskell плох для агентов, потому что долго компилируется" мне кажется упрощенной.

Но, насколько я понимаю, в Haskell очень легко уйти в умный код. Можно наворотить сложную систему типов, хитрые абстракции, расширения языка и несколько уровней обобщений там, где другой язык (Go) просто заставил бы тебя написать десять скучных строчек.

ЛЛМ вообще любит переусложнять, до сих пор это не починили. В итоге на Хаскеле она вполне может написать корректный код, который будет выглядеть как высер архитектурного конкурса. Всё красиво обобщено, а потом ты (или агент) сидишь и пытаешься понять, почему столько уровней косвенности, и кто на ком стоял.

Go в этом смысле почти специально ограничивает пространство для творчества. Там труднее написать что-то очень хитрое, поэтому код чаще получается банальным, повторяющимся и предсказуемым.

Раньше многих это раздражало, а сейчас, когда код пишет агент, "скучно и предсказуемо" внезапно становится большим преимуществом.

В итоге у Go получается довольно удачная комбинация. Он очень быстро компилируется ( "Go compiles so fast that it feels like the blink of an eye" ), поэтому агент может быстро делать много итераций. Да еще и сам язык простой, поэтому меньше шансов, что агент закопается в собственные абстракции. А код потом сравнительно легко прочитать человеку или следующему агенту.

Так что похоже, Go для вайбкодинга нефигово рулит. Да и занудные if err != nil теперь проставляет агент, так что насрать на этот аспект :). Пусть хоть полпрограммы будет в этих проверках

1.7k 1 7 27 23
Каталог
Каталог каналов и чатов Подборки каналов Поиск каналов Добавить канал/чат
Рейтинги
Рейтинг каналов Telegram Рейтинг чатов Telegram Рейтинг публикаций Рейтинги брендов и персон
API
API статистики API поиска публикаций API Callback
Наши каналы
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Почитать
Академия TGStat Исследование Telegram 2019 Исследование Telegram 2021 Исследование Telegram 2023
Контакты
Справочный центр Поддержка Почта Вакансии
Всякая всячина
Пользовательское соглашение Политика конфиденциальности Публичная оферта
Наши боты
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot