JavaScript / TypeScript
대부분의 바이브 코딩에서 이것이 기본 선택이며, 거기엔 그럴 만한 이유가 있다. 어디서나 돌아간다 — 브라우저, 서버(Node.js), 엣지 함수 — 그리고 웹 프론트엔드 전체의 언어다. TypeScript는 JavaScript에 타입 시스템을 덧붙인 것인데, 거의 언제나 TypeScript를 택하는 게 좋다. 타입은 실수를 일찍 잡아주고, 무엇보다 AI에게 안전 가드레일을 제공해 결과물을 더 믿을 만하게 만든다. 타입이 붙은 함수 시그니처는 어시스턴트가 읽을 수 있는 계약서다. 그것이 없으면 AI는 당신의 데이터가 어떤 형태인지 추측하게 되고, 추측이야말로 버그가 숨는 곳이다.
- 잘하는 것: 웹 앱(프론트엔드와 백엔드), 브라우저에서 사용자가 클릭하는 모든 것, 빠른 프로토타입, 한 언어로 만드는 풀스택 프로젝트, 서버리스/엣지 배포.
- 아픈 지점: 생태계가 빠르게 움직이며 자주 깨진다. 의존성이 불어나는 문제가 실재한다(작은 앱 하나가 수백 개의 패키지를 끌어올 수 있다). 순수 JavaScript의 느슨함은 미묘한 버그가 슬쩍 빠져나가게 한다 — TypeScript를 써야 할 또 하나의 이유다.
- 대표적인 사용처: SaaS 대시보드, 랜딩 페이지, 전자상거래, 실시간 앱, 브라우저 확장 프로그램, Vercel·Netlify·Cloudflare에 배포하는 모든 것.
- AI 처리 능력: 탁월함. 학습 데이터에 가장 많이 등장하는 언어다. 어시스턴트는 React, Next.js, Node를 자신 있게 작성하며 막히는 일이 드물다. 굳이 다른 걸 골라야 할 강력한 이유가 없다면 여기서 시작하라.
알아둘 만한 구체적인 트레이드오프 하나: JavaScript를 프로토타이핑에 훌륭하게 만드는 그 속도가, 동시에 끊임없이 변하게 만드는 속도다. 18개월 전 튜토리얼이 이미 폐기된 API를 쓰고 있을 수 있고, 과거의 스냅샷으로 학습된 AI는 때때로 어제의 패턴을 건네준다. 그것이 작성한 코드가 작동하지 않는다면, 원인은 라이브러리가 앞으로 나아가버렸기 때문인 경우가 많다. 해결책은 보통 당신이 쓰는 버전을 알려주고 최신 문서를 확인하라고 시키는 것이다. 이것은 지구상에서 가장 활발한 생태계에 사는 대가로 내는 세금이며, 대부분의 프로젝트에서는 낼 만한 값이다.