Voral писал(а): ↑22.11.2009 12:49
А кто в вашем понимании не примитивный? Тот который сам пишет скрипты?
Не примитивный тот, кто может решить и решает задачи, которые до него не были решены программистом, который реализовал эту самую единственную кнопку, которую нужно нажать.
Voral писал(а): ↑22.11.2009 12:24
Дело в том, что сам по себе ГУй ни как не является признаком "не юникс вейности"
Мы это уже обсуждали выше. Да, GUI не является признаком, это вообще побочное свойство. Однако, «сам по себе GUI» — не юниксвей. Это не хорошо и не плохо, просто GUI — не юниксвей.
Voral писал(а): ↑22.11.2009 12:49
Назовите какой принцип юникс вейности нарушает пользователь использующий ГУИ морду для команды..... мммм... а давайте возьмем ls. ась?
Этот принцип гласит: «если тебе лень читать, что пишет программа, заставь читать другую программу». Я не говорю, что надо делать это каждый раз, но с ls это возможно, а с thunar, nautilus, konqueror — нет.
- Дуг МакИлрой, изобретатель каналов UNIX: Пишите программы, которые бы работали вместе.
- Майк Ганцарз: Маленькое прекрасно.
- Майк Ганцарз: Избегайте связывающего программу (captive) пользовательского интерфейса.
- Майк Ганцарз: Объединенные части целого есть нечто большее, чем просто их сумма.
- Эрик С. Рэймонд: Правило модульности: Пишите простые части, соединяемые понятными интерфейсами.
- Эрик С. Рэймонд: Правило композиции: Разрабатывайте программы так, чтобы их можно было соединить с другими программами.
- Эрик С. Рэймонд: Правило разделения: Отделяйте правила (policy) от механизма (mechanism); отделяйте интерфейс от движка (engine).
Философия UNIX
Все эти правила нарушаются.
Voral писал(а): ↑22.11.2009 12:38
1. ГУИ Это все го лишь средство "общения" пользователя с приложением. Равно как и консоль (в плане ввода и отображения информации). Имхо. ГУй ни для чего больше не может быть предназначен. Или вы не согласны?
Всё правильно. А stdin, stdout и stderr консольных программ может быть предназначен не только для ввода и отображения информации пользователю, но и для ввода и вывода информации другим программам.
Voral писал(а): ↑22.11.2009 12:38
2. Программа должна выполнять только одну задачу и делать ее хорошо. Если задачей программы является лишь передача информации пользователь - некая утилита (date, exif2, да хоть ls - вообще любая команда). Вот пожалуста ГУИ программа в духе юникс вейности.
«Выполнение одной задачи, но хорошо» придумано для того и потому, что такие программы пользователь может объединить и выполнить свою задачу. Например, date не обязательно используется для вывода пользователю, а например, для именования файлов и каталогов в соответствии с текущей датой. GUI для date — штука нужная, у меня, например, в углу экрана часики висят, но ни на что больше не годная, поэтому «далать хорошо» к этой программе неприменимо.