. (Full Stop) is ASCII code point 46 (0x2E), Unicode U+002E, and a printable punctuation character. It ends a sentence — the written equivalent of setting something down on a table, signaling that a complete thought has been delivered and the next one may begin. Programming scatters periods everywhere but calls them "dots." It's the member access operator in JavaScript, Python, Java, and C# (object.method()), the separator in domain names and IP addresses, and the path delimiter in package and module hierarchies. In regular expressions, . matches any single character except a newline, making it the ultimate wildcard — and the ultimate trap. Writing 1.2 in a regex intended to match the version string "1.2" will cheerfully match "1X2" or "1_2" as well, because the dot is unescaped. Entire validation routines have shipped to production matching far more than their authors intended, simply because a period was read as prose instead of as a metacharacter. The full stop has been marking sentence boundaries since at least the third century BCE, when Aristophanes of Byzantium proposed a system of dots at varying heights to guide readers through Greek texts. UTF-8 encodes it as a single byte 0x2E. Unicode classifies it as Po (Punctuation, Other) with the name FULL STOP. The midpoint · (U+00B7) and the ellipsis … (U+2026, a single code point replacing three consecutive dots) are its most commonly encountered relatives.
struct Pt { int x; int y; } p = {1, 2};int a = p.x; // '.' accesses a struct memberint b = p.y; // common in low-level C APIs
The dot was chosen as the wildcard because it's visually inconspicuous — like a placeholder for any single character. It matches everything except newline by default (use the 's' flag to match newlines too). To match a literal period, escape it: \. This is one of the most common regex mistakes.
On Unix/macOS, files starting with . are hidden (like .gitignore, .env, .bashrc). The ls command skips them by default — use ls -a to see them. This convention started as a bug in early Unix (the developer excluded '.' and '..' but accidentally hid all dot-files) and became a feature.
The dot operator accesses members of an object: object.property or object.method(). In Python, it's used for module access (os.path.join). In JavaScript, it's chainable (array.filter().map()). Understanding dot notation is fundamental to reading code in any OOP language.
Double dots (..) in URLs can enable directory traversal attacks — ../../etc/passwd tries to escape the web root. In filenames, the period separates the extension (.exe, .sh), which affects how the OS handles the file. Servers must sanitize both patterns to prevent exploitation.