English for Deno

Learn the English vocabulary for discussing Deno, the secure-by-default JavaScript and TypeScript runtime, including permissions, built-in TypeScript support, and Deno Deploy.

Deno was built partly as a response to Node’s design mistakes, and its vocabulary reflects that — permissions, built-in TypeScript, and standard modules all describe deliberate departures from how Node works rather than incidental features.

Key Vocabulary

Permissions — Deno’s security model requiring explicit flags like --allow-net or --allow-read to grant a script network or file system access, meaning scripts run with no access by default rather than Node’s implicit full access. “This script is failing because it needs network access it doesn’t have — Deno’s permissions model means you have to explicitly grant that with —allow-net, it’s not implicit like it would be in Node.”

Secure by default — the design principle behind Deno’s permissions system, meaning untrusted or third-party code can’t read your file system, make network calls, or access environment variables unless you explicitly allow it. “We chose Deno for this script partly because it’s secure by default — we’re running code from a less-trusted source, and not having implicit file system access is a real safety property, not just a nice-to-have.”

Built-in TypeScript — Deno’s native support for running TypeScript files directly without a separate compilation step or configuration, in contrast to Node where TypeScript requires ts-node or a build step. “We don’t need a tsconfig or a build step for this — Deno has built-in TypeScript support, so we just run the .ts file directly and it works.”

Deno Deploy — Deno’s edge deployment platform for running Deno scripts globally distributed close to users, comparable to Cloudflare Workers or Vercel Edge Functions but specific to the Deno runtime. “We’re deploying this to Deno Deploy rather than a traditional server because it runs at the edge, giving us lower latency for users regardless of region, without us managing any infrastructure.”

Standard library (std) — Deno’s own set of reviewed, versioned standard modules for common tasks like HTTP servers or file I/O, meant to reduce reliance on third-party npm packages for basic functionality. “Instead of pulling in a small npm package for this, check Deno’s standard library first — the std modules are reviewed and versioned together, which is one less third-party dependency for us to track.”

Common Phrases

  • “Does this script need file or network permissions granted explicitly?”
  • “Are we relying on being secure by default here, or granting broad permissions anyway?”
  • “Do we need a build step, or does built-in TypeScript cover this?”
  • “Is this going to Deno Deploy, or a traditional server?”
  • “Is there something in the standard library for this, before we add a dependency?”

Example Sentences

Explaining a permission error: “This is failing because Deno’s permissions model blocked the file read — the script isn’t secure by default in the sense of being safe, it’s secure by default in the sense of denying access until we explicitly grant it with —allow-read.”

Justifying a runtime choice: “For this internal tool, Deno’s built-in TypeScript support meant no build step and no tsconfig to maintain — we just wrote the script and ran it, which is exactly the kind of thing that saves time on small internal tools.”

Describing a deployment approach: “We’re shipping this function to Deno Deploy specifically because it needs to respond fast for users worldwide — running it at the edge cuts the latency significantly compared to a single-region server.”

Professional Tips

  • Explain the permissions model explicitly when introducing Deno to a Node-focused team — the explicit-grant mental model is unfamiliar and worth walking through deliberately.
  • Frame secure by default as a real security property for scripts running less-trusted code, not just a philosophical preference.
  • Highlight built-in TypeScript support as a concrete time-saver for small tools and scripts where a Node + ts-node setup would otherwise be overhead.
  • Mention Deno Deploy specifically when latency to a global user base matters — it’s a distinct value proposition from Deno as a local runtime.
  • Check the standard library before reaching for an npm-equivalent package — it reduces dependency surface and is maintained as a coherent whole.

Practice Exercise

  1. Explain what “secure by default” means in Deno and why it matters for untrusted code.
  2. Describe a case where Deno’s built-in TypeScript support would save meaningful setup time.
  3. Write a sentence justifying a choice to deploy on Deno Deploy instead of a traditional server.