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

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

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

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

[identity profile] jdevelop.livejournal.com 2013-02-06 02:16 pm (UTC)(link)
биржевой софт - на хаскеле?


это неправда, это не может быть правдой.

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

[identity profile] demonim.livejournal.com 2013-02-06 02:19 pm (UTC)(link)
Даже не знаю как и сформулировать, чтобы без личного.
Бух учет это даже не математика, а арифметика, то, что у нас в обществе называется бухгалтерией, и бухучетом - это не отражение результатов деятельности (производственной, торговой и т.д.), а изобретение алгоритмов выдающих заранее заданный результат.

В автоматизации бухучета есть только одна проблема - вычислительные мощности сумматора(калькулятора) как угодно можно назвать. Если следовать принципам последовательной записи - все настолько неинтересно автоматизировать, что аж зубы сводит.

Но мы не ищем простых путей :) Поэтому у нас и функциональщина и прочие демоны там, где их быть не должно по определению.

Уважаю Ваши знания, но тут не смог промолчать, извините :)

[identity profile] metaclass.livejournal.com 2013-02-06 02:21 pm (UTC)(link)
Не знаю, мне бухгалтерия интересна.
Но там в основном не столько сама бухгалтерия, столько отчетность, которую коллективно выдумывают различные министерства+внутренняя отчетность заказчиков. И таки реализация ее в виде DSL поверх функциональных языков сильно облегчает работу.

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

[identity profile] dnnx.livejournal.com 2013-02-06 02:46 pm (UTC)(link)
33$

[personal profile] alll 2013-02-06 03:00 pm (UTC)(link)
Кстати, а sql разве не функциональный язык (пусть и корявый да кастрированый)? Ну то-есть ежели кто разобрался, как работает select ... group by, тот и с filter/map/fold разберётся за вполне сравнимое время.

[identity profile] metaclass.livejournal.com 2013-02-06 03:04 pm (UTC)(link)
Я именно так и разбирался, да.

[identity profile] potan.livejournal.com 2013-02-06 03:17 pm (UTC)(link)
На то есть list comprehension. Если о производительности не сильно заботиться.

[identity profile] metaclass.livejournal.com 2013-02-06 03:21 pm (UTC)(link)
Смотря какой join. Если, как у меня - "подписи из справочника", то можно загрузить справочник в мап и доставать из него для каждой записи основной таблицы.
Полноценное декартово произведение не так часто нужно.

[identity profile] falcrum.livejournal.com 2013-02-06 04:42 pm (UTC)(link)
Вот соглашусь. Ибо сколько уже видел "бухгалтеров", которые знают, что "проценты считаются по кнопке Ф8", а сами уже того... не могут...

[identity profile] black-angel-by.livejournal.com 2013-02-06 05:01 pm (UTC)(link)
42 ответ на всё ! :)

[identity profile] vshabanov.livejournal.com 2013-02-06 05:29 pm (UTC)(link)
Почему же? Особенно учитывая, что значительная часть хаскельных вакансий идут из инвестиционных банков.

[identity profile] nealar.livejournal.com 2013-02-06 05:33 pm (UTC)(link)
Integer в х-е не тормозит вообще: когда значение влазит в простой Int, он по скорости практически неотличим.

[identity profile] jdevelop.livejournal.com 2013-02-06 05:36 pm (UTC)(link)
Потому что я год отработал в этих самых инвестиционных банках на всех этих биржевых платформах.

Цацкель в биржу в UBS не пустят никогда и вообще никогда, за предложение - расстреляют.

В Барклайс когда-то работал ro-che, они писали анализы рисков или что-то в этом роде, больше Рома там не работает, уж не знаю почему. Что сталось с этим анализатором - мне неведомо.

Ни один здравомыслящий софтварный манагер в банке не допустит цацкель в продакшн. Я это наверное даже гарантирую.

[identity profile] vshabanov.livejournal.com 2013-02-06 06:11 pm (UTC)(link)
> Цацкель в биржу в UBS не пустят никогда и вообще никогда, за предложение - расстреляют.

Почему?

> Ни один здравомыслящий софтварный манагер в банке не допустит цацкель в продакшн. Я это наверное даже гарантирую.

Почему?

[identity profile] jdevelop.livejournal.com 2013-02-06 06:17 pm (UTC)(link)
потому что никто не возьмет на себя ответственность за "в случае чего". Для разной жабы и прочего кобола есть набор практик и требований, JVM стабильна и на саппорте у оракла. А цацкель разрабатывается кучей гиков, и им даже претензий выкатить некуда, потому что даже продав всех на органы - убытки не покроются. Так понятнее?

[identity profile] jdevelop.livejournal.com 2013-02-06 06:18 pm (UTC)(link)
и это даже без учета того, что хакедж - это говно, разнообразный код на том же цацкеле бывает несовместимым при выходе новой версии компилятора, вся эта хваленая ленивость идет в жопу автоматически, нормальных месседжброкеров нет, ничего нет, инфраструктуру под это все создавать с нуля. Да все перечислять - книгу написать можно. Цацкель - для поделок, понтов и ЧСВ. Для банков - жаба и кобол. Такова реальность.

[identity profile] thedeemon.livejournal.com 2013-02-06 06:56 pm (UTC)(link)
А там можно возвращать функции из функций?

[identity profile] thedeemon.livejournal.com 2013-02-06 06:59 pm (UTC)(link)
потому что произведение в ней есть, а копроизведения нет

[personal profile] alll 2013-02-06 07:40 pm (UTC)(link)
там есть буквосочетание "корявый и кастрированый"
впрочем, для понимания концепций filter/map/fold возвращать функции необязательно

[identity profile] norguhtar.livejournal.com 2013-02-07 02:23 am (UTC)(link)
Нет. SQL декларативный. Оттуда и все его ограничения.

[identity profile] dlebedev8.livejournal.com 2013-02-07 02:35 am (UTC)(link)
Самоочевидно ли то, что с помощью filter/map/fold можно реализовать бухгалтерскую отчетность более простым и очевидным образом, чем с помощью select .. where .. group by?
А с помощью select .. where .. group by можно реализовать бухгалтерскую отчетность? Данные вносить в систему тоже будете через запросы к БД?

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

[identity profile] dlebedev8.livejournal.com 2013-02-07 02:48 am (UTC)(link)
Вся проблема в том, что бухучет изначально был придуман для учета остатков активов и пассивов в денежном выражении.
Не знаю, для чего там бухучет был изначально придуман, а в России он нуже лишь для того, чтобы налоговая и прочие органы могли натягивать на свои длинные толстые жезлы и скипетры нерадивых коммерсантов. Потому и облекли правила ведения бухучета в форму закона.

А вообще, видел людей, которые свято верят, что бухучет можно использовать для эффективного менеджмента (не, не, это не то, о чем вы сейчас подумали) предприятия. Вот не знаю, получается ли у них.

[identity profile] theiced.livejournal.com 2013-02-07 03:50 am (UTC)(link)
вот. крокодил в очередной раз показал себя тупым мудаком перепутав "функциональщину" и "типизацию".

более того, код писанный в функциональном стиле в общем случае работает быстрее и обычно работает с иммутабельными данными - то есть никаких "проблем с балансом" быть не может принципиально.

иди секурити аудит проводи, говнище.

Page 4 of 6