Всякий язык
программирования обладает тремя предназначенными для этого механизмами: элементарные выражения, представляющие минимальные сущности, с которыми язык
имеет дело;
средства комбинирования, с помощью которых из простых объектов составляются
сложные;
средства абстракции, с помощью которых сложные объекты можно называть и обращаться с ними как с единым целым.