DEVOURED
Inventing a New Programming Language for Web Development Was a Mistake
Wasp, a full-stack web framework startup, admits its custom DSL was a mistake, citing developer adoption friction and tooling headaches, and is now migrating to a TypeScript SDK.
What: Matija Sosic, CEO of Wasp, shared that after 5 years and $5 million in funding, their custom domain-specific language (DSL) for defining web app structure caused significant adoption friction. Developers misinterpreted it as a JavaScript replacement, and maintaining IDE and tooling support was much harder than anticipated. Wasp is now replacing its DSL with a TypeScript SDK, as the true value lies in the framework's compile-time understanding of the entire application, not the custom language itself.
Why it matters: This reflects developers' strong preference for existing, well-supported languages and ecosystems, even when presented with a high-level abstraction aiming to reduce boilerplate. It highlights the significant practical challenges and costs associated with building and maintaining custom languages and their associated tooling.
Takeaway: If you were hesitant to try Wasp due to its custom language, the upcoming TypeScript SDK might make it worth revisiting the framework.
Deep dive
- Wasp, founded in 2021 by Matija Sosic and his twin brother, and backed by Y Combinator with over $5 million, aimed to build a full-stack web framework for JavaScript (React, Node.js, Prisma) that abstracted common web app patterns.
- The founders initially decided to create a new domain-specific language (DSL) to achieve a high-level, stack-agnostic specification of app requirements, believing it would offer cleaner syntax and runtime independence.
- After five years, Wasp is abandoning its custom DSL, recognizing it was a mistake that created significant friction for developer adoption.
- Key issues included developers misinterpreting "wasp-lang" as a JavaScript replacement, skepticism about IDE and tooling compatibility, and the unexpectedly high cost and difficulty of developing robust tooling for a custom language.
- The team realized Wasp's core value was its ability to maintain a high-level, compile-time understanding of the entire full-stack application, which proved more important than the specific language used for definition.
- Wasp is transitioning to a TypeScript SDK as the primary interface, which leverages existing tooling, is familiar to developers, and still allows for the same deep application understanding.
- The article suggests a renewed interest in opinionated, full-stack frameworks like Django, Rails, and Laravel, and that Wasp aims to provide a similar "it just works" experience for the JS ecosystem, particularly noting its compatibility with AI code generation.
Decoder
- DSL (Domain-Specific Language): A programming language or specification language designed to be highly specialized for a particular application domain, offering concise syntax and abstractions for that specific area.
Original article
Full article content is not available for inline reading.
Explore all 57 articles in today's digest
Fresh dev news, AI-digested daily. Never miss a trend at devoured.fyi