JavaScript / TypeScript
Это выбор по умолчанию для большей части vibe coding, и не зря. Он работает везде — браузеры, серверы (Node.js), edge-функции — и это язык всего веб-фронтенда. TypeScript — это JavaScript с прикрученной системой типов, и вам почти всегда стоит предпочитать TypeScript: типы ловят ошибки рано и, что важно, дают AI ограничители, которые делают его вывод надёжнее. Типизированная сигнатура функции — это контракт, который ассистент может прочитать; без неё AI гадает, какую форму принимают ваши данные, а гадание — это и есть место, где прячутся баги.
- Хорош в: веб-приложения (фронтенд и бэкенд), всё, на что пользователи кликают в браузере, быстрые прототипы, full-stack проекты на одном языке, serverless/edge-развёртывание.
- Где больно: экосистема движется быстро и ломает вещи; разрастание зависимостей реально (крошечное приложение может затянуть сотни пакетов); вольность чистого JavaScript позволяет тонким багам проскальзывать — ещё одна причина использовать TypeScript.
- Типичные сценарии: SaaS-дашборды, лендинги, e-commerce, приложения реального времени, расширения браузера, всё, что вы развёртываете на Vercel, Netlify или Cloudflare.
- Как справляется AI: превосходно. Это наиболее представленный язык в обучающих данных. Ассистенты уверенно пишут React, Next.js и Node и редко застревают. Если у вас нет веской причины выбрать иначе, начинайте здесь.
Один конкретный компромисс, который стоит знать: та скорость, что делает JavaScript отличным для прототипирования, — это та же скорость, что заставляет его постоянно меняться. Туториал восемнадцатимесячной давности может уже использовать устаревший API, а AI — обученный на снимке прошлого — иногда подсунет вам вчерашний паттерн. Когда написанное им не работает, причина зачастую в том, что библиотека ушла вперёд. Исправление обычно в том, чтобы сообщить ему версию, на которой вы сидите, и попросить свериться с актуальной документацией. Это налог, который вы платите за жизнь в самой активной экосистеме на земле, и для большинства проектов его стоит платить.