Однако вполне допускаю языки, в которых одного объявления логической переменной недостаточно - для применимости операторов она должна быть ещё и инициализирована.
Ну вот, теперь я вспомнил о языках, где переменная может иметь значение
Undefined 
... наитупейшая идея, если честно: если есть переменная, у нее есть какое-то значение. Обращение к значению неинициализированной переменной ловится элементарно что в интерпретируемом, что в компилируемом языке, зачем еще это уродство... ну будет значение-сюрприз, я даже когда писал игрушечный компилятор, инициализировал локальные переменные с помощью
rand() ;)
Ладно, спасибо за напоминание, что есть уродства еще на свете
