metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2009-07-10 06:48 pm

Концептуальное о ваших этих хаскелях и окамлах

haskell datagrid

ocaml datagrid

Обратите внимание на количество найденных ссылок. И попытаться найти хотя бы одну из них которая соответствует искомому.

Я, конечно, понимаю, что заниматься мерянием производительности алгоритмов и разработкой сложной back-end логики это гораздо интереснее, чем делать GUI, но GUI тоже таки делать нужно.
У меня вот в последней сложной фиче, которую я делал, на back-end логику ушло пару дней, на ввод данных для нее - неделя и еще две недели на подгонку GUI чтобы это все было можно использовать как можно удобнее и быстрее.

[identity profile] vp.livejournal.com 2009-07-10 06:41 pm (UTC)(link)
А сращивание одного с другим будет выглядеть каким образом?
Ключевой момент.

[identity profile] permea-kra.livejournal.com 2009-07-10 06:59 pm (UTC)(link)
Хороший вопрос, на самом деле. Возможно, IPC чем-то текст-ориентированным? FFI больно страшен, да и всё равно желательно выделять отдельный working thread, чтобы гуй не подвешивать.

[identity profile] metaclass.livejournal.com 2009-07-10 08:46 pm (UTC)(link)
Не, не, там ад холокоста.
Единственный адекватный вариант, который я вижу - автогенерация внешних интерфейсов из хаскелевых типов. Если нет готового решения, придется что-то делать самостоятельно.

[identity profile] zamotivator.livejournal.com 2009-07-15 01:15 pm (UTC)(link)
В случае ML, Haskell, Lisp, такую генерацию сделать на порядки проще чем из С или С++, к примеру.
Автоматизировать полностью можно, моё ИМХО

[identity profile] metaclass.livejournal.com 2009-07-15 01:29 pm (UTC)(link)
Я так думаю, что как минимум интерфейсы можно факторизовать на две части - то что генерируется автоматически, и то что делается вручную от фонаря, типа дизайна и картинок красивых :)
Но мне времени не хватает эту мысль довести до практики, а еще я сдуру/ради продакшена все предыдущие(и даже работающие) попытки это сделать, делал на дотнете :)

[identity profile] zamotivator.livejournal.com 2009-07-10 08:35 pm (UTC)(link)
Я, кстати, поглядел как биндинги в ocaml делаются.
Впечатлился. Как в Си (никаких заморочек).
На тему маршализации да, курить но.
НО языки типа Ocaml/Haskell - это мета языки. Вполне за пару дней можно сваять генератор биндингов в dll.

[identity profile] metaclass.livejournal.com 2009-07-12 06:02 am (UTC)(link)
И получим полный набор геморроя, когда одмины поставят на винду новый суперфайрволл, который мало того, что прикроет порты, так и не даст нашей проге запустить вторую, которая работает с сетью. Или набор геморроя при деплойменте и саппорте, когда нужно будет вместо одной проги проверять на работоспособность две и больше.
Юникс сокетов на винде как бы и нету, а всякие там именнованные пайпы это тоже то еще развлечение.
В общем, как я уже писал - сначала мы создаем себе проблемы, потом героически их преодолеваем. Это классическая ситуация, когда цель - не деньги заработать, а развлечься и почесать мозги за счет работы. Все эти "сетевые" приложения, "сервисы", "модульная архитектура" - это же в 90% случаев фетиш и костыли, на самом деле, а не реальная производственная надобность.

[identity profile] lupus-lupusum.livejournal.com 2009-07-12 06:11 am (UTC)(link)
тут геморрой предсказуемый, а потому и не опасный. и тестируется открытый сокет программы легко.

еще есть OLE automation, но то для ценителей.

[identity profile] metaclass.livejournal.com 2009-07-12 06:17 am (UTC)(link)
О да, если что и хуже связи через сокеты, так это завязываться на регистрацию COM объектов и все связанное с ними сектантство :)

[identity profile] olegy.livejournal.com 2009-07-12 08:51 am (UTC)(link)
Когда то был проект, назывался jazz - клиент на QT, сервер на питоне, обмен через сокеты xml ем типа тег <window x ="11" y="111"/><button и т.п.