metaclass: (Default)
[personal profile] metaclass
haskell datagrid

ocaml datagrid

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

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

Date: 2009-07-10 04:01 pm (UTC)
From: [identity profile] dizel-by.livejournal.com
А что, разве нельзя открыть окно с контейнером какого-нибудь Gecko или webkit, нарисовать в нём HTML-форму и работать с ней как с DOM?

Date: 2009-07-10 04:14 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Ебаный кошмар. Как же вы заебали своим вебом, простите меня.
Можно, конечно. Еще можно переписать вручную все нужные компоненты на низкоуровневых примитивах, или написать биндинги к QT, или делать back-end логику на ФП, а морду на обычных языках.
Просто тогда акценты смещаются с "написания софта для клиентов как можно быстрее" на "героические разборки с проблемами созданными самим себе". Т.е. сначала мы учимся подключать веб-движок в софт, затем изучаем как сделать настолько же rich-gui на вебе, потом воюем с его ограничениями, итд. Или там "изучаем как срастить хаскель, клиентскую либу СУБД, гуй на дельфи или там .NEТ и генератор отчетов на вши красной, желтой, гусеницах, etc"

Суть такая: я могу на дельфи или там на .NEТ +SQL +генератор отчетов быстро клепать db-centric софт. Очень быстро. Но некоторые вещи на них делать просто задалбывает, и в случае сложных расчетов это все становится малочитабельно и неподдерживаемо. ФП языки с их выводом типов, функциями высшего порядка, каррингом и метапрограммированием могли бы это дело сильно упростить. Но: у них нет UI. Тупо нет. То, что адепты говорят "есть" - это хрень. Это из разряда как у ребе белнетмон писали что датчики груза для белаза "есть". Это "есть" еще два-три месяца изучать, прикручивать и напильником подгонять придется. А за это время я все свои задачи три раза обычными индусскими методами решу.

(no subject)

From: [identity profile] dizel-by.livejournal.com - Date: 2009-07-10 04:18 pm (UTC) - Expand

(no subject)

From: [identity profile] metaclass.livejournal.com - Date: 2009-07-10 04:20 pm (UTC) - Expand

(no subject)

From: [identity profile] dizel-by.livejournal.com - Date: 2009-07-10 04:27 pm (UTC) - Expand

(no subject)

From: [identity profile] metaclass.livejournal.com - Date: 2009-07-10 04:33 pm (UTC) - Expand

(no subject)

From: [identity profile] blacklion.livejournal.com - Date: 2009-07-10 04:21 pm (UTC) - Expand

(no subject)

From: [identity profile] metaclass.livejournal.com - Date: 2009-07-10 04:25 pm (UTC) - Expand

(no subject)

From: [identity profile] thedeemon.livejournal.com - Date: 2009-07-27 09:16 am (UTC) - Expand

(no subject)

From: (Anonymous) - Date: 2009-08-12 01:03 am (UTC) - Expand

Date: 2009-07-10 04:11 pm (UTC)
From: [identity profile] dmzlj.livejournal.com
ну есть же wx. там есть гриды. к базе забиндить придется вручную. и вообще можно склепать веб-морду на каком-нибудь рич-гуи-фреймворке.

не?

Date: 2009-07-10 04:18 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Ну, на будущее я напряг девелопера делать рич-гуи-фреймворк на вебе, он все равно нужен.
Но для некоторых вещей нативный не-веб GUI - безальтернативен, имхо. Т.е., да, можно там навернуть аякса всякого, можно сделать почти так же быстро реагирующим на юзеровские действия, но это ровно до тех пор, пока не окажется, что к программе нужно прикрутить электронные весы на RS232 порту, или там блютуз-адаптер, или rfid-читалку. И даже без этого - если мы имеем классический GUI и на нем задача решается за один день рисованием в дизайнере, а вместо этого предлагается извращаться с вебом, добиваясь такой же эффективности - неясно зачем это тогда нужно:)

(no subject)

From: [identity profile] dmzlj.livejournal.com - Date: 2009-07-10 04:25 pm (UTC) - Expand

(no subject)

From: [identity profile] metaclass.livejournal.com - Date: 2009-07-10 04:30 pm (UTC) - Expand

(no subject)

From: [identity profile] dmzlj.livejournal.com - Date: 2009-07-10 04:36 pm (UTC) - Expand

Date: 2009-07-10 04:29 pm (UTC)
From: [identity profile] dizel-by.livejournal.com
wx не имеет права на жизнь

(no subject)

From: [identity profile] dmzlj.livejournal.com - Date: 2009-07-10 04:31 pm (UTC) - Expand

(no subject)

From: [identity profile] blacklion.livejournal.com - Date: 2009-07-10 06:47 pm (UTC) - Expand

(no subject)

From: [identity profile] dmzlj.livejournal.com - Date: 2009-07-10 06:55 pm (UTC) - Expand

Date: 2009-07-10 10:22 pm (UTC)
From: [identity profile] x-a-e-p.livejournal.com
вот только не надо про wx. это тотальный неиллюзорный пиздец по всем статьям

(no subject)

From: [identity profile] x-a-e-p.livejournal.com - Date: 2009-07-10 10:26 pm (UTC) - Expand

(no subject)

From: [identity profile] dmzlj.livejournal.com - Date: 2009-07-11 03:24 am (UTC) - Expand

Date: 2009-07-10 04:13 pm (UTC)
From: [identity profile] dmzlj.livejournal.com
ну и потом. что бы в этих ваших окамлях и хаскеллах хоть что-то начало появляться, надо нагонять вокруг них движуху. иначе так и не появится никогда, уж точно.

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

Date: 2009-07-10 04:18 pm (UTC)
From: [identity profile] alexott.livejournal.com
ну прямого датагрида нету, но мне кажется не так уж тяжело и соорудить...

(no subject)

From: [identity profile] metaclass.livejournal.com - Date: 2009-07-10 04:23 pm (UTC) - Expand

(no subject)

From: [identity profile] zamotivator.livejournal.com - Date: 2009-07-10 08:33 pm (UTC) - Expand

(no subject)

From: [identity profile] metaclass.livejournal.com - Date: 2009-07-10 08:44 pm (UTC) - Expand

(no subject)

From: [identity profile] zamotivator.livejournal.com - Date: 2009-07-10 08:49 pm (UTC) - Expand

(no subject)

From: [identity profile] ledernierheros.livejournal.com - Date: 2009-07-15 01:06 pm (UTC) - Expand

(no subject)

From: [identity profile] zamotivator.livejournal.com - Date: 2009-07-15 01:13 pm (UTC) - Expand

Date: 2009-07-10 04:26 pm (UTC)
From: [identity profile] dmzlj.livejournal.com
там все еще осложняется тем, что винды людям до сих пор нужны.

(no subject)

From: [identity profile] dizel-by.livejournal.com - Date: 2009-07-10 04:29 pm (UTC) - Expand

(no subject)

From: [identity profile] dmzlj.livejournal.com - Date: 2009-07-10 04:32 pm (UTC) - Expand

Date: 2009-07-10 04:29 pm (UTC)
From: [identity profile] fantaseour.livejournal.com
Как же я Вас понимаю.... ууууу....

Date: 2009-07-10 06:32 pm (UTC)
From: [identity profile] permea-kra.livejournal.com
Ребе, а как вы относитесь к идее разнести логику и гуй по двум разным языкам?

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

(no subject)

From: [identity profile] permea-kra.livejournal.com - Date: 2009-07-10 06:59 pm (UTC) - Expand

(no subject)

From: [identity profile] zamotivator.livejournal.com - Date: 2009-07-10 08:34 pm (UTC) - Expand

(no subject)

From: [identity profile] metaclass.livejournal.com - Date: 2009-07-10 08:46 pm (UTC) - Expand

(no subject)

From: [identity profile] zamotivator.livejournal.com - Date: 2009-07-15 01:15 pm (UTC) - Expand

(no subject)

From: [identity profile] metaclass.livejournal.com - Date: 2009-07-15 01:29 pm (UTC) - Expand

(no subject)

From: [identity profile] zamotivator.livejournal.com - Date: 2009-07-10 08:35 pm (UTC) - Expand

(no subject)

From: [identity profile] lupus-lupusum.livejournal.com - Date: 2009-07-12 05:54 am (UTC) - Expand

(no subject)

From: [identity profile] metaclass.livejournal.com - Date: 2009-07-12 06:02 am (UTC) - Expand

(no subject)

From: [identity profile] lupus-lupusum.livejournal.com - Date: 2009-07-12 06:11 am (UTC) - Expand

(no subject)

From: [identity profile] metaclass.livejournal.com - Date: 2009-07-12 06:17 am (UTC) - Expand

(no subject)

From: [identity profile] olegy.livejournal.com - Date: 2009-07-12 08:51 am (UTC) - Expand

Date: 2009-07-10 06:43 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Как к вынужденной мере, которую придется использовать, скорее всего.
На данный момент, что GUI, что FFI в ФП выглядят одинаково ужасно, так что неясно, что лучше делать - разбираться с родными биндингами к GUI тулкитам, или же разбираться с FFI и прикручивать хаскелевые модули в виде DLL к проге на чем-нибудь более приземленном.
В общем-то FFI сильно обессмысливает использование хаскеля - что толку от сжатого представления алгоритма на хаскеле, если для этого нужна обвязка для доступа к БД и передачи данных в GUI, которая по размеру больше самого алгоритма, сделанного в лоб обычным образом. Причем, если по хорошему, доступ к БД должен быть интегрирован с выводом типов, а то описаний таблиц в виде Map
[Error: Irreparable invalid markup ('<fieldname,value>') in entry. Owner must fix manually. Raw contents below.]

Как к вынужденной мере, которую придется использовать, скорее всего.
На данный момент, что GUI, что FFI в ФП выглядят одинаково ужасно, так что неясно, что лучше делать - разбираться с родными биндингами к GUI тулкитам, или же разбираться с FFI и прикручивать хаскелевые модули в виде DLL к проге на чем-нибудь более приземленном.
В общем-то FFI сильно обессмысливает использование хаскеля - что толку от сжатого представления алгоритма на хаскеле, если для этого нужна обвязка для доступа к БД и передачи данных в GUI, которая по размеру больше самого алгоритма, сделанного в лоб обычным образом. Причем, если по хорошему, доступ к БД должен быть интегрирован с выводом типов, а то описаний таблиц в виде Map<FieldName,Value> и FieldByName['SHOPETO_ID'].AsDatetime мне и в других языках хватает :)

(no subject)

From: [identity profile] permea-kra.livejournal.com - Date: 2009-07-10 06:56 pm (UTC) - Expand

(no subject)

From: [identity profile] metaclass.livejournal.com - Date: 2009-07-10 07:00 pm (UTC) - Expand

(no subject)

From: [identity profile] zamotivator.livejournal.com - Date: 2009-07-10 08:52 pm (UTC) - Expand

Date: 2009-07-11 02:24 am (UTC)
From: [identity profile] dmzlj.livejournal.com
Ну ладно, черт с ним с wx-ом. Но вот есть Qt и qtHaskell. Это тоже не GUI ? О Qt отзываются хорошо. Если Qt это тоже "не GUI" - то думаю, можно зафиксировать мнение, что GUI для ФП нет.

Хотя лично я не очень даже верю в тот негатив, который тут пишут про wx - думаю, это некое преувеличение ужасов.

Date: 2009-07-11 05:56 am (UTC)
From: [identity profile] metaclass.livejournal.com
Qt это на данный момент наиболее адекватное из всего что есть. Но там вроде бы качество тоже далеко от продакшена.

Date: 2009-07-11 10:10 am (UTC)
From: [identity profile] vp.livejournal.com
Что я не сильно понимаю. QT - это набор C++ расширений и библиотек. Как производится интеграция с хаскелем?

(no subject)

From: [identity profile] dmzlj.livejournal.com - Date: 2009-07-11 10:23 am (UTC) - Expand

(no subject)

From: [identity profile] metaclass.livejournal.com - Date: 2009-07-11 10:50 am (UTC) - Expand

Date: 2009-07-11 03:42 am (UTC)
From: [identity profile] dmzlj.livejournal.com
Итого, для хаскелла есть wx, qt, gtk и fltk. То есть забиндено все, что вообще бывает опенсорсного. Если упомянутые средства не катят, то что тогда вообще понимается под GUI? Что должно быть, что бы можно было сказать, что GUI есть?

Date: 2009-07-11 06:55 am (UTC)
From: [identity profile] metaclass.livejournal.com
Биндинги это хорошо.
Вот я сейчас потратил час только на то чтобы поставить wxHaskell и заставить собираться примеры идущие с ним. Это с учетом того, что я это уже один раз делал и примерно помню, что и где надо подкрутить, чтобы оно поставилось, и как проверить что оно ставится, и как билдить проги ghc с дополнительными пакетами.
И после всего этого примеры, в частности, Grid.hs падает с AV при попытке навести на него мышь.
Пример с дбгридом таки запустился. Доступ к БД: только odbc. Только чтение, редактирования нет. Элемент UI, выдаваемый за dbgrid - listview.
Если я попытаюсь такое использовать для работы - это откат на 10 лет назад по качеству. Для заявлений "GUI есть" и показа скриншотов - подходит. Для работы - нет.
Остальные биндинги, подозреваю, не лучше. Просто никому не нужно их развивать для того, чтобы их можно было использовать в нормальной работе, а не для коротких proof-of-concept прог.
(deleted comment)

Date: 2009-07-11 10:06 am (UTC)
From: [identity profile] vp.livejournal.com
Я закончу мысль. Потому, что мало кто из народа завязан на ИТ индустрию "от и до". То есть человеку может быть интересно программировать на хаскеле, но он далек от продакшына, и вообще далек от сейла, а вопросы интеграции и поставки системы в целом ему даже в моск не заходили. Вот от этого вся и проблема.
Мучаются те, кто видит реальные задачи целиком и относится к этому не как к фатишу, а как к ИНСТРУМЕНТУ, который должен уменьшать трудозатраты, а не увеличивать.
Тот же самый QT приснопомянутый. Я на него посмотрел только тогда, когда мне было обещано, что я буду избавлен от шапито в виде настройки отдельно редактора + отдельно мейка и т.п. Я не люблю шапито!! Я хочу просто работать и получать за это вознаграждение.

Date: 2009-07-11 09:53 am (UTC)
From: [identity profile] aamonster.livejournal.com
Почитал комменты... Лучшим решением видится тупо ждать.

Самому периодически императивщина становится неудобной. В частности - в приложении к GUI. Обработчики событий, меняющие некие данные, что, по хорошему, должно дергать другие обработчики, менять еще данные и так далее - в общем, приходится или усложнять код, или каждый раз делать большой пересчет, теряя в производительности и скорости реакции на действия юзера. А если описать то же самое на чем-то типа языка make-файлов, то все оказывается просто и элегантно...

Кстати, насчет "ждать": я бы скорей поставил не на развитие всяких ML с Хаскелями, а на появление в .net декларативных средств. Кажется, тут движение пошустрее.

Date: 2009-07-11 10:02 am (UTC)
From: [identity profile] kurilka.livejournal.com
F# же потомок ML?
Или речь о чём-то ином?

(no subject)

From: [identity profile] aamonster.livejournal.com - Date: 2009-07-11 10:21 am (UTC) - Expand
(deleted comment)

(no subject)

From: [identity profile] metaclass.livejournal.com - Date: 2009-07-11 12:12 pm (UTC) - Expand

(no subject)

From: [identity profile] metaclass.livejournal.com - Date: 2009-07-11 12:26 pm (UTC) - Expand

(no subject)

From: [identity profile] kkirsanov.livejournal.com - Date: 2009-07-11 03:50 pm (UTC) - Expand

(no subject)

From: [identity profile] kurilka.livejournal.com - Date: 2009-07-11 05:16 pm (UTC) - Expand

(no subject)

From: [identity profile] kkirsanov.livejournal.com - Date: 2009-07-11 07:14 pm (UTC) - Expand

(no subject)

From: [identity profile] kurilka.livejournal.com - Date: 2009-07-11 07:34 pm (UTC) - Expand

(no subject)

From: [identity profile] kkirsanov.livejournal.com - Date: 2009-07-11 09:10 pm (UTC) - Expand

(no subject)

From: [identity profile] kurilka.livejournal.com - Date: 2009-07-11 09:32 pm (UTC) - Expand

(no subject)

From: [identity profile] metaclass.livejournal.com - Date: 2009-07-11 10:41 pm (UTC) - Expand

(no subject)

From: [identity profile] kurilka.livejournal.com - Date: 2009-07-12 06:27 am (UTC) - Expand

(no subject)

From: [identity profile] metaclass.livejournal.com - Date: 2009-07-12 06:34 am (UTC) - Expand

(no subject)

From: [identity profile] kurilka.livejournal.com - Date: 2009-07-12 06:47 am (UTC) - Expand

(no subject)

From: [identity profile] metaclass.livejournal.com - Date: 2009-07-12 06:54 am (UTC) - Expand

(no subject)

From: [identity profile] kurilka.livejournal.com - Date: 2009-07-12 07:01 am (UTC) - Expand

(no subject)

From: [identity profile] gds.livejournal.com - Date: 2009-07-11 06:41 pm (UTC) - Expand

(no subject)

From: [identity profile] metaclass.livejournal.com - Date: 2009-07-11 10:38 pm (UTC) - Expand

(no subject)

From: [identity profile] dmzlj.livejournal.com - Date: 2009-07-12 02:47 am (UTC) - Expand

(no subject)

From: [identity profile] kurilka.livejournal.com - Date: 2009-07-12 06:49 am (UTC) - Expand

(no subject)

From: [identity profile] metaclass.livejournal.com - Date: 2009-07-12 06:55 am (UTC) - Expand

(no subject)

From: [identity profile] kurilka.livejournal.com - Date: 2009-07-12 06:58 am (UTC) - Expand

(no subject)

From: [identity profile] dmzlj.livejournal.com - Date: 2009-07-12 02:38 am (UTC) - Expand

(no subject)

From: [identity profile] kkirsanov.livejournal.com - Date: 2009-07-12 10:49 am (UTC) - Expand

(no subject)

From: [identity profile] kkirsanov.livejournal.com - Date: 2009-07-12 10:57 am (UTC) - Expand

(no subject)

From: [identity profile] dmzlj.livejournal.com - Date: 2009-07-12 11:05 am (UTC) - Expand

(no subject)

From: [personal profile] nine_k - Date: 2009-07-27 12:43 pm (UTC) - Expand

Date: 2009-07-11 07:04 pm (UTC)
From: [identity profile] gds.livejournal.com
кстати, я заметил одно очень важное наблюдение. Как оказывается не только казалось, но языки функционального функционального программирования разрабатываются под линуксами и прочим юниксом. И не человеком, но профессорами! Надеюсь, отсюда из этого их качевство вполне очевидно и не может потакать современными методиками разработки программируемого обеспечевния.

Date: 2009-07-13 07:04 pm (UTC)
From: [identity profile] https://services.mozilla.com/openid/belpartizan (from livejournal.com)
Да, большая часть ФП действительно писальась в университетах. Однако тот же Erlang писался Ericsson. А такого качества, как у него фиг добьёшься на императивных языках: простой системы не более 3 часов за 50 лет.

А про то, что ФП не подходят под современные методики разработки, можно поподробнее?

Из недостатков функциональных языков: нужно ломать мозг, испорченный императивными языками.

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 7th, 2025 10:25 am
Powered by Dreamwidth Studios