Главная страница   /   9. Языки программирования и инструменты (Метапрограммирование в .NET

Метапрограммирование в .NET

Метапрограммирование в .NET

Кевин Хазард

9. Языки программирования и инструменты

В этой главе:

  • Введение в языки, которые имеют родные конструкции метапрограммирования
  • Обзор инструментов, которые предоставляют возможности динамического программирования для C#

В этой книге вы видели, как C# используется (и потенциально злоупотребляется!) для облегчения метапрограммирования. В некоторых случаях были использованы внешние компоненты (например, NRefactory и Cecil), поскольку они обеспечивают функциональные возможности, необходимые для поддержки метапрограммирования. Хотя C# является мощным языком программирования, который можно использовать для создания кратких, гибких программ, время от времени в этой книге C#, возможно, казался надуманно извращенным, чтобы обслуживать потребности метапрограммирования.

Это не удивительно, потому что вы можете возразить, что C# не был разработан с учетом метапрограммирования как глубокого, основного аспекта. Но языки программирования были созданы, чтобы позволять менять язык, если это необходимо. Эти языки, созданные после первоначальной версии .NET 1.0, имеют встроенные возможности метапрограммирования. Кроме того, были разработаны средства для .NET языков, чтобы позволить вам работать с такими концепциями, как внедрение кода и аспектно-ориентированное программирование (АОП). Эта глава знакомит вас с языками, которые делают метапрограммирование простым и легким в использовании, и с инструментами, которые снижают барьер для динамического программирования в C#. Давайте начнем с нескольких различных языков на основе метапрограммирования, предназначенных для CLR.

9.1. Обзор языков

9.2. Обзор инструментов

9.3. Резюме