Без единого гвоздя

Nov 17, 2006 22:57

Меня посетила очередная безумная идея. Язык программирования без условных операторов. Но объектно-ориентированный. Эдакий объектно-ориентированный Brainfuck.

Предположим, в обычном алгоритмическом языке мы имеем конструкцию:

Man man = InviteMan();
...
if(man is GoodMan)
...
else
...;

В нашем расово верном языке проблема выбора будет решаться декларативно.
Для начала составим основной use case:

case ManProcessor
{
Man man = InviteMan();
ProcessMan(man );
PrepareForNextMan();
}

Чтобы решить проблему без if, создаем класс-наследник ManProcessor, в котором переопределяем метод ProcessMan!

[UsedFor(BadMan)]
case BadManProcessor
{
ProcessMan(Man man)
{
Kill(man);
}

}

Ну и для объектов класса GoodMan, соотвественно:

[UsedFor(BadMan)]
case GoodManProcessor
{
ProcessMan(Man man)
{
Say("Благодарим за посещение, приходите еще!");
}

}

--

Таким образом имеем язык программирования без условных операторов. Кстати, все операторы в этом языке должны быть ничем иным, как методами родительского класса. С целью сохранения концептуальной чистоты, так сказать.

бесполезные идеи, программизм

Previous post Next post
Up