«В порядочных языках сообщения об ошибках информативны и точно указывают на причины произошедшего. В непорядочных — напротив, сообщения либо универсальны, либо подбрасывают неправильные причины ошибки. Ошибки INTERCAL так же ехидны, как и руководство, и без справочника не расшифровываются принципиально. В самом деле, можно догадаться, что E252 «Я забыл, что я собирался сказать» — ошибка переполнения памяти при операциях ввода-вывода, а E182 «Кажется, тебе очень нравится эта метка» — ошибка использования одной и той же метки несколько раз. Но кому в здравом уме и твердой памяти придет в голову, что E405 «Программа отвергнута из соображений психического здоровья» сигнализирует об использовании команд многопоточности или вычислений с откатами без соответствующей опции компилятора, E017 «Что, я правда должен с этим разобраться?» — об использовании констант неправильного диапазона, а E127 «Говорить „абракадабра“ без волшебной палочки совершенно бесполезно» — о том, что стандартная библиотека не подключена?
Некоторые ошибки вообще не имеют аналогов в других языках. Так, пара E079 «Программист недостаточно вежлив» и E099 «Программист слишком вежлив» относятся к количеству идентификаторов команды PLEASE в программе (кстати, никакой другой смысловой нагрузки идентификатор PLEASE не несет). Ошибка E774 «Случайный баг компилятора» полностью соответствует своему названию — возникает случайно и при повторной компиляции обычно пропадает. E995 «Что, я правда должен был это реализовать?» возникает при попытке выполнить код, который еще не написан (только не спрашивайте, как это можно сделать!).» http://habrahabr.ru/post/116660/