.NET → Программирование Magic: the Gathering — §2 Карта
Предыдущие посты: §1
.NET → Программирование Magic: the Gathering — §1 Мана

Хочется начать посты про программирование Magic: the Gathering (M:tG), и начнем мы пожалу с самого простого – с концепции «маны». Мана – это то, чем оплачиваются все заклинания. Несмотря на то, что с виду маны всего 5 типов, на самом деле все чуть-чуть сложнее. Давайте попробуем разобраться.
Python → Boo — питонообразный .NET язык
Приветствую уважаемые Хабрапользователи, хочется мне рассказать Вам об “ещё одном языке программирования” носящим названием Boo. Язык этот к удивлению малоизвестный, но при этом является очень мощным и удобным, и что самое главное, показывает прекрасный пример заимствования хороших идей в новом и интересном контексте, а именно реализацию синтаксически очень близкого к Python языка в качестве компонента .NET инфраструктуры.
.NET → Языки предметной области Domain-Specific Languages (DSL)
Что это?
Это некоторая форма компьютерных языков, разрабатываемых для специфичной предметной области. Это то, что позволяет вам (разработчикам ПО) лучше взаимодействовать с носителями “доменных знаний”. А так же позволяет более лаконично оформлять бизнес-логику. Это то, что представляет собой, к примеру, SQL, Linq, многое из синтаксиса Ruby On Rails.
.NET → Пример практики BDD при работе со Specter Framework
Specter – инфраструктура для составления объектно-поведенческих спецификаций для .NET. Он предоставляет возможности для обеспечения разработки, руководствуясь поведением системы (BDD), требуя от разработчиков написания исполняемой спецификации для объектов перед написанием самих объектов. Технически это ни чем не отличается от разработки по средствам тестирования (TDD), хотя различия в форме написания снимают психологический барьер для написания “тестов” для кода, которого ещё не существует. Есть множество проектов для различных платформ, реализующих данную идею (К примеру RSpec для Ruby, NSpec для .NET. Подробнее о средах здесь).Specter использует возможности мета-программирования языка Boo (CLR .NET) для написания неплохо читаемых спецификаций.