Автор Тема: Задачка архитекторная.  (Прочитано 64971 раз)

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re:Задачка архитекторная.
« Ответ #30 : Март 25, 2011, 12:13:34 pm »
Это уже вопрос архитектуры, кстати. По сути имеем дилемму – строгая у нас будет типизация, или же не строгая.
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

AlexIljin

  • Newbie
  • *
  • Сообщений: 25
    • Просмотр профиля
Re:Задачка архитекторная.
« Ответ #31 : Март 26, 2011, 08:30:08 pm »
Это уже вопрос архитектуры, кстати. По сути имеем дилемму – строгая у нас будет типизация, или же не строгая.
Я решил сделать строгую типизацию (строгость снимается тривиально, а вот добавить туда, где её не было изначально, сложнее). Язык - XDS Oberon-2, используемые модули In и Out - "дубовые" (можно и на WinApi-консоль перейти, это не сложно).

AlexIljin

  • Newbie
  • *
  • Сообщений: 25
    • Просмотр профиля
Re:Задачка архитекторная.
« Ответ #32 : Март 26, 2011, 08:40:33 pm »
Теперь можно и на чужие решения поглядеть. : )

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re:Задачка архитекторная.
« Ответ #33 : Март 26, 2011, 08:43:34 pm »
Теперь можно и на чужие решения поглядеть. : )
А до понедельника потерпишь? Впрочем, я могу в личку дать ссыль.
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re:Задачка архитекторная.
« Ответ #34 : Март 26, 2011, 08:45:35 pm »
Ссыль уехала в личку.
Ждем кого-нибудь еще :-) Я кстати, тоже думаю попробовать.  В чужие решения я не смотрел, там страшно :-)
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

Илья Ермаков

  • Full Member
  • ***
  • Сообщений: 177
    • Просмотр профиля
    • OberonCore
Re:Задачка архитекторная.
« Ответ #35 : Март 26, 2011, 09:36:53 pm »
Не публикуйте пока. Будет ишшо пример, на КП :)

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re:Задачка архитекторная.
« Ответ #36 : Март 26, 2011, 09:37:54 pm »
Угу. Жду как минимум понедельника (вечера понедельника, утром обычно мне хочется на работу, и я больше ни о чем думать не могу :-) ).

По запросу могу и ещё резину потянуть :-)
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

AlexIljin

  • Newbie
  • *
  • Сообщений: 25
    • Просмотр профиля
Re:Задачка архитекторная.
« Ответ #37 : Март 26, 2011, 09:56:23 pm »
Добавлены и поправлены комментарии, плюс исправлена константа MaxHeight в процедуре LoadTable.

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re:Задачка архитекторная.
« Ответ #38 : Март 26, 2011, 10:24:37 pm »
Добавлены и поправлены комментарии, плюс исправлена константа MaxHeight в процедуре LoadTable.
Мда, программа на обероне-2 внушаит -- 383 locs.
Мои два решения имеют 118 locs (первое) и 180 locs (с проверкой циклов в формулах)
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re:Задачка архитекторная.
« Ответ #39 : Март 26, 2011, 10:39:56 pm »
А если в лексемах подсчитать? :-)
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

AlexIljin

  • Newbie
  • *
  • Сообщений: 25
    • Просмотр профиля
Re:Задачка архитекторная.
« Ответ #40 : Март 26, 2011, 10:58:38 pm »
Мда, программа на обероне-2 внушаит -- 383 locs.
Я 380 насчитал.

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re:Задачка архитекторная.
« Ответ #41 : Март 26, 2011, 11:00:20 pm »
В лексемах слабо. Решил сравнить в размере конкретно кода, сжатого zip-ом.
Все комментарии и пустые строки выкинул, естественно. Выравнивание кода сохранил.
Оберон-2 вариант:     zip: 2565 байт, распакованный вид: 10362 байт
Haskell, 1-й вариант: zip: 1591 байт, распакованный вид:  4821 байт
Haskell, 2-й вариант: zip: 2189 байт, распакованный вид:  7795 байт
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re:Задачка архитекторная.
« Ответ #42 : Март 26, 2011, 11:01:54 pm »
Мда, программа на обероне-2 внушаит -- 383 locs.
Я 380 насчитал.
Да, я позже пересчитал строки, тоже 380 вышло, но поправить пост уже не смог. ((
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re:Задачка архитекторная.
« Ответ #43 : Март 26, 2011, 11:04:32 pm »
В лексемах слабо. Решил сравнить в размере конкретно кода, сжатого zip-ом.
Все комментарии и пустые строки выкинул, естественно. Выравнивание кода сохранил.
Оберон-2 вариант:     zip: 2565 байт, распакованный вид: 10362 байт
Haskell, 1-й вариант: zip: 1591 байт, распакованный вид:  4821 байт
Haskell, 2-й вариант: zip: 2189 байт, распакованный вид:  7795 байт
Ну, в общем-то это и на глаз заметно, что строки на хаскелле заметно длиннее, чем на обероне или сях. Это тоже влияет на их количество...
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re:Задачка архитекторная.
« Ответ #44 : Март 26, 2011, 11:19:24 pm »
Ну, в общем-то это и на глаз заметно, что строки на хаскелле заметно длиннее, чем на обероне или сях. Это тоже влияет на их количество...

Решил уточнить средние длины строк решений (без комментариев и прочего ненужного).
На Хаскелле вышло 39 и 41 символов, на обероне-2 25 символов ;)
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…