Why we built Vade Studio in Clojure

Building the low‑code platform Vade Studio in Clojure prompts a broader debate over how much a programming language choice really influences developer productivity, maintainability, and hiring. Supporters highlight Clojure’s REPL-driven workflow, immutable data structures, simplicity of abstractions, and ability to model complex domains with tools like Malli and Pathom, arguing that small teams can ship substantial systems quickly. Critics counter that dynamic typing, niche ecosystems, and hiring constraints make mainstream statically typed languages more practical for large or long‑lived projects, especially as AI tooling and developer availability increasingly favor popular stacks.

Language choice, hiring, and productivity

  • Several argue you should “build with what you’re comfortable with,” but also what you can hire for and scale with.
  • One camp claims niche languages (Clojure, Rust, Elixir, etc.) attract unusually strong developers and enable small, very productive teams.
  • Others counter that the best engineers are generally language‑agnostic, and that language evangelism correlates with low productivity and rewrite churn.
  • A more conservative view emphasizes mainstream languages (Python/Java/TS/C#/Go) for recruiting, tooling, AI assistance, and long‑term maintainability.

Why Clojure / Lisps appeal

  • Supporters highlight: simplicity, immutable persistent data structures, REPL‑driven development, and strong data orientation (EDN, maps, sequences).
  • Some report Clojure rekindled their interest in programming and improved how they reason about abstractions and other languages.
  • Emphasis on modeling systems as transformations of simple data; Pathom + Malli mentioned for graph-like domain modeling and generated resolvers.
  • Others argue similar functional/immutable styles are viable in TypeScript, Elixir, etc., and that Clojure isn’t uniquely capable.

Dynamic vs static typing

  • Static‑type proponents worry about large Clojure codebases, unclear data shapes, and painful refactors; prefer Rust/TS‑like “hover to see types.”
  • Clojure defenders point to REPL introspection, specs/Malli, clj‑kondo, and argue that dynamic + REPL can be extremely productive, especially for smaller teams.
  • There is debate over Typed Clojure: technically available but seen as immature and rarely used; many prefer runtime spec-based approaches.
  • Several note that all approaches involve trade‑offs; static typing is helpful but not a silver bullet.

REPLs and development experience

  • Strong praise for Lisp-style REPL‑driven development: interactive, “video‑game‑like” coding, including connecting to running systems (even in production).
  • Some Elixir users prefer IEx; others find CIDER/nREPL superior. General agreement that most non‑Lisps have weaker REPL integration.

Complexity, abstractions, and adoption

  • Multiple comments stress that managing complexity, not adding technology, is the real challenge; preference for “boring” tech (e.g., Postgres) emerges with experience.
  • Debate over whether powerful abstractions and exotic languages scale in large teams vs. simple OO/Java‑style stacks.
  • Historical side threads discuss why Lisp/Smalltalk didn’t dominate, windows of opportunity, and how community and ecosystem shape adoption.

Vade Studio specifics & product feedback

  • Some impressed that a three‑developer team built a complex system in ~1.5–2 years; others question how much credit belongs to Clojure versus abstractions and team skill.
  • Users report GitHub login loops; maintainer acknowledges and investigates. Google/GitHub auth chosen for frictionless signup; email login requested and promised.
  • Requests for clear pricing, email auth, mobile app generation, and better explanation of “data as first-class citizens” and the conflict‑resolution model.