JavaScript's Complexity: Why Visual Editing Matters

A question we've gotten for years is, “Why didn't you just generate code like everyone else?” Josh's new post is the clearest answer we've ever put in writing. The core idea is that JavaScript requires you to specify how something works, at every step, in exhausting detail. "Send a welcome email" is one thought. In JavaScript, it's 20 lines — import a library, configure credentials, handle failures, manage async responses. If you can't read those 20 lines, you can't really own what you built. We spent over a decade building a language where one concept is one line of code. That's why visual editing on Bubble is reliable. That's why the Agent shows you exactly what changed. That's why builders can fix their own bugs instead of reprompting and hoping. We still have a lot to improve on the AI side — we'll be the first to say that. But the foundation matters, and Josh explains why here

A recent roundup counted 82 different vibe coding tools. 82! And almost all of them generate the same thing under the hood: JavaScript. I wrote a piece this week arguing that's a mistake, and not an abstract one. As long as vibe coding tools generate JavaScript, non-technical builders will always struggle with everything that comes after the prototype. The reason is what I'm calling the “abstraction mismatch.” JavaScript operates at a much lower level than human thinking: One concept you can explain in a sentence ("when a user signs up, send them a welcome email") explodes into dozens of lines dealing with libraries, authentication, object construction, async operations, and error handling. Someone has to manage that gap. With traditional development, it's a professional engineer. With AI vibe coding, it's supposed to be you. Bubble has spent 13 years building a language where human-level concepts map 1:1 to lines of code, meaning the description is the program, not a summary of it. That goes way beyond a simple UX improvement to change what's possible for builders who can't read code. Check it out if you missed it: https://lnkd.in/eNhCsqFn

Hey Emmanuel, Josh, while you're right about the 'abstraction mismatch' in JavaScript, doubling down on a proprietary ecosystem also feels very much outdated in the era of Replit and Lovable. The market now expects portability, not vendor lock-in. The real solution isn't to abandon code generation, but to use a standardized Meta-Model as the source of truth that outputs high-quality, readable code in an organization’s preferred language. This allows builders to work at a human level while ensuring the final product is a portable asset that fits their specific technical landscape and audit requirements.

Emmanuel Straschnov I have been a Bubble fan for over 10 years, bubbling daily for years. Last few months... I use Claude for everything and lately Base44. I ll be closing some Bubble accounts soon. AI is becoming crazy good last weeks, and it will be always accelerating. Noone really cares about the abstraction, only cares about outcomes. John is admirable but this is really an excuse. Think deeper, like 10x deeper on how you can create Bubble 3.0 the market is giving you clear feedback

code generation is just another way to hide complexity, not simplify it. bubble's approach is refreshing, but can they really keep it up when the pressure's on? owning your code means understanding it at all levels. good luck with the hiring, you'll need it

Like
Reply
See more comments

To view or add a comment, sign in

Explore content categories