metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2013-02-06 02:33 pm
Entry tags:

Функциональщина в бухгалтерии

Самоочевидно ли то, что с помощью filter/map/fold можно реализовать бухгалтерскую отчетность более простым и очевидным образом, чем с помощью select .. where .. group by?

Нет, наверно я хотел задать не этот вопрос. Правильный вопрос: сколько в час денег попросит человек, способный за неделю-две разобраться в вышеописанном вопросе?

[identity profile] veremeenko-alex.livejournal.com 2013-02-06 11:34 am (UTC)(link)
20$

[identity profile] jamhed.livejournal.com 2013-02-06 11:34 am (UTC)(link)
а почему собственно select очевиднее filter?

[identity profile] Шура Люберецкий (from livejournal.com) 2013-02-06 11:35 am (UTC)(link)
Правильный ответ - с помощью filter, map и fold можно реализовать select, where и group by, а также еще много чего.

[identity profile] eleon.livejournal.com 2013-02-06 11:48 am (UTC)(link)
25? :)

[identity profile] metaclass.livejournal.com 2013-02-06 11:50 am (UTC)(link)
Вообще зависит от языка, но вопрос больше не в очевидности, а в том, что при сложных правилах составления отчетов реализация их на функциональном языке получается гораздо нагляднее и проще, чем на sql.

[identity profile] blackyblack.livejournal.com 2013-02-06 11:51 am (UTC)(link)
15$. А вообще можно убедить заказчика как в первом так и во втором варианте. Всё равно хрен проверишь, а к концу проекта можно уже будет греть кости на пляжу.

[identity profile] metaclass.livejournal.com 2013-02-06 11:53 am (UTC)(link)
Заказчику (если это не модуль к готовой системе) в норме пофиг должно быть, на чем оно написано. Все равно более адекватного по соотношению цена/качество, чем у функциональщиков, обслуживания он не получит.

[identity profile] metaclass.livejournal.com 2013-02-06 11:54 am (UTC)(link)
За эти деньги человек еще и требования сам соберет и с заказчиками общаться поедет:)

[identity profile] eleon.livejournal.com 2013-02-06 11:59 am (UTC)(link)
НУ если ты настаиваешь...

[identity profile] blackyblack.livejournal.com 2013-02-06 12:00 pm (UTC)(link)
Заказчика я тут имел в виду того, который захочет за решение такого вопроса какой-то рейт платить.

[identity profile] metaclass.livejournal.com 2013-02-06 12:04 pm (UTC)(link)
Нет, в российские ебеня я не поеду.
Я то в белорусские езжу исключительно если меня туда возят :)

[identity profile] plumqqz.livejournal.com 2013-02-06 12:04 pm (UTC)(link)
Самоочевидно ли то
Мне лично самоочевидно, что очень вероятны проблемы с балансом. Кроме того, еще более вероятны проблемы с производительностью. Ну и, скорее всего, вероятны проблемы с типами (в функциональщине вообще есть тип с фиксированной точностью?)

[identity profile] eleon.livejournal.com 2013-02-06 12:05 pm (UTC)(link)
А если самолетом?

[identity profile] berezovsky.livejournal.com 2013-02-06 12:07 pm (UTC)(link)
Съездил бы разок, написал псто с личными впечатлениями.
Заодно прояснилось бы, что про рашу врут, а что нет.

[identity profile] dmzlj.livejournal.com 2013-02-06 12:09 pm (UTC)(link)
это не так. рано или поздно придется использовать что-то вроде IxSet, что есть подобие левой руки.
джойны вручную --- это разве предел мечтаний?

хотя проблема в том, что 50/50. т.е когда я пилил сложную логику на сиквеле, мне остро не хватало встроенного туда нормального функционального языка.
Edited 2013-02-06 12:11 (UTC)

[identity profile] vp.livejournal.com 2013-02-06 12:10 pm (UTC)(link)
Я думаю, что ценность должно представлять умение решать проблемы как таковое. Инструментарий - это все-таки вторично. Но это следует из первого: развитое умение решать проблемы позволяет выбрать эффективный инструментарий, да.

[identity profile] metaclass.livejournal.com 2013-02-06 12:11 pm (UTC)(link)
Да, Decimal (в жабовой и дотнетовой функциональщине - точно есть).
Баланс в условиях двойной записи нарушить можно только явными багами в расчетах :)
А с производительностью все очень просто: первоначальная выборка производится в СУБД, средствами SQL, а окончательная генерация отчета по невменяемым правилам - функциональщиной. Ну и SQL тоже функциональщина генерирует, если по хорошему.

[identity profile] dmzlj.livejournal.com 2013-02-06 12:11 pm (UTC)(link)
это как раз просто --- можно хранить всё в бигинте (в т.ч. с произвольной точностью) и определить необходимые функции конверсии/отображения.

а джойнить данные будет неприятно

[identity profile] metaclass.livejournal.com 2013-02-06 12:11 pm (UTC)(link)
Я боюсь думать, сколько захочет денег человек, способный отличить решаемую проблему от инструментов. :)

[identity profile] stdray.livejournal.com 2013-02-06 12:12 pm (UTC)(link)
В конце концов, filter/map/fold большей частью будут отображены на select .. where .. group by. А доступные примитивные типы данных зависят от конкретного языка (платформы), но как правило все тоже самое.

[identity profile] metaclass.livejournal.com 2013-02-06 12:12 pm (UTC)(link)
джоины можно и в СУБД сделать, перед тем как передать результат в функциональщину.
Кроме того - джоины в 90% случаев - это ссылки на справочник, "подпишем ка этот аналитический код".

[identity profile] metaclass.livejournal.com 2013-02-06 12:13 pm (UTC)(link)
Да везде есть decimal (который 64-128 бит целого числа+десятичный scale).

[identity profile] vp.livejournal.com 2013-02-06 12:14 pm (UTC)(link)
Ну вон уже буровую на 1С написали :) Она оказалась неотделима.

[identity profile] dmzlj.livejournal.com 2013-02-06 12:14 pm (UTC)(link)
вот почему мои задачи ВСЕГДА попадают в оставшиеся 10% ?

[identity profile] dmzlj.livejournal.com 2013-02-06 12:16 pm (UTC)(link)
ну типа на х-ле реализовывать типа OLAP что ли? засосал датасет, отпроцессил, сгенерил (если надо) сикли для апдейта, жирной такой транзакцией накатил.

Page 1 of 6