6

Show HN: Ducklang: Achieving 100x more requests per second than NextJS

Duck (https://duck-lang.dev) is a statically typed, compiled programming language that combines the best of Rust, TypeScript and Go, aiming to provide an alternative for full-stack-development while being as familiar as possible

Improvements over Rust: - garbage collection simplifies developing network applications - no lifetimes - built-in concurrency runtime and apis for web development

Improvements over bun/node/typescript: - massive performance gains due to Go's support for parallel execution and native code generation - easier deployment since Duck compiles to a statically linked native executable that doesn't need dependencies - reduced complexity and costs since a single duck deployment massively outscales anything that runs javascript - streamlined toolchain management using duckup (compiler version manager) and dargo (build tool)

Improvements over Go: - a more expresive type system supporting Union types, Duck typing and tighter control over mutability - Server Side Rendering with a jsx-like syntax as well as preact components for frontend development - better error handling based on union types - a rust based reimplementation of tailwind that is directly integrated with the language (but optional to use) - type-safe json apis

Why is Bun marked as no on node_modules (I assume it means NodeJS compatibility)? I have large applications and never had NodeJS compatibility issues (it has worked even when Bun wasn't officially supported).

For benchmarks, I'd try to compare Bun's speed using its own Bun.serve instead of Express or Fastify.

11 hours agobarishnamazov

no node_modules means that both bun and we don't have the dreaded node_modules folder.

thanks for the benchmark suggestion, we used express and fastify because thats also what's bun is benchmarking and comparing to node and deno