A property of objects or data structures that cannot be changed after creation, requiring new instances to be created for any modifications. This eliminates many sources of bugs and makes programs easier to reason about.
From Latin 'immutabilis' meaning unchangeable, combining 'in-' (not) with 'mutabilis' (changeable). The concept gained prominence in functional programming as a way to avoid the complexity of shared mutable state.
Immutability is like writing in pen instead of pencil - once you write something down, it can't be erased or changed, so you always know exactly what you have! This might seem limiting, but it eliminates entire categories of bugs related to unexpected changes, especially in concurrent programs.
Complete word intelligence in one call. Free tier — 50 lookups/day.