![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
haskell datagrid
ocaml datagrid
Обратите внимание на количество найденных ссылок. И попытаться найти хотя бы одну из них которая соответствует искомому.
Я, конечно, понимаю, что заниматься мерянием производительности алгоритмов и разработкой сложной back-end логики это гораздо интереснее, чем делать GUI, но GUI тоже таки делать нужно.
У меня вот в последней сложной фиче, которую я делал, на back-end логику ушло пару дней, на ввод данных для нее - неделя и еще две недели на подгонку GUI чтобы это все было можно использовать как можно удобнее и быстрее.
ocaml datagrid
Обратите внимание на количество найденных ссылок. И попытаться найти хотя бы одну из них которая соответствует искомому.
Я, конечно, понимаю, что заниматься мерянием производительности алгоритмов и разработкой сложной back-end логики это гораздо интереснее, чем делать GUI, но GUI тоже таки делать нужно.
У меня вот в последней сложной фиче, которую я делал, на back-end логику ушло пару дней, на ввод данных для нее - неделя и еще две недели на подгонку GUI чтобы это все было можно использовать как можно удобнее и быстрее.
no subject
Date: 2009-07-10 04:01 pm (UTC)no subject
Date: 2009-07-10 04:14 pm (UTC)Можно, конечно. Еще можно переписать вручную все нужные компоненты на низкоуровневых примитивах, или написать биндинги к QT, или делать back-end логику на ФП, а морду на обычных языках.
Просто тогда акценты смещаются с "написания софта для клиентов как можно быстрее" на "героические разборки с проблемами созданными самим себе". Т.е. сначала мы учимся подключать веб-движок в софт, затем изучаем как сделать настолько же rich-gui на вебе, потом воюем с его ограничениями, итд. Или там "изучаем как срастить хаскель, клиентскую либу СУБД, гуй на дельфи или там .NEТ и генератор отчетов на вши красной, желтой, гусеницах, etc"
Суть такая: я могу на дельфи или там на .NEТ +SQL +генератор отчетов быстро клепать db-centric софт. Очень быстро. Но некоторые вещи на них делать просто задалбывает, и в случае сложных расчетов это все становится малочитабельно и неподдерживаемо. ФП языки с их выводом типов, функциями высшего порядка, каррингом и метапрограммированием могли бы это дело сильно упростить. Но: у них нет UI. Тупо нет. То, что адепты говорят "есть" - это хрень. Это из разряда как у ребе белнетмон писали что датчики груза для белаза "есть". Это "есть" еще два-три месяца изучать, прикручивать и напильником подгонять придется. А за это время я все свои задачи три раза обычными индусскими методами решу.
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From: (Anonymous) - Date: 2009-08-12 01:03 am (UTC) - Expandno subject
Date: 2009-07-10 04:11 pm (UTC)не?
no subject
Date: 2009-07-10 04:18 pm (UTC)Но для некоторых вещей нативный не-веб GUI - безальтернативен, имхо. Т.е., да, можно там навернуть аякса всякого, можно сделать почти так же быстро реагирующим на юзеровские действия, но это ровно до тех пор, пока не окажется, что к программе нужно прикрутить электронные весы на RS232 порту, или там блютуз-адаптер, или rfid-читалку. И даже без этого - если мы имеем классический GUI и на нем задача решается за один день рисованием в дизайнере, а вместо этого предлагается извращаться с вебом, добиваясь такой же эффективности - неясно зачем это тогда нужно:)
(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2009-07-10 04:29 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2009-07-10 10:22 pm (UTC)(no subject)
From:(no subject)
From:no subject
Date: 2009-07-10 04:13 pm (UTC)брать людей, учить их окамлам, нагнетать нездоровую атмосферу вокруг императивных языков.
no subject
Date: 2009-07-10 04:17 pm (UTC)no subject
Date: 2009-07-10 04:18 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2009-07-10 04:26 pm (UTC)(no subject)
From:(no subject)
From:no subject
Date: 2009-07-10 04:29 pm (UTC)no subject
Date: 2009-07-10 06:32 pm (UTC)no subject
Date: 2009-07-10 06:41 pm (UTC)Ключевой момент.
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2009-07-10 06:43 pm (UTC)На данный момент, что GUI, что FFI в ФП выглядят одинаково ужасно, так что неясно, что лучше делать - разбираться с родными биндингами к GUI тулкитам, или же разбираться с FFI и прикручивать хаскелевые модули в виде DLL к проге на чем-нибудь более приземленном.
В общем-то FFI сильно обессмысливает использование хаскеля - что толку от сжатого представления алгоритма на хаскеле, если для этого нужна обвязка для доступа к БД и передачи данных в GUI, которая по размеру больше самого алгоритма, сделанного в лоб обычным образом. Причем, если по хорошему, доступ к БД должен быть интегрирован с выводом типов, а то описаний таблиц в виде Map
На данный момент, что GUI, что FFI в ФП выглядят одинаково ужасно, так что неясно, что лучше делать - разбираться с родными биндингами к GUI тулкитам, или же разбираться с FFI и прикручивать хаскелевые модули в виде DLL к проге на чем-нибудь более приземленном.
В общем-то FFI сильно обессмысливает использование хаскеля - что толку от сжатого представления алгоритма на хаскеле, если для этого нужна обвязка для доступа к БД и передачи данных в GUI, которая по размеру больше самого алгоритма, сделанного в лоб обычным образом. Причем, если по хорошему, доступ к БД должен быть интегрирован с выводом типов, а то описаний таблиц в виде Map<FieldName,Value> и FieldByName['SHOPETO_ID'].AsDatetime мне и в других языках хватает :)
(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2009-07-11 02:24 am (UTC)Хотя лично я не очень даже верю в тот негатив, который тут пишут про wx - думаю, это некое преувеличение ужасов.
no subject
Date: 2009-07-11 05:56 am (UTC)no subject
Date: 2009-07-11 10:10 am (UTC)(no subject)
From:(no subject)
From:no subject
Date: 2009-07-11 03:42 am (UTC)no subject
Date: 2009-07-11 06:55 am (UTC)Вот я сейчас потратил час только на то чтобы поставить wxHaskell и заставить собираться примеры идущие с ним. Это с учетом того, что я это уже один раз делал и примерно помню, что и где надо подкрутить, чтобы оно поставилось, и как проверить что оно ставится, и как билдить проги ghc с дополнительными пакетами.
И после всего этого примеры, в частности, Grid.hs падает с AV при попытке навести на него мышь.
Пример с дбгридом таки запустился. Доступ к БД: только odbc. Только чтение, редактирования нет. Элемент UI, выдаваемый за dbgrid - listview.
Если я попытаюсь такое использовать для работы - это откат на 10 лет назад по качеству. Для заявлений "GUI есть" и показа скриншотов - подходит. Для работы - нет.
Остальные биндинги, подозреваю, не лучше. Просто никому не нужно их развивать для того, чтобы их можно было использовать в нормальной работе, а не для коротких proof-of-concept прог.
no subject
Date: 2009-07-11 10:06 am (UTC)Мучаются те, кто видит реальные задачи целиком и относится к этому не как к фатишу, а как к ИНСТРУМЕНТУ, который должен уменьшать трудозатраты, а не увеличивать.
Тот же самый QT приснопомянутый. Я на него посмотрел только тогда, когда мне было обещано, что я буду избавлен от шапито в виде настройки отдельно редактора + отдельно мейка и т.п. Я не люблю шапито!! Я хочу просто работать и получать за это вознаграждение.
no subject
Date: 2009-07-11 09:53 am (UTC)Самому периодически императивщина становится неудобной. В частности - в приложении к GUI. Обработчики событий, меняющие некие данные, что, по хорошему, должно дергать другие обработчики, менять еще данные и так далее - в общем, приходится или усложнять код, или каждый раз делать большой пересчет, теряя в производительности и скорости реакции на действия юзера. А если описать то же самое на чем-то типа языка make-файлов, то все оказывается просто и элегантно...
Кстати, насчет "ждать": я бы скорей поставил не на развитие всяких ML с Хаскелями, а на появление в .net декларативных средств. Кажется, тут движение пошустрее.
no subject
Date: 2009-07-11 10:02 am (UTC)Или речь о чём-то ином?
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2009-07-11 07:04 pm (UTC)no subject
Date: 2009-07-13 07:04 pm (UTC)А про то, что ФП не подходят под современные методики разработки, можно поподробнее?
Из недостатков функциональных языков: нужно ломать мозг, испорченный императивными языками.