There’s a lot of jargon in coding that doesn’t make sense to a non-coder or a newcomer. That’s no fun because such jargon intimidates people from making the jump into the wonderful world of code!
That’s why I’m translating a bunch of terms that come up a lot in tech literature and conversations…I want you to learn how to code!
algorithm invariant
amortized analysis
asynchronous
bulletproof code
casting
composition
concurrency
covariant
DEPLOYMENT: all of the activities that make a software system available for use. (Credit: Wikipedia.) Separate from tasks such as editing content, designing an interface, or coding the functionality of a software project, deployment is often a final stage and the specific process of pushing or publishing a software project to an access point for others to use.
DRY
expressive
eviction
Extract/Transform/Load (ETL)
fault tolerance
fuzzing
Hindley-Milner
homoiconicity
idempotence
idiomatic
immutability
interface
invalidation
iterable
iterator
load balancing
loose coupling high cohesion
memoization
module
mutable API
MVC (Model/View/Controller)
MVCC (Multiversion concurrency control)
MVP (Model/View/Presenter)
MVVM (Model/View/ViewModel)
observable
observer
orthogonal
paradigm
performant
pipe/piping/pipeline
principle of least surprise
reification
serialization/marshalling
single responsibility
single source of truth
STAGING: The testing process - and often an entire environment - that allows review of a software project. A virtual "kicking of the tires," staging a project typically happens in a private, test environment where it can be put through some simulated, real-world-like use as a way to avoid unpredicted failures. Staging often happens as the step before deploying or publishing software to a non-test, production environment.
state machine
sticky load balancing
synchronous
(syntactical) sugar
TDD/BDD
thread safe
void (js)
YAGNI: An acronym that stands for "You aren't gonna need it." Following this principle, a developer shouldn't add something to their code until it's actually necessary. This is to prevent developers from focusing too much energy on areas they think might be important in the future, but which ultimately turn out to be superfluous to the end product.
A lightning quick reference for jargon
A less quick reference (specific to Javascript)
The Jargon File - Glossary of Hacker Terms
Useful Glossaries for Web Designers and Developers
Skillcrush's Lexicon of 99 Tech Terms
Functional Programming Jargon