IT English: Term Comparisons for Developers
Plain-English breakdowns of the comparisons engineers debate every week — from technical architecture choices to English usage differences. Each page covers what each side does, when to use which, example sentences, exercises, and FAQ.
Available now (44)
- API REST vs GraphQL Resource-oriented HTTP API vs query-driven typed schema.
- Database SQL vs NoSQL Relational tables and joins vs document, key-value, and other models.
- DevOps Docker vs Kubernetes Container packaging tool vs orchestrator — complementary, not competing.
- Git Git merge vs Git rebase Two ways to integrate branches — preservation vs linear history.
- Architecture Monorepo vs Polyrepo One repository for everything vs many small repositories.
- Architecture Microservices vs Monolith Distributed services vs single deployable application.
- Language TypeScript vs JavaScript Typed superset vs dynamic — productivity and tooling trade-offs.
- Security JWT vs Session tokens Self-contained signed tokens vs server-stored sessions.
- Process Agile vs Waterfall Iterative delivery vs upfront-plan sequential phases.
- DevOps CI vs CD Continuous Integration vs Continuous Delivery / Deployment.
- API gRPC vs REST Binary contract-first RPC vs HTTP+JSON.
- Database MongoDB vs PostgreSQL Document store vs Postgres with JSONB.
- Database Postgres vs MySQL Two open-source relational heavyweights.
- Cache Redis vs Memcached Data-structure server vs simple in-memory key-value cache.
- Frontend React vs Vue JSX + hooks vs templates + reactivity.
- Frontend React vs Angular Library vs full-featured framework.
- Cloud AWS vs GCP Market leader vs Google's developer-friendly cloud.
- Cloud AWS vs Azure AWS vs Microsoft's enterprise cloud.
- Networking TCP vs UDP Reliable ordered streams vs lightweight datagrams.
- Networking HTTP vs HTTPS Unencrypted vs TLS-encrypted web protocol.
- Networking HTTP/1 vs HTTP/2 Text protocol vs binary multiplexed protocol.
- Security OAuth vs SAML Modern delegated authorisation vs XML-based enterprise SSO.
- Security Symmetric vs Asymmetric encryption One shared key vs public/private key pair.
- Frontend Cookies vs localStorage Server-readable, automatic on requests vs client-only browser storage.
- Frontend SSR vs CSR Server-side vs client-side rendering — SEO, speed, and complexity trade-offs.
- Cloud Lambda vs EC2 Serverless functions vs virtual machines.
- IaC Terraform vs CloudFormation Multi-cloud HCL vs AWS-native YAML/JSON.
- Database Relational vs Document DB Fixed schema with joins vs flexible JSON document stores.
- Architecture OOP vs Functional Classes and objects vs pure functions and immutability.
- DevOps Blue-green vs Canary deployment Instant traffic switch vs gradual percentage ramp.
- DevOps Rolling vs Recreate deployment Gradual instance replacement vs all-down-then-all-up.
- Architecture Horizontal vs Vertical scaling More machines vs bigger machine.
- Database Eventual vs Strong consistency Trade-off between availability and immediate correctness.
- Database Optimistic vs Pessimistic locking Detect conflicts at commit vs lock rows upfront.
- Architecture Message queue vs Pub/Sub Point-to-point vs broadcast messaging.
- Messaging Kafka vs RabbitMQ Log-based streaming platform vs traditional message broker.
- API Webhook vs Polling Push notifications vs periodic pull.
- Frontend CSS Grid vs Flexbox Two-dimensional layout vs one-dimensional flow.
- Cloud IaaS vs PaaS vs SaaS Three cloud service models — raw infrastructure, managed platform, ready software.
- Language Promise vs async/await Same primitive, different syntax — when each reads better.
- Testing TDD vs BDD Test-Driven Development vs Behaviour-Driven Development.
- Architecture Composition vs Inheritance Two ways to share behaviour — "has-a" vs "is-a".
- Architecture Async vs Sync Non-blocking vs blocking — when each is the right default.
- Database ORM vs Raw SQL Mapping objects to tables vs writing SQL directly.
Coming soon (6)
These pages are planned. Subscribe to the blog RSS or the Word of the Day RSS to hear when they ship.
- Language let vs const vs var JavaScript variable declarations — scope and mutability differences. Coming soon
- Language null vs undefined JavaScript's two empty values, and when each is correct. Coming soon
- Language == vs === Abstract equality vs strict equality in JavaScript. Coming soon
- Architecture CDN vs Edge computing Static asset distribution vs compute at the network edge. Coming soon
- Git git pull vs git fetch Fetch + merge in one step vs fetch only. Coming soon
- Architecture DI vs Service locator Inject dependencies vs look them up from a registry. Coming soon
IT English: Term Comparisons (20)
How to use IT terms correctly in English — usage differences, register, collocations, and example sentences. Includes exercises and FAQ on each page.
- QA Bug vs Defect Both words name something wrong in software, but their register differs. "Bug" is casual and universal; "defec…
- DevOps Deploy vs Release "Deploy" and "release" are often used interchangeably, but they describe different actions. Deploying moves co…
- Performance Latency vs Throughput Latency measures how long one request takes; throughput measures how many requests a system handles per second…
- Development Refactor vs Rewrite "Refactor" means improving existing code's structure without changing its behaviour. "Rewrite" means replacing…
- Security Authentication vs Authorization "Authentication" (AuthN) verifies who you are; "authorization" (AuthZ) determines what you are allowed to do. …
- Testing Unit test vs Integration test Unit tests verify a single isolated piece of code in milliseconds; integration tests verify that multiple comp…
- Git Merge vs Rebase Both integrate changes from one branch into another, but they do it differently. Merge preserves history with …
- Infrastructure Container vs Virtual Machine Containers share the host OS kernel and start in seconds; VMs include a full OS and take minutes to boot. Cont…
- Architecture Microservice vs Monolith A monolith is a single deployable application; microservices split that application into independent services.…
- Systems Cache vs Buffer Both are temporary storage, but for different purposes. A cache stores copies of data to speed up future reads…
- Git Fork vs Clone "Fork" and "clone" both copy a repository, but at different levels. A fork is a server-side copy on GitHub/Git…
- QA Regression vs Bug A bug is any defect in software. A regression is a specific kind of bug — functionality that worked before and…
- Development Endpoint vs API An API is the entire interface a service exposes — the contract between two systems. An endpoint is one specif…
- Testing Mock vs Stub Both are test doubles that replace real dependencies, but they differ in what they verify. A stub provides pre…
- DevOps Staging vs Production "Staging" is a pre-production environment for final testing — it mimics production but is not user-facing. "Pr…
- Development Library vs Framework The key distinction is control: a library is code you call; a framework calls your code. Libraries solve speci…
- Product Feature vs Functionality "Feature" is a discrete, user-visible capability (dark mode, file export). "Functionality" is a broader, more …
- DevOps Rollback vs Roll forward When a deployment breaks production, you have two recovery strategies. A rollback reverts to the previous work…
- DevOps Monitoring vs Observability Monitoring tells you when something is wrong (alerts on known failure modes); observability lets you understan…
- Systems Thread vs Process A process is an independent running program with its own memory space. A thread is a lighter unit of execution…
Frequently asked questions
Why do "bug" and "defect" have different meanings in QA English?
"Bug" is informal and used in chat and stand-ups; "defect" is formal, preferred in QA reports and client communication. Using the wrong register can make writing sound unprofessional.
What is the difference between "deploy" and "release" in DevOps English?
"Deploy" means moving code to an environment; "release" means making a feature available to users. You can deploy without releasing (feature flags) or release without a new deploy (toggle a flag).
How do I use "latency" and "throughput" correctly in a technical sentence?
"Our p99 latency is 200 ms" (one request's delay). "Our throughput is 5,000 requests per second" (system-wide volume). Never swap them.
What is the difference between "refactor" and "rewrite"?
"Refactor" improves code structure without changing behaviour. "Rewrite" replaces code from scratch. Using "refactor" when you mean "rewrite" is a red flag in technical discussions.
How do native English speakers distinguish "authentication" from "authorization"?
"Authentication" (AuthN) = who are you? "Authorization" (AuthZ) = what can you do? The abbreviations AuthN/AuthZ are used precisely in security contexts to avoid confusion.
When should I say "mock" vs "stub" in a testing discussion?
"Mock" implies you will assert that it was called correctly; "stub" just returns pre-programmed data. In informal speech "mock" covers both, but in design discussions the distinction signals intent.
What is the correct English for "rolling back a deployment"?
"We rolled back to v1.3", "we reverted the deployment", or "we restored the previous build". "Roll back" (two words as verb) is standard. The noun is "rollback" (one word).
Is "functionality" countable?
"Functionality" is normally uncountable in product English. Say "features" for discrete items ("three new features") and "functionality" for capabilities in aggregate ("the core functionality").
What is the difference between "monitoring" and "observability" as English terms?
"Monitoring" is a practice; "observability" is a system property. You say "we set up monitoring" and "the system has good observability" — they are not interchangeable nouns.
Where can I practise these terms in context?
Each comparison page on this site includes example sentences, multiple-choice exercises, and an FAQ. Use the exercises section to check your understanding before using the terms at work.