Текст программы в большинстве языков программирования состоит из минимальных осмысленных кусочков: знаки операций, имена (переменных, подпрограмм, типов данных…), значения (числа, символы, строки…), комментарии (поясняют текст для программистов, но не влияют на результат вычислений). Эти минимальные осмысленные кусочки называются лексемами или токенами (в теории формальных языков их различают, но для нас разница несущественна).
Среди лексем есть так называемые ключевые слова — это лексемы, похожие на имена (состоят из букв, иногда содержат цифры), но при этом именами не являющиеся. Особенность их в том, что у них есть чётко закреплённый смысл и поэтому программист не может их использовать в качестве имён переменных, подпрограмм (функций, процедур, методов — в разных языках они называются по-разному) или типов (в некоторых языках — классов).
Например, во многих языках программирования есть ключевое слово if. Смысл этого слова в том, что с него начинается условный оператор (его ещё называют оператором ветвления). После ключевого слова if должно быть записано условие и две ветки вычислений, которые могут выделяться ключевыми словами then (есть не во всех языках) и else (есть в подавляющем большинстве языков, где есть if). Если условие истинное — выполняется первая ветка, если ложное — то вторая.
Если программист попробует назвать переменную или процедуру словом if, то такая программа будет отвергнута компьютером как некорректная. Потому что ключевое слово if может быть записано только там, где может начинаться оператор, и с него должен начинаться правильно написанный оператор ветвления (он же условный оператор), в любых других местах (например, где можно записывать имена переменных или процедур) его употреблять запрещено.