> > Что касается сервера, то FreeBSD forewer! ГУИ и сервер > - несовместимы.
> Гуй не хуже, и всё там совместимо, просто он другой -)) > А плохо то, что текстовый интерфейс берётся за основу, т.е. > напишут, к примеру, клёвую утилиту типа wget, и командная > страка там в него намертво "вживлена". А для того, чтобы > заюзать его функции, скажем из своей программы, надо > вникать в его весьма sophisticated набор ключей...
Ориентация программы на текстовые потоки - это не плохо :)
Это в первую очередь удобный и прозрачный способ для взаимодействия программ между собой (можно вызывать их из своих программ, связывать их в конвейер, передавая вывод одной команды на вход другой, и т.д.), и лишь во вторую очередь - это пользовательский интерфейс (возможно, не самый удобный). Традиционно в *nix выше ценится первое, чем второе. Так уж сложилось :)
Зато поверх CLI легко можно реализовать любой интерфейс - для того же wget есть GUI frontend-ы.
В виндах еще смешнее - напишут, к примеру, клёвую утилиту типа FlashGet, и GUI там в него намертво "вживлен". И заюзать его из своей программы либо вообще нереально, либо (если разработчики позаботились и предоставили COM-интерфейс, что не всегда бывает), приходиться вникать в COM, который уж гораздо более sophisticated, чем набор опций командной строки :)
> Нужна другая парадигма, типа model-view-presenter, что ли, > и всё это достаточно независимое друг от друга и > проксируемое. Т.е. чтобы тот же wget можно было запустить > хоть CLI, хоть GUI, а хошь на другом компе.
> Программист пишет "ядро" программы, ну и может быть "хинты" > для некоторых типов интерфейса, но использовать именно эти > интерфейсы необязательно.
Так в *nix так оно и есть - сначала пишут "ядро" программы, а потом спохватываются, и прикручивают какой-нибудь пользовательский интерфейс (да и то не всегда).
Зато в виндах пишут сначала GUI, и лишь потом (да и то не всегда) придумывают какой-нибудь интерфейс для того, чтобы эту программу можно было заюзать из других программ.
> Да-да, представьте себе тот же Photoshop, но только > запустить его можно на серваке с ксеонами, для batch > конверсии терабайта фоток, а CLI юзать для индикации > прогресса -))
Красота! Если надо обработать в batch-режиме терабайт фоток в Фотошопе - то лучше ничего и не придумаешь :)
|