500만 달러 투자, 새로운 언어 대신 TypeScript로 방향 전환

by DD
3주 전
조회수 6

Wasp는 풀스택 웹 프레임워크를 개발하며, 초기에는 맞춤형 언어(Custom Language)를 사용했으나, 채택의 어려움으로 TypeScript로 전환

새로운 언어 제작은 IDE 지원(IDE Support)개발자 채택(Developer Adoption)에 큰 어려움을 야기했음

Wasp의 핵심 가치는 전체 앱의 고수준 명세(High-Level Specification)를 제공하는 데 있었음

커뮤니티에서는 새로운 언어보다 TypeScript 기반의 프레임워크(TypeScript-based Framework)에 대한 선호도가 높았음

언어 설계의 함정: IDE 지원의 어려움

Wasp는 자체 언어의 IDE 지원에 필요한 툴링(Tooling) 개발에 많은 시간과 노력을 투입했으나, 기대에 미치지 못했다. 특히, JS 생태계에서 기대하는 높은 수준의 IDE 지원을 제공하는 것이 어려웠으며, VS Code 확장(VS Code Extension) 개발에도 한계가 있었다. 결국, 기존의 TypeScript를 활용하는 것이 IDE 지원 측면에서 훨씬 효율적이라는 결론에 도달했다. 이는 개발자 경험(Developer Experience)을 개선하는 데 중요한 요소로 작용했다.

새로운 언어 채택의 장벽: 개발자 인식

Wasp의 자체 언어는 개발자들에게 새로운 학습 곡선(Learning Curve)을 요구하며, 기존의 툴링과의 통합 문제로 인해 채택에 어려움을 겪었다. 특히, 'lang'이라는 이름 때문에 JavaScript를 대체하는 것으로 오해받아 거부감(Resistance)을 샀다. 개발자들은 새로운 언어보다 익숙한 TypeScript를 선호했으며, 이는 Wasp의 핵심 가치인 고수준 명세(High-Level Specification)를 제공하는 데 집중하는 방향으로 전환하는 계기가 되었다.

핵심 가치의 재발견: 고수준 명세

Wasp는 처음부터 웹 앱 개발의 복잡성(Complexity)을 줄이는 것을 목표로, 고수준의 명세를 통해 개발자가 앱의 구조를 쉽게 이해하고 관리할 수 있도록 했다. AI 기반 코드 생성(AI-Generated Code)이 증가함에 따라, 이러한 고수준 명세는 더욱 중요해지고 있다. Wasp는 TypeScript를 통해 이러한 가치를 유지하면서, 개발 생산성(Development Productivity)을 향상시키는 데 집중하고 있다.

TypeScript 전환의 기술적 의미

Wasp는 자체 언어 대신 TypeScript를 사용함으로써, 기존의 TypeScript 생태계(Ecosystem)를 활용할 수 있게 되었다. 이를 통해, IDE 지원(IDE Support), 코드 완성(Code Completion), 디버깅(Debugging) 등 개발 환경의 전반적인 품질을 향상시켰다. 또한, TypeScript를 통해 조건문(Conditionals), 반복문(Loops), 모듈(Modules) 등 다양한 기능을 쉽게 구현할 수 있게 되었다. 이는 Wasp의 확장성(Extensibility)을 높이는 데 기여했다.

5 Years and $5M Later: Inventing a New Programming Language for Web Development Was a Mistake