"Денис Гаев. Ксерион: язык и технология программирования" - читать интересную книгу автора

безусловно, будут предоставляться стандартными библиотеками).

Ксерион обладает рядом важных особенностей, специфичных для этого языка
или реализованных в нем лучше, чем во многих других языках программирования.
Для языка в целом характерны:

-- мощность и гибкость. В языке присутствуют практически все
возможности, характерные для традиционных процедурных языков, таких как C++
или Паскаль, без произвольных ограничений на их использование, характерных,
например, для Java. При этом многие из этих возможностей становятся намного
мощнее и потенциально ценнее. Например, в Ксерионе допустимо динамическое
определение размеров массивов, произвольные инициализаторы для массивов,
аргументов функций и компонент классов и многое другое.

-- иерархическому подходу к разработке и реализации программы во многом
содействует принятый в языке принцип локальности. Любую Ксерион-программу
можно рассматривать как иерархию вложенных друг в друга областей действия, а
любое описание (декларация) имеет локальный характер, т.е. действует только
в пределах самой внутренней из содержащих ее областей действия. Самой
внешней всегда является глобальная область действия, но ее использование
лучше максимально ограничить. Правильный подход к использованию принципа
локальности, предполагающий описание переменных, функций, типов данных,
классов и т.п. только там, где они нужны, является важным фактором улучшения
как надежности, так и эффективности программы.

-- вопросам эффективности при разработке языка уделялось особое
внимание. Так, контроль над такими принципиальными для эффективности
моментами, как распределение памяти, находится в руках разработчика.
Некоторые средства языка, такие, как специфические атрибуты указательных
типов static и strict, дают программисту явную возможность улучшать
эффективность программного кода за счет его общности. Не менее важно наличие
агрегатных операций присваивания и сравнения для векторных и объектных
типов.

-- надежность. Язык является надежным в том смысле, что на нем
невозможно написать "сбойный" код. Например, обеспечивается полная проверка
диапазона при обращениях к массивам, проверка валидности используемых
указателей на объекты данных и ссылок на функции, предусмотрен надежный
механизм преобразования между родственными объектными типами и т.п. Все
ошибки подобного рода, выявленные при выполнении программы, возбуждают
исключительные ситуации, которые могут быть перехвачены и корректно
обработаны.

-- последовательность и ясность. Предположительно, многие конструкции
языка имеют более последовательный и компактный синтаксис, чем их аналоги в
Паскале, Java и C++. Можно сказать, что для синтаксиса языка характерна
большая "ортогональность", чем для многих других языков. Если некая
конструкция языка синтаксически правильна, она почти всегда имеет какую-то
разумную семантику и может быть полезна в определенной ситуации. Кроме того,
язык минимизирует или полностью исключает необходимость в дублирующих