Здравствуйте, Vermicious Knid, Вы писали:
VK>А теперь вариант на D. Как говорится почувствуйте разницу.
Ну очень мне нравится D. Вот только библиотеками он обеспечен пока очень мало

В этом плане у Nemerle очень выигрышная позиция -- он то предоставляет доступ к .NET Framework.
E>>Зато компилятор не дает вычислять факториал нуля
VK>Это неправильно с точки зрения математики.
Да, действительно. Но это легко исправляется. Код даже меньше получится:
template< int N >
struct Factorial {
enum { value = N * Factorial< N-1 >::value };
};
template<>
struct Factorial< 0 > {
enum { value = 1 };
};
Но вообще я согласен с Oyster, что сложные compile-time вычисления (если все типы заранее известны) на Nemerle могут выглядеть проще, чем на C++.