# Concepts explained [Wiki overview](../README.md) Meet a word you do not know? Start here. These 30 articles explain programming terms with everyday comparisons, small examples, and links to Pliro's exact rules. You do not need to memorize them before making your first program. Start with [UTF-8](utf-8.md) if a text file or character puzzles you. Read [parameters and arguments](parameters-and-arguments.md) when a function table feels confusing. Try [runtime and host](runtime-and-host.md) when correct code has no visible result. ## Text and files - [UTF-8: how letters become bytes](utf-8.md) - [Unicode: a shared catalogue of characters](unicode.md) - [Code points: what does length count?](code-points.md) - [Line endings: invisible marks between lines](line-endings.md) - [Escape sequences: special characters inside text](escape-sequences.md) - [File paths: an address for a file](file-paths.md) - [File extensions: the ending of a filename](file-extensions.md) - [JSON: a text format for data](json.md) ## Reading code and using tools - [Syntax and semantics: spelling and meaning](syntax-and-semantics.md) - [Literals: values written directly in code](literals.md) - [Parameters and arguments: passing information to a function](parameters-and-arguments.md) - [Return values: the answer a function gives back](return-values.md) - [Compiler and interpreter: making code run](compiler-and-interpreter.md) - [Runtime and host: who does what?](runtime-and-host.md) - [IDE: your programming workbench](ide.md) - [Command line: giving a tool a written instruction](command-line.md) - [Modules: sharing work between source files](modules.md) ## Values and execution - [Floating-point numbers: why tiny rounding happens](floating-point.md) - [Mutation: changing something already there](mutation.md) - [Side effects: more than an answer](side-effects.md) - [Short-circuiting: stop checking when the answer is known](short-circuiting.md) - [Event loop: how scripts take turns](event-loop.md) ## Pictures and games - [Pixels: the small pieces of a picture](pixels.md) - [Frames and FPS: pictures over time](frames-and-fps.md) - [Collision detection: do two objects touch?](collision-detection.md) ## Interfaces, boundaries, and projects - [API: an agreed way to ask for something](api.md) - [Sandbox: a bounded place to run code](sandbox.md) - [Permissions and capabilities: can it, and may it?](permissions.md) - [Canonical identity: one operation, different names](canonical-identity.md) - [Project manifests: the project's information card](manifests.md) ## Other words you may see - [BOM / UTF-8 with BOM: an invisible file label](utf-8.md#what-is-a-bom) - [Grapheme cluster](code-points.md) - [Control character](line-endings.md) - [Arity](parameters-and-arguments.md) - [Parser](syntax-and-semantics.md) - [NaN, binary64](floating-point.md) - [Immutable, deep copy](mutation.md) - [Pure, deterministic](side-effects.md) - [FIFO, checkpoint](event-loop.md) - [Renderer, headless](runtime-and-host.md) - [Shell, working directory](command-line.md) - [Namespace, dependency](modules.md) - [Resolution, alpha](pixels.md) - [Hitbox](collision-detection.md) - [Alias, ID](canonical-identity.md) - [Schema, appID](manifests.md) ## Words explained in the reference pages - [Operator, operand, precedence, and associativity](../syntax/expressions.md#reading-the-calculation-rules) - [EBNF and grammar notation](../syntax/grammar.md#how-to-read-the-notation) - [Lexical scope, local and global variables, and hoisting](../syntax/scope.md) - [Closure: a function that remembers variables](../syntax/closures.md) - [RGB, hexadecimal, and alpha channel](../guides/colors.md#rgb-and-hexadecimal-color-codes) - [Yaw, pitch, clamping, world units, and HUD](../guides/scene3d.md) - [Pointer capture, snapshot, and signed coordinates](../guides/pointer-input.md) - [Event descriptor, deadline, and monotonic clock](../guides/events.md) - [Instruction budget, call depth, and event-work budget](../guides/limits.md#what-is-being-counted) - [GPIO, BCM numbering, and pull-up or pull-down](../guides/gpio.md) - [Native executable, architecture, compression, metadata, and SSH](../guides/build.md#understanding-export-options) - [X11, Wayland, DRM/KMS, and evdev](../guides/hosts.md#technical-linux-display-names) - [Advanced terms for features Pliro does not yet support](../syntax/unsupported.md)