Теологическое программирование

Jun 06, 2018 18:45

Этот рассказ написан в совершенно новом, неизведанном и оригинальном жанре - повествование в коде ( Read more... )

юмор, проза, программирование

Leave a comment

Comments 20

ushastyi June 6 2018, 16:08:20 UTC
Несколько замечаний

1) А зачем proceedsHolySpirit? Нельзя трейтом тоже сделать?

2)

object CatholicMary extends Mary {
val children = List(CatholicGod)
}

object OrthodoxMary extends Mary {
val children = List(OrthodoxGod)
}

Да? А почему не List(<...>HolySon)? И вообще тут бы обобщить, и добавить детей сразу к Mary, а направление христианства специлизировать через темплейт :)

В общем, идея хорошая, но надо бы еще поработать немного. Хотя бы 7 дней :)

Reply

lex_kravetski June 6 2018, 16:20:08 UTC
> 1) А зачем proceedsHolySpirit? Нельзя трейтом тоже сделать?

Он уже. Это - единственный метод трейта Holy. Нужный, чтобы различать степени святости. Что потом оказывается критично для двух версий бога.

> А почему не List(<...>HolySon)?

На Scala так можно. Уже ранее заявлено, что children - это List[Child]. Дальше, при имплементациях и оверрайдах, тип можно не указывать.

Если же вопрос про то, почему в списке HolySon, так это - трейт. Там только бог получается объектом, что доставляет баттхерт лирическому герою. Но бог по наследованию ещё и экземпляр HolySon, просто Son и Child, поэтому фокус прокатывает.

Через дженерик тоже можно, но читать будет тяжело - там весьма длинное определение классов получится.

Reply


iv_an_ru June 6 2018, 16:24:39 UTC
Божественные задачи требуют божественных плюсов:

auto main (auto, auto) NORETURN
{
while (1) auto ();
}

И всё.

Reply

r0l June 6 2018, 19:24:42 UTC
)))

Reply


the_lonley_dog June 6 2018, 17:51:35 UTC
Боян же ж!


... )

Reply


kirillkrm June 6 2018, 18:57:16 UTC
Я статью, конечно, не читал.
Однако сразу задам вопрос строго по теме: Лекс, а ты еврей?

Reply

lex_kravetski June 6 2018, 22:48:24 UTC
Думаю, нет.

Reply

kirillkrm June 7 2018, 10:20:44 UTC
Вот это твоё "думаю, нет" рождает неоднозначность, которая мешает однозначно оценить теологическую часть.
Ну, а в программировании я вообще не бум-бум.

Reply


cn_mangetsu June 6 2018, 19:17:53 UTC
Сильно.

OrthodoxGod: override val proceedsHolySpirit: Boolean = true ← Это так и надо?

На christianEquals я потерялся. Ну, то есть, идею ChristianBoolean я понял, а вот ту конструкцию - нет.

Reply

lex_kravetski June 6 2018, 22:50:12 UTC
> OrthodoxGod: override val proceedsHolySpirit: Boolean = true ← Это так и надо?

Да. В этом одна из разниц межу католицизмом и православием.

Reply

lex_kravetski June 6 2018, 22:53:30 UTC
> На christianEquals я потерялся. Ну, то есть, идею ChristianBoolean я понял, а вот ту конструкцию - нет.

В этом самая сатира. Надо ещё поразбираться.

Reply


Leave a comment

Up