Unix-way vs Интерактивный режим vs Api

Dasar

А зачем, вообще, нужен unix-way?
у программ есть два взаимодействия:
1. программа <-> программа
2. программа <-> человек
Взаимодействие "программа <-> человек" почти всегда интерактивное. Я даже так сразу и не вспомню неинтерактивные задачи.
unix way и интерактивный режим - в целом несовместимы. Это стоит расписать подробнее?
Для взаимодействия "программа <-> программа" unix-way тоже не самый удобный вариант, т.к. взаимодействие через API получается намного качественнее (быстрее, менее ошибочное и т.д.)
т.е. в итоге получается, что unix-way удобен только программистам, которые думают только о себе, т.к. их вместо того, чтобы написать два интерфейса: человеческий (интерактивный) и программный (API) - хватает только на один unix-way-ный.
Я правильно понимаю ситуацию?
Что unix-way полезен только самим разработчикам программ, т.е. тем, кто не думает о том, как будут пользоваться их программами.

garikus

Взаимодействие "программа <-> человек" почти всегда интерактивное. Я даже так сразу и не вспомню неинтерактивные задачи.
unix way и интерактивный режим - в целом несовместимы. Это стоит расписать подробнее?
Что подразумевается под понятием "интерактивный" ? 1) Дружественный интерфейс или 2) графический интерфейс?
1) Фраза "я даже так сразу и не вспомню неинтерактивные задачи" не говорит о том, что неинтерактивных задач нет. Необходимость интерактивности в программах в этом случае - спорный вопрос.
"unix-way" - недружественный пользовательский интерфейс. Спорный вопрос, нужен ли дружественный.
2) Я считаю, что графический интерфейс нужен как более удобный способ восприятия человеком информации. В обычном понимании "unix-way" как взаимодействие простых программ (sh, sed, awk ...) - его нет.

vall

API у людей разный бывает
кто-то от vi кончает а кому подавай winword

garikus

Я правильно понимаю ситуацию?
Что unix-way полезен только самим разработчикам программ, т.е. тем, кто не думает о том, как будут пользоваться их программами.
Не только. Они же пишут Manual pages и документацию.
"unix-way" полезен тем людям, которые считают, что им не нужен дружественный интерфейс и которые предпочитают использовать те инструменты для работы, которые им даёт, например, unix-way.

Dasar

> Что подразумевается под понятием "интерактивный" ?
в первую очередь,
диалоговый режим,
режим: вопрос - ответ,
режим: что-то поменяли, получили ответ, опять поменяли, опять получили ответ.
> "unix-way" - недружественный пользовательский интерфейс. Спорный вопрос, нужен ли дружественный
в данном случае, слово "дружественный" обычно понимается под словом "удобный".
Получается: unix-way - неудобный пользовательский интерфейс. Спорный вопрос, нужен ли удобный?
т.е. лучше пользоватся неудобный вещами, чем удобными?
> В обычном понимании "unix-way" как взаимодействие простых программ (sh, sed, awk ...) - его нет.
для взаимодействия программ API всегда лучше, чем unix-way.
зачем тогда нужен unix-way?

garikus

API у людей разный бывает
кто-то от vi кончает а кому подавай winword
Да. Люди разные бывают. Кому-то нравится одно, кому-то - другое

garikus

"дружественный" обычно понимается под словом "удобный"
А в общем случае, это не так.
Получается: unix-way - неудобный пользовательский интерфейс. Спорный вопрос, нужен ли удобный?
т.е. лучше пользоватся неудобный вещами, чем удобными?
Получается, что unix-way - недружественный интерфейс ( not user-friendly а а не неудобный.
Спорный вопрос кто какие инструменты для работы считает для себя удобными.
> > В обычном понимании "unix-way" как взаимодействие простых программ (sh, sed, awk ...) - его нет.
"Его", т.е. графического интерфейса.

Marinavo_0507

Definitions of Interactive on the Web:
Computer programs that accept input from the user while running. Interaction between computer and user may take place through typed commands, voice commands, mouse clicks or other means of interfacing.
www.c-b.com/industryinfo/glossaries/telecom.asp
Первый хит в гугле.
Интерактивность появилась в первых системах с разделением времени.
Ваши попытки присвоить её себе не пройдут.

eee1

я не очень понял сабж. Есть и unix-way API в Юниксе. По поводу "удобство" - уже кому как, лично мне лучше без мышки и всяких окон.

Dasar

> Первый хит в гугле.
Чем это определение отличается от того, что я привел?

Marinavo_0507

"Диалоговый режим" можно понять превратно.
UNIX был интерактивной средой с момента появления, поэтому тебе следует пересмотреть что-то из своих тезисов.

Dasar

> "unix-way" - недружественный пользовательский интерфейс. Спорный вопрос, нужен ли дружественный
например, icq-ю - типичный пример интерактивной программы.
т.е. хочешь сказать, что удобнее пользоваться unix-way-ной icq-системой?
каждые 30 секунд писать: есть ли для меня входящие сообщения?

Dasar

> В обычном понимании "unix-way" как взаимодействие простых программ (sh, sed, awk ...) - его нет.
как быть, в случае, частичной автоматизации?
например, я знаю, что на часть ответов надо отвечать - да, на часть - нет, а еще на часть - я могу только ответить, если я сам посмотрю контекст
как такое решить через unix-way?
особенно самое сложное - удобный просмотр контекста (историю запросов, какие проблемы возникли, как эти проблемы решались в прошлом и т.д.)

evgen5555

кто-то от vi кончает а кому подавай winword
По крайней мере, при редактировании одного и того же большого C++-проекта консольные побрякушки типа vi - редактора-переростка - просто отсасывают у обычных GUIшных виндозных редакторов наподобие Aditor'а, так как кнопок надо меньше на порядок нажимать, даже при разумном маппинге.

garikus

> "unix-way" - недружественный пользовательский интерфейс. Спорный вопрос, нужен ли дружественный
например, icq-ю - типичный пример интерактивной программы.
т.е. хочешь сказать, что удобнее пользоваться unix-way-ной icq-системой?
каждые 30 секунд писать: есть ли для меня входящие сообщения?
icq подразумевает интерактивность изначально ("Instant Messanging"). Я считаю, что для таких задач unix-way вообще не применим.
особенно самое сложное - удобный просмотр контекста (историю запросов, какие проблемы возникли, как эти проблемы решались в прошлом и т.д.)
Такие инструменты, как grep, sed, awk и т.д. предоставляют эти средства.

mirt1971

Эта. А ты хоть знаешь что такое unix-way? Вообще говоря unix-way - "программа делает одно дело, но делает его хорошо". Так к примеру icq - вполне unix-way. Это так, для справки.

garikus

А ты хоть знаешь что такое unix-way?
Я не нашёл строгого определения.
Вообще говоря unix-way - "программа делает одно дело, но делает его хорошо"
Вообще говоря, нет.
http://c2.com/cgi-bin/wiki?UnixWay
Кстати, сам я не считаю, что нужно во всём следовать unix-way. Для меня такой дизайн менее важен.

mirt1971

Вообще говоря,
Я не нашёл строгого определения.
. Их много(определений вообще говоря. Я привел одно из них, вообще говоря. И вообще говоря, твое ничуть не лучше чем мое, вообще говоря.

Dasar

> А ты хоть знаешь что такое unix-way?
более-менее представляю
> Вообще говоря unix-way - "программа делает одно дело, но делает его хорошо".
из этого определения - есть важное следствие, получается:
что отдельная функциональность - должна быть выполнена в виде отдельной программы.
например, та же icq-а это набор следующего функционала:
1. хранение данных
2. передача данных по сети
3. UI
и т.д.
unix-way в целом говорит: что "хранением данных" должна заниматься одна отдельная программа, "передачей данных" - другая, а UI - третья, созданием отчетов - четвертая, переводом текстовых смайлов в графические картинки - пятая и т.д.
причем в каждом из этих случаев речь идет о том, что это должна быть именно отдельная программа.

Marinavo_0507

В гипотетическом unix-way icq-клиенте я бы ожидал увидеть:
* настройка действия, выполняемого при получении сообщения (и прочих событиях) // интересно, какое воспалённое воображение могло представить себе необходимость периодически руками запускать какую-то команду
* доступ к базе сообщений из других программ (через файлы или IPC с программами-обёртками)
* возможность автоматизации рассылки сообщений и работы с контактами
* наличие нескольких пользовательских интерфейсов сразу (как минимум GUI и command-line) с возможностью дописать новый

mirt1971

Ответ на все вопросы - licq Кроме надеюсь третьего, за такое руки отрывать надо

garikus

Сорри, не удержался

mirt1971

Бред. В твоем понимании вообще не существует unix-way программ. Поясню:
1) Это вообще бред, в пояснении не нуждается
2) cp - не unix-way
3) UI - это еще почему? Как связано одно дело и UI? Вот в maya UI тоже должен быть отдельным функционалом?
Разделять надо только тогда когда это представляется возможным.

Marinavo_0507

Я тоже подумал про licq. Но сам не видел его, так что писать не стал.
Ещё jabber-сервер вместе с JIT и с клиентами вроде бы похож на то, что надо.

Dasar

> В гипотетическом unix-way icq-клиенте я бы ожидал увидеть:
Правильно ли я понимаю, что unix-way говорит, что все взаимодействие между программами должно проходить через консоль?
Если не через консоль, то каким способом осуществляется взаимодействие?

Marinavo_0507

> Правильно ли я понимаю, что unix-way говорит, что все взаимодействие между программами должно проходить через консоль?
Наверное нет, так как консоль - это типа экран с клавиатурой.

mirt1971

Unix-way вроде ничего такого не говорит Не все программы должны взаимодействовать. Для некоторых прог это ВООБЩЕ не нужно. А для тех которых нужно - про консоль ничего не сказано. Где ты это нашел?

Dasar

> 1) Это вообще бред, в пояснении не нуждается
почему бред? для этого вроде даже целых вид продуктов придумали под названием базы данных.
> 2) cp - не unix-way
не понял ответ
> 3) UI - это еще почему? Как связано одно дело и UI?
потому что большая часть UI - является одиннаковым во всех программах
в первую очередь, UI состоит из стандартных Viewer-ов и Editor-ов внутренних данных

Dasar

> Наверное нет, так как консоль - это типа экран с клавиатурой.
под консолью я понимаю потоки ввода/вывода.
ps
ты не ответил на главный вопрос:
если не потоки ввода-вывода, то каким образом должно осуществляться взаимодействие между программами в рамках unix-way?

mirt1971

1) Для этого придумали файловую систему. Чем все и пользуются.
2) cp не умеет взаимодействовать с сетью. Не unix-way
3) И? Так берется стандартный widget, в чем проблема? Никто не переизобретает колесо, если это тебе интересно

mirt1971

Как душеньке твоей угодно Пайпы, shm, sockets, rpc...

mmvtiko

Нет. Консоль и взаимодействие между программами вообще никак не связаны.
Открой любую книжку по Unix (программирование там везде говорят про каналы, сигналы, IPC, сокеты.

Marinavo_0507

> если не потоки ввода-вывода, то каким образом должно осуществляться взаимодействие между программами?
потоки ввода-вывода и через сокеты бывают
причём тут консоль - непонятно
для управления каким-либо демоном (к чему и icq-клиент можно отнести) самое нормальное (имхо) -
это AF_UNIX-сокет со стороны демона, протокол взаимодействия, и программа-клиент для использования из командной строки или в скриптах

Dasar

> Как душеньке твоей угодно Пайпы, shm, sockets, rpc...
Я написал icq, и моей душе было угодно предоставить доступ через API на MyКулХацкерскомЯзыке.
Что ты с этим будешь дальше делать?

Dasar

> это AF_UNIX-сокет со стороны демона, протокол взаимодействия,
протокол взаимодействия - как-нибудь унифицируется?
или каждый придумывает заново?

mirt1971

Я - ничего. Покручу пальцем у виска. Или напишу биндинги на нужном мне языке.

mirt1971

Конечно унифицируется. Например TCP/IP.

Dasar

> Открой любую книжку по Unix (программирование там везде говорят про каналы, сигналы, IPC, сокеты.
разницу между консолью, каналом, сырым сокетом и т.д. я не вижу

Dasar

> Конечно унифицируется. Например TCP/IP.
это канальный уровень.
а уровень данных как-то унифицируется?
например, в каком формате double-ы записываются, в каком виде передаются составные данные, коллекции?

Marinavo_0507

А как протоколы прикладного уровня унифицировать? Он по определению свой для каждого приложения.
Можно только синтаксис сделать общий, но не семантику.
Общий принцип, как я его понимаю, это не усложнять его сверх необходимого.

Dasar

как передаются многоязыковые данные, как передаются двоичные данные?

mirt1971

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

Dasar

> Можно только синтаксис сделать общий, но не семантику.
чисто синтаксис без семантики не бывает.
перед любым синтаксисом мы все равно сначала должны ввести некую семантику: т.е. сказать, например, что у нас бывают double, что бывают составные данные, что бывают массивы, что бывают двоичные данные, что бывают картинки
а уже после того, как мы ввели семантику- мы можем сказать, что данные с такой-то и такой-то семантикой мы записываем так-то и так-то.

Dasar

> в не юникс-вэй протоколы унифицирубтся или нет?
soap, например.
> Как это вообще говоря возможно?
Это возможно, т.к. почти все данные укладываются в несколько общих представлений
> И для чего?
для того, чтобы можно было писать программы, которые рещают сразу общие задачи, а не частные.
для того, чтобы можно было написать какие-то универсальные программы, куски программ.

Dasar

> И для чего?
Самое главное для того, чтобы можно было за пару копеек связать программы разных авторов.

mirt1971

1) Плохой пример. Это ЧАСТНАЯ унификация. Насколько я понял общей унификации нет?
2) Не об этом вопрос. Вопрос в возможности заставить все х слежовать этой гипотетической унификации
3) Опять же неправильно. Универсально это будет опять же для частного случая. soap например

Marinavo_0507

> перед любым синтаксисом мы все равно сначала должны ввести некую семантику: т.е. сказать, например, что у нас бывают double, что бывают составные
> данные, что бывают массивы, что бывают двоичные данные, что бывают картинки
вот-вот
и в зависимости от того, что бывает, и что с этим надо делать, и протокол будет соответствующий
в частности, и soap использовать никто не запретит, если он хорошо подходит

Dasar

> 1) Плохой пример. Это ЧАСТНАЯ унификация. Насколько я понял общей унификации нет?
что в данном случае, значит словосочетание "частная унификация"?
> 2) Не об этом вопрос. Вопрос в возможности заставить все х слежовать этой гипотетической унификации
для этого есть комитеты по стандартизации.
> 3) Опять же неправильно. Универсально это будет опять же для частного случая. soap например
что значит для частного случая?

Dasar

> и в зависимости от того, что бывает, и что с этим надо делать, и протокол будет соответствующий
замечу, что языки программирования умеют работать, напрямую, только:
с числами, строками, двоичными данными, составными данными (struct/record/class) и коллекциями (массив, список)
соответственно, если soap умеет хранить эти данные - значит результат любой программы - представим в soap-е.

mirt1971

Блин. Чего тут непонятно? Я хочу писать не использущее soap приложение. И где эта унификация окажется? Она не ОБЩАЯ. Только для soap Точно так же в юникс есть свои частные унификации. CORBA например.

mirt1971

А еще указатели. Их тоже можно?

Dasar

> в не юникс-вэй протоколы унифицирубтся или нет?
да, кроме soap, есть еще такая мощная вещь, как XSD.

Dasar

> CORBA например.
Corba - вроде- как раз soap использует.

Dasar

> А еще указатели. Их тоже можно?
любой указатель представим в виде пары: id + ссылка на id.

mirt1971

Не знаю. Не уверен в этом. Да это и не важно. Таких ЧАСТНЫХ унификаций - куча. Я ответил на твой первоначальный вопрос?

garikus

CORBA - это не unix-way.
Пока не будет сформулировано, что такое "unix-way", дальше разговаривать бесполезно.

Marinavo_0507

> значит результат любой программы - представим в soap-е
"представим" ещё не означает, что это представление эффективно и удобно для конкретной задачи

Dasar

> Блин. Чего тут непонятно? Я хочу писать не использущее soap приложение. И где эта унификация окажется
Там же где и ты, если будешь пытаться общаться с людьми на языке, который понятен только тебе.
или другими словами: отказавшись от поддержки стандартов ты повышаешь шансы того, что люди выберут программу конкурентов, а не твою.

tokuchu

Вот по поводу определений Unix-way. В taoup есть некоторые соображения по этому поводу: Basics of the Unix Philosophy

Dasar

> "представим" ещё не означает, что это представление эффективно и удобно для конкретной задачи
а кто говорит, что, например, русский язык - это эффективно и удобно? это просто стандартный язык общения.
также и xml, и soap - это стандартные языки общения

mmvtiko

А когда не в ГЗ - как это дело посмотреть можно?

katrin2201

смени расширение на html и юзай

Dasar

> 1) Для этого придумали файловую систему. Чем все и пользуются.
файловая система не умеет хранить связанные данные, в том смысле, что файловая система не умеет обеспечивать целостность сложных данных. Соответственно файловая система не является высокоуровневым хранилищем данных.
или другими словами: файловая система - это плохая система хранения данных.
только что выше постили, что в unix-way-е программы должны делать функционал хорошо.
я вижу противоречие.

Marinavo_0507

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

tokuchu

> Самое главное для того, чтобы можно было за пару копеек связать программы разных авторов.
Those who do not understand Unix are condemned to reinvent it, poorly.
-- Henry Spencer Usenet signature, November 1987

Marinavo_0507

> Самое главное для того, чтобы можно было за пару копеек связать программы разных авторов.
Вопрос без подъёбки - давно интересуюсь.
Я хочу, чтоб в моём любимом браузере (предположим, это IE) можно было для ввода текста
использовать мой любимый редактор (предположим, это vim). Что мне нужно для этого дописать?
vim для win32 даже поддерживает какое-то OLE, так на сайте написано.
в unix-way принято вызывать любимый редактор пользователя для ввода текста

tokuchu

А когда не в ГЗ - как это дело посмотреть можно?
google -> taoup

oleg_n

COM - это unix-way или нет?

Julie16

Все базы данных хранятся в виде файла на файловой системе. Значит по твоей логике это плохо.

tokuchu

COM - это unix-way или нет?
Скорее всего они ортогональны.

zontik

Это пока

Dasar

> Все базы данных хранятся в виде файла на файловой системе. Значит по твоей логике это плохо.
высокоуровневые языки тоже никому не нужны?
ведь все равно все программы в конечно итоге написаны на маш. языке.
я правильно понял твою логику?

Julie16

Я не понимаю как связаны эти понятия. Ты сказал что файловая система - плохое хранилище данных. Я ответил. Причем тут эта неаналогия?

zontik

Вот такой проект есть например WinFS.

Julie16

Его все обещают и обещают... А потом откладывают напотом

Dasar

> Ты сказал что файловая система - плохое хранилище данных
Да - файловая система - это плохое хранилище, если хранить в нем данные напрямую.
также как маш. язык - плохой язык, если писать на нем напрямую.

oleg_n

Скорее всего они ортогональны.
задам глупый вопрос
почему?
unix-way - это простота (или нет?)
идея com тоже проста

tokuchu

задам глупый вопрос
почему?
unix-way - это простота (или нет?)
идея com тоже проста
свитер мы одеваем
ботинки мы тоже одеваем
это одно и то же?

oleg_n

свитер мы одеваем
ботинки мы тоже одеваем
это одно и то же?
ебанутая аналогия

tokuchu

Unix way для того чтобы упростить жизнь.
COM для того чтобы упростить жизнь.
Из этого разве следует, что это одно и то же?
Я думаю, что все случаи из ({UNIX way, ! UNIX way} * {COM, ! COM}) возможны.

garikus

From "Basics of the Unix Philosophy" chapter:
Doug McIlroy, the inventor of Unix pipes and one of the founders of the Unix tradition, had this to say at the time [McIlroy78]:

    (i) Make each program do one thing well. To do a new job, build afresh rather than complicate old programs by adding new features.
    (ii) Expect the output of every program to become the input to another, as yet unknown, program. Don't clutter output with extraneous information. Avoid stringently columnar or binary input formats. Don't insist on interactive input.
    (iii) Design and build software, even operating systems, to be tried early, ideally within weeks. Don't hesitate to throw away the clumsy parts and rebuild them.
    (iv) Use tools in preference to unskilled help to lighten a programming task, even if you have to detour to build the tools and expect to throw some of them out after you've finished using them.

He later summarized it this way (quoted in A Quarter Century of Unix [Salus]):

    This is the Unix philosophy: Write programs that do one thing and do it well. Write programs to work together. Write programs to handle text streams, because that is a universal interface.

tokuchu

Там дальше же есть ещё их версия.

garikus

Где? Там дальше правила..

tokuchu

Ну вот набор этих правил и есть их версия Unix way. Типа обобщённая версия разных мыслей.

sergey_m

unix way и интерактивный режим - в целом несовместимы. Это стоит расписать подробнее?
Стоит. Я не согласен с утверждением.
т.к. взаимодействие через API получается намного качественнее (быстрее, менее ошибочное и т.д.)
В UNIX нет запрета на написание API. Когда встает такая необходимость, то его берут и пишут.
Однако, элементарные задачи легче решать без API. Наличие unix way позволяет пользователю легко и быстро решать задачи кромсания/сортировки/трансформирования текста/данных без знания API. Принуждать пользователя знать API - делать из пользователя программиста.
Что unix-way полезен только самим разработчикам программ, т.е. тем, кто не думает о том, как будут пользоваться их программами.
Нет. К примеру, мне часто приходится пользоваться программой ngctl, которая строит графы. Однако, графы строятся не мышкой, а построчными командами. Иногда, в ходе тестирований мне нужно строить несколько типовых графов по многу раз. Тогда я делаю просто cat graph1 | ngctl, вместо того, что бы елозить мышкой уже хорошо заученную траекторию, как мне пришлось бы делать в случае мышечного интерфейса.

sergey_m

режим: вопрос - ответ,
режим: что-то поменяли, получили ответ, опять поменяли, опять получили ответ.
Мне больше нравится набрать в vi s/xxx/yyy/ и прочитать "666 строк изменено", чем 666 раз кликнуть мышью на кнопке "замена".

sergey_m

т.е. хочешь сказать, что удобнее пользоваться unix-way-ной icq-системой?
Да, проще нажать "m[SPACE][первые символы ника][TAB][Enter]сообщение[Enter].[Enter]", чем найти ник в длиннющем скроллящемся списке, кликнуть в него и получить окошко в другом месте экрана, перенести руку на клаву, набрать сообщение и опять переносить руку на мышку, что бы его отправить. Замечу, что при нажатии [TAB] компьютер делает поиск в текстовом списке за тебя.
каждые 30 секунд писать: есть ли для меня входящие сообщения?
Они вылазят сами. Не надо хаять то, чего не видел.

sergey_m

как быть, в случае, частичной автоматизации?
например, я знаю, что на часть ответов надо отвечать - да, на часть - нет, а еще на часть - я могу только ответить, если я сам посмотрю контекст
Усложнить паттерны, так что бы awk/sed понимал, когда ответ будет "да", а когда "нет". Те места, где требуется твоё вмешательство пометить, что бы ты потом мог их обработать, после того, как автоматическая часть обработки пройдет, а не в процессе.

Marinavo_0507

> Кроме надеюсь третьего, за такое руки отрывать надо
Это ты зря кстати.
Примеры:
1. Обещал я кому-нибудь скачать некий файл и куда-то выложить.
Соответственно, когда это будет готово, нужно послать подтверждение в icq.
Вместо того, чтобы ждать завершения скачки, и потом отвлекаться на посылку сообщения,
я мог бы сразу указать, что после скачивания нужно послать:

wget $URL && mv $FILE /space/ && icq_send $FRIEND "Готово"

2. Почему бы не послать кому-то некую группу из списка контактов? Чтобы получатель смог импортировать это себе.
Ну или держать корпоративные контакты на спец. сервере, и раздавать сотрудникам их специально обученным скриптом.
Чтобы не ждать, пока AOL реализует это в своём клиенте, а сделать сразу, как потребуется.
Разве это не жизненные примеры? Автоматизация посылки сообщений и работы с контактами может быть полезной.

sergey_m

> Наверное нет, так как консоль - это типа экран с клавиатурой.
под консолью я понимаю потоки ввода/вывода.
Непонимание базовых принципов UNIX. Консоль (e.g. экран с клавиатурой) это больше, чем потоки ввода-вывода. Это терминал.

sergey_m

> например, в каком формате double-ы записываются, в каком виде передаются составные данные, коллекции?
r(3)
Дальнейшее поднятие уровня протокола не имеет смысла. Как было сказано, в итоге у каждого приложения свой протокол, универсального не придумаешь.

sergey_m

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

Dasar

> Мне больше нравится набрать в vi s/xxx/yyy/ и прочитать "666 строк изменено",
Давай чуть усложним задачку.
Допустим ты не уверен, что ты правильно указал замену (т.е. может замениться что-то лишнее
соответственно ты хочешь бегло просмотреть все предложенные замены (может даже как-то их посортировать, сгруппировать и т.д. и указать какие точно надо менять, какие нет, а какие надо подробно посмотреть.
для пользователя это может выглядеть следующим образом: выводится грид(список) со строками, которые комп хочет изменить, данный список поддерживает сортировки, групповые операции, какие-нибудь фильтрации и т.д.
похожим образом, например, сделаны групповые операции над фотографиями в ACDSee.
вот такой фунционал, уже через unix-way сложнее делается.
и это как раз и есть пример интерактивной систем - т.е. в данном сценарии, как раз идет активный обмен информацией, т.е. компьютер выводит что он может/хочет сделать, а мы ему групповым образом подтверждаем выполнение, или нет.
> чем 666 раз кликнуть мышью на кнопке "замена".
если программа такое говорит, то это плохая интерактивная программа.

sergey_m

"файловая система - это плохая система хранения данных." (c)
/me записывает в блокнотик

Dasar

> Усложнить паттерны, так что бы awk/sed понимал, когда ответ будет "да", а когда "нет".
Это сможет сделать пользователь? пусть даже advanced?

Dasar

> "файловая система - это плохая система хранения данных." (c)
> /me записывает в блокнотик
даже в рамках данного форума уже несколько раз говорилось, что, например, базы данных (например, Oracle/MS Sql и т.д.) не используют файловую систему как таковую.

sergey_m

Допустим ты не уверен, что ты правильно указал замену (т.е. может замениться что-то лишнее
соответственно ты хочешь бегло просмотреть все предложенные замены (может даже как-то их посортировать, сгруппировать и т.д. и указать какие точно надо менять, какие нет, а какие надо подробно посмотреть.
Я сохраню оригинал, и потом натравлю diff и может быть sort.

Dasar

> "m[SPACE][первые символы ника][TAB][Enter]сообщение[Enter].[Enter]",
это ты где такое пишешь? в терминале?
а откуда он знает, что ты пишешь именно ник? и откуда он знает какие-то ники есть?

sergey_m

> Усложнить паттерны, так что бы awk/sed понимал, когда ответ будет "да", а когда "нет".
Это сможет сделать пользователь? пусть даже advanced?
Это сможет сделать не всякий пользователь. Однако еще меньшее число пользователей справится с API.

Dasar

> Я сохраню оригинал, и потом натравлю diff и может быть sort
как будешь задавать групповые yes/no как будешь ставить?

Dasar

> Однако еще меньшее число пользователей справится с API.
речь идет о том, что наличие схемы данных (например, в xsd) + API, позволяет сделать более-менее универсальный UI, которые обеспечивает указанный функционал.

sergey_m

> "m[SPACE][первые символы ника][TAB][Enter]сообщение[Enter].[Enter]",
это ты где такое пишешь? в терминале? а откуда он знает, что ты пишешь именно ник?
я набрал m[SPACE] с новой строки, значит следующим словом будет ник.
и откуда он знает какие-то ники есть?
Из базы ников. unix way не исключает хранения per-user настроек

sergey_m

как будешь задавать групповые yes/no как будешь ставить?
Если что-то можно сгруппировать, то это можно было сделать автоматической заменой. То, что обрабатывается сейчас - исключительно ручное.

sergey_m

речь идет о том, что наличие схемы данных (например, в xsd) + API, позволяет сделать более-менее универсальный UI, которые обеспечивает указанный функционал.
Видишь, его приходится делать. Для этого надо уметь программировать. А в unix UI уже готов. Только в unix UI очень общий, а в GUI общим быть не может. Ты пропагандируешь инструменты, с помощью которых можно быстро лобать GUI под каждую задачу. Это хорошо, но это не дело пользователя.

Marinavo_0507

> речь идет о том, что наличие схемы данных (например, в xsd) + API, позволяет сделать более-менее универсальный UI,
> которые обеспечивает указанный функционал.
Какой примерно UI получится для icq-клиента, с учётом моих пожеланий?
Почему он не получился на практике?

Dasar

> Стоит. Я не согласен с утверждением.
1. В какую сторону поток информации больше? от человека к компьютеру? или от компьютеру к человеку?
2. Какой из этих потоков реальнее увеличить?
3. Какой поток скорее всего будет увеличиваться?
4. Способен ли терминал выводить большой объем разнородной информации?
5. Способен ли терминал выводить несколько потоков связанной информации?
6. Допустим мы живем в идеальном мире. И все задачи, которые мы можем автоматизировать мы быстренько автоматизировали. Какие задачи остались?
Удобно ли с этими задачами работать через терминал?

sergey_m

того, что модифицировать GUI не так-то просто не подготовленному человеку. Добавить alias в ~/.profile намного проще, хе-хе.

Marinavo_0507

> Ты пропагандируешь инструменты, с помощью которых можно быстро лобать GUI под каждую задачу.
Причём вручную, и вовсе неочевидно, что "правильная" модель данных в этом помогает.
А API есть всегда, без него никакой UI не сделать, если его ещё нет.

Dasar

> пример того, что модифицировать GUI
скорее это пример, как код писать не надо
ps
нормальный код должен выглядеть как-то так:

<xml>
<Command><id>qq1</id><Title>xxx</Title></Command>
<Command><id>q2</id><Title>xx3</Title></Command>
<Command><id>a5</id><Title>x31</Title></Command>
</xml>

Menu.InsertCommands(Get("/xml/commands";

shlyumper

Добавить alias в ~/.profile намного проще, хе-хе.
Говносравненение.
Добавить пункт в контекстное меню fvwm для неподготовленного человека - сопоставимо по сложности с добавлением пункта в контекстное меню "проводника".

Julie16

Я бы хотел несколько уточнить все вышесказанное. Этот спор кажется абсолютно бессмысленным. Мы говорим сейчас о неких вещах применительно к пользователю. Но понятие пользователь в юникс системах и в системах ориентированных на интерактивные проиложения - очень разные. В юникс ЛЮБОЙ сколько-нибудь пользователь ОДНОВРЕМЕННО является и программистом. Иначе не получается. Объясняю: программирование - это построение некой функции из заданных блоков, переводящих заданный вход в определенный вывод. Поэтому проактически любая нетривиальная команда в юникс уже является программой. Интерактивные действия программой очевидно не являются. Юникс-вэй для программистов(им это удобно и привычно интерактивные приложения для всех остальных. И не нужно спорить что лучше, что хуже Это вещи для разных target group

shlyumper

В юникс ЛЮБОЙ сколько-нибудь пользователь ОДНОВРЕМЕННО является и программистом.
И эти люди говорят, что [Linux/FreeBSD/вставьте свой *nix] может конкурировать с нормальными Desktop операционками?

shlyumper

Короче, у меня такое впечатление, что никто из присутсвующих ораторов кроме не заботал . Заботайте, пожалуйста, прежде чем дальше писать.

Marinavo_0507

> Интерактивные действия программой очевидно не являются.
Только в теории.
На практике не совсем так, кишки из системы лезут наружу (abstractions leak).
Получается, что "чисто интерактивные" действия, проведённые сейчас, сказываются на тех, которые будут позже.
Я бы сказал, что это тоже программирование, только пользователи из target group этого не понимают, отсюда их проблемы.
> Юникс-вэй для программистов(им это удобно и привычно)
-- программист, и он говорит, что ему неудобно и непривычно.
Я -- не программист (не люблю это дело, поэтому программирую хреново но мне удобно и привычно.
> И не нужно спорить что лучше, что хуже.
Нужно, так как один и тот же человек может пытаться для одних и тех же задач использовать и то, и другое.
Поэтому сравнивать надо.

Julie16

1) Ему неудобно и непривычно, как любой новый язык Осваивается не сразу, все такое...
2) Значит ты программист. Не важно, нравится тебе это или нет.
3) Странно. Я бы использовал те инструменты, которые удобны и привычны мне, в первую очередь. И не стал бы пробовать другие без крайней необходимости.

sergey_m

1. В какую сторону поток информации больше? от человека к компьютеру? или от компьютеру к человеку?
Чаще всего от компьютера к человеку. Но, когда набираешь текст, то наборот.
2. Какой из этих потоков реальнее увеличить?
Реальнее увеличить от компьютера. Но зачем?
3. Какой поток скорее всего будет увеличиваться?
В моём случае оба потока контролируются. Я пользуюсь перенаправлением вывода в файлы. Я также знаю команды head, tail, grep, sort, uniq и другие. Большинство используемых мною утилит знают про ключи -q и -v.
4. Способен ли терминал выводить большой объем разнородной информации?
Это ограничивается физическими характеристиками. Вывод на псевдотерминал PC обычно ограничен производительностью процессора. В моём случае зачастую ограничение накладывается пропускной способностью сетевого соединения.
5. Способен ли терминал выводить несколько потоков связанной информации?
Да. Пример - команда top. Есть более сложные примеры - многооконные терминальные приложения. Ты опять путаешь терминал с stdout.
6. Допустим мы живем в идеальном мире. И все задачи, которые мы можем автоматизировать мы быстренько автоматизировали.
Я живу в идеальном мире. Я автоматизировал все автоматизируемые задачи (кроме фильтрации спама, т.к. полная автоматизация этой задачи очень затруднена).
Какие задачи остались? Удобно ли с этими задачами работать через терминал?
Довольно много осталось. Мне удобно с ними работать через терминал.

Marinavo_0507

> Странно. Я бы использовал те инструменты, которые удобны и привычны мне, в первую очередь.
> И не стал бы пробовать другие без крайней необходимости.
Для новых задач, которые ещё не умеешь решать своими инструментами, почему бы не попробовать новые?

Dasar

> Видишь, его приходится делать. Для этого надо уметь программировать
В InfoPath вроде его почти делают без программирования.

Julie16

Покочану. Потому что для решения даже абсолютно новой задачи стопроцентно потребуются твои старые навыки и наработки. И для этого априори удобнее привычные интсрументы. Конечно побовать можно. НО только тогда когда другого выхода просто нет.

Marinavo_0507

> Конечно побовать можно. НО только тогда когда другого выхода просто нет.
В общем-то, я так и делаю.
Вон, спросил, как к IE редактор прикрутить, оказалось, что так же.
Несмотря на хвалёный COM, хвалёную модель данных, хвалёное API ---
несмотря на все замечательные штуки, в результате такое же
Вот и приходится возвращаться.

sergey_m

leo:
braindead:
В юникс ЛЮБОЙ сколько-нибудь пользователь ОДНОВРЕМЕННО является и программистом.
И эти люди говорят, что [Linux/FreeBSD/вставьте свой *nix] может конкурировать с нормальными Desktop операционками?
путает понятия программист и оператор. А ты сразу ухватился за это и стебешься. Если всякую алгоритмизацию считать программированием, то пользование windows тоже является программированием, т.к. пользователь возюкая мышкой указывает компьютеру, что ему делать.

shlyumper

т.е. ты хочешь сказать, что привел говноаргумент?
Или его можно перефразировать так, что он станет нормальным?

Dasar

> -- программист, и он говорит, что ему неудобно и непривычно.
скорее - unix-way - это неэффективно

Julie16

Ты уверен что я что-то путаю? Или ты хочешь сказать что cat a | grep 'blabla' | sort не является программой? Или ты хочешь сказать что когда пользователь броузит веб или печатает в ворде он программирует?

Dasar

> Вон, спросил, как к IE редактор прикрутить, оказалось, что так же.
Проблема в том, что IE - это бесплатное приложение, в том смысле - что это чисто имиджевый продукт, соответственно в нем не принимаются последние достижения.
с точки зрения технологий IE не меняется уже лет 6-8
ps
напомню, что COM-у уже где-то 10-12 лет

Marinavo_0507

> Или ты хочешь сказать что когда пользователь броузит веб или печатает в ворде он программирует?
Когда броузит веб - иногда программирует.
Можно запрограммировать свой комп на разные действия путём установки троянов.

sergey_m

Добавить пункт в контекстное меню fvwm для неподготовленного человека - сопоставимо по сложности с добавлением пункта в контекстное меню "проводника".
Песдешь и провокация. Моя жена умеет добавлять пункты в меню fvwm, а вот с regeditом, я думаю, не справится.
Текстовый файл это самое лучшее средство описания конфигурации. Самое понятное для человека, а не компьютера, как в случае базы regedit. Недавно у меня в гостях был мой друг, большой противник unix и апологет винды, как . В его присутствии я настраивал xmms, на редкость не-unix-way программу. Мне нужно было отключить лазание в CDDB, и я не мог найти этот пунктик в многочисленных менюшках. Мой друг наблюдал за этим, и произнес: "Текстовые конфиги удобнее, к примеру, как у апача." Он прав. В данном случае можно было просто поискать "CDDB" в теле текстового файла.

shlyumper

Песдешь и провокация. Моя жена умеет добавлять пункты в меню fvwm
Она это делает из божественного откровения, или все же прочитала ман по конфигурационному файлу?
Текстовый файл это самое лучшее средство описания конфигурации. Самое понятное для человека, а не компьютера, как в случае базы regedit. Недавно у меня в гостях был мой друг, большой противник unix и апологет винды, как . В его присутствии я настраивал xmms, на редкость не-unix-way программу. Мне нужно было отключить лазание в CDDB, и я не мог найти этот пунктик в многочисленных менюшках. Мой друг наблюдал за этим, и произнес: "Текстовые конфиги удобнее, к примеру, как у апача." Он прав. В данном случае можно было просто поискать "CDDB" в теле текстового файла.
С этим полностью согласен. Но не-unix-way совсем не требует использовать реестр. Более того, от этого в .NET успешно отходят.

Marinavo_0507

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

sergey_m

т.е. ты хочешь сказать, что привел говноаргумент?
Я хочу сказать, что он не прав. Правильно так: unix way позволяет быть пользователю программистом.

sergey_m

Ты уверен что я что-то путаю? Или ты хочешь сказать что cat a | grep 'blabla' | sort не является программой? Или ты хочешь сказать что когда пользователь броузит веб или печатает в ворде он программирует?
'cat a' - программирование? А значит 'cat a | grep 'blabla'' - уже программирование? Хорошо.
Нажать лупу в ворде и написать там blabla и нажать "поиск" - не программирование. А оформить автозамену в ворде с парой условий - программирование?
Я бы это всё назвал работой оператора. Хотя под определение программирования подпадает - ты задаешь компьютеру программу.
P.S. Прочти http://www.45.free.net/~vitus/user-friendly.txt, если не заметил ссылки в начале треда.

Marinavo_0507

> скорее это пример, как код писать не надо
> нормальный код должен выглядеть как-то так
и почему же практика настолько далека от теории?
как и в случае с icq-клиентом?
как и в случае с IE?

Dasar

> Реальнее увеличить от компьютера. Но зачем?
Для увеличения эффективности системы: человек <-> компьютер.
Если не сделаешь - это ты, то это сделают твои соседи.
> В моём случае оба потока контролируются. Я пользуюсь перенаправлением вывода в файлы. Я также знаю
> команды head, tail, grep, sort, uniq и другие. Большинство используемых мною утилит знают про ключи -q и -v.
Как быть, например, с асинхронными командами/потоками?
>> 4. Способен ли терминал выводить большой объем разнородной информации?
> Это ограничивается физическими характеристиками.
Вопрос был о другом, способен ли терминал выводить большой объем разнородной информации так, чтобы пользователь это воспринимал? Через какой интерфейс: терминал или графический - можно вывести больше информации?
> Есть более сложные примеры - многооконные терминальные приложения
например?
> Довольно много осталось. Мне удобно с ними работать через терминал.
что ты делаешь?
как выглядят типичные сценарии действий?

sergey_m

Она это делает из божественного откровения, или все же прочитала ман по конфигурационному файлу?
Не читала. Когда ты открываешь этот файл, то ты сразу видишь описание своего любимого меню. Формат файла интуитивно понятен, нах.

Marinavo_0507

> Проблема в том, что IE - это бесплатное приложение,
Нифига подобного, кстати.
IE - неотъемлимая часть Windows, одна из важных составляющих успеха этой платной системы.

shlyumper

Прочти http://www.45.free.net/~vitus/user-friendly.txt, если не заметил ссылки в начале треда.
Ссылка, кстати, не самая удачная. Она освещает мир с позиции если не программиста, то по крайней мере компьютерно грамотного человека, причем грамотного в большей степени, чем "продвинутый пользователь Internet Explorer". Многие люди, далекие от компьютера, приходят в ужас от того, что на компьютере нужно писать какие-то команды, которые нужно еще и запоминать. Такой подход, возможно, удобен для программиста, для человека, близкого к технике, возможно, но не для всех. И этих всех, в общей массе пользователей компьютера, гораздо больше.

Marinavo_0507

> И этих всех, в общей массе пользователей компьютера, гораздо больше.
Это недоразумение - называть таких людей пользователями компьютера.
Пользоваться компьютером они не могут, только приложениями, написанными для их задач.
Если какая-то задача не полностью решается имеющимся у них приложением, им не позавидуешь.
Придётся нажимать на мышь 666 раз и т.д.
Компьютер отличается от прочих устройств тем, что его можно программировать.
Если нечто умеет работать без программирования, то это не компьютер, хотя там внутри может быть компьютер, а то и несколько.
Вот например, мой мобильный телефон для меня - не компьютер, хотя совершенно так же виснет и глючит.
А вот для его разработчиков - это компьютер.
Точно так же PC с Windows для "обычного пользователя" - не компьютер.
Ну то есть он называет эту штуку компьютером, научившись этому названию у других,
но смысл вкладывает в это другой.

sergey_m

> Реальнее увеличить от компьютера. Но зачем?
Для увеличения эффективности системы: человек <-> компьютер.
LOL. Я могу увеличить поток информации от компьютера, но я не смогу читать с такой скоростью.
Если не сделаешь - это ты, то это сделают твои соседи.
Да, я часто запускаю make buildworld без редирекции аутпута. Это впечатляет соседей.
Как быть, например, с асинхронными командами/потоками?
Примеры?
Вопрос был о другом, способен ли терминал выводить большой объем разнородной информации так, чтобы пользователь это воспринимал?
Да, например top. Совсем разнородную информацию идеологически правильно разделить по нескольким терминалам. Что и делается.
Через какой интерфейс: терминал или графический - можно вывести больше информации?
Сразу разделим информацию на текстовую и графическую. Ясен пень, что через графический интерфейс можно вывести больше данных. Но меня интересует текст. Замечу, что я не ограничиваюсь 80x25 и одним терминалом. У меня 19" монитор в разрешении 1280x1024, но большая часть рабочего стола занята текстовой информацией. Графической тоже отведено немного места, около 7% экрана.
> Есть более сложные примеры - многооконные терминальные приложения
например?
mutt, midc, centericq, BitchX....
> Довольно много осталось. Мне удобно с ними работать через терминал.
что ты делаешь?
как выглядят типичные сценарии действий?
Обобщенно это чтение и создание самой разной текстовой информации. Программы, скрипты, письма, конфиги...

shlyumper

Компьютер отличается от прочих устройств тем, что его можно программировать.
Такой компьютер не покупают.
Покупают компьютер, отличающийся от прочих устройств тем, что на нем можно писать документы и письма, считать бюджет, играть в игры, смотреть странички в интернете.

sergey_m

Многие люди, далекие от компьютера, приходят в ужас от того, что на компьютере нужно писать какие-то команды, которые нужно еще и запоминать. Такой подход, возможно, удобен для программиста, для человека, близкого к технике, возможно, но не для всех.
Эти люди учат языки, имея словарные запасы в несколько тысяч слов. Для ежедневной работы нужно знать несколько десятков простых коротких команд. Что бы их запомнить нужно быть программистом?

Dasar

> и почему же практика настолько далека от теории?
> как и в случае с icq-клиентом?
> как и в случае с IE?
потому что ты берешь для примера те продукты, за которые никто не готов платить деньги.
последние достижения используются там, где они больше всего востребованы - на данный момент это корпоративные системы, т.е., например, Oracle, Office (если его брать как корпоративную систему) и т.д.

Marinavo_0507

> Такой компьютер не покупают.
Когда-то покупали только такие.
И сейчас примерно тот же контингент покупает такие.
> Покупают компьютер, отличающийся от прочих устройств тем, что на нем можно писать документы и письма,
> считать бюджет, играть в игры, смотреть странички в интернете.
Это покупают программно-аппаратную систему с возможностью расширения.
Расширение, кстати, то есть установка новых программ для новых задач, тоже
далеко не всем пользователям удаётся, для этого нужен специальный техник (эникейщик, админ).
Да, это называют компьютером, переняв этот термин от программистов, железячников, хакеров, админов.
Но не используют это как компьютер.
Иногда правда кишки вылезают наружу, и приходится учиться обращаться с этим предметом
как с компьютером, если почему-то не хочется звать техника.
У некоторых получается, и они становятся компьютерно грамотными.
Другим, как я уже сказал, не позавидуешь.

Dasar

> Я могу увеличить поток информации от компьютера, но я не смогу читать с такой скоростью.
Что тебе мешает правильно понимать чужие мысли?
а не стебаться над ними?

sergey_m

Что тебе мешает правильно понимать чужие мысли?
а не стебаться над ними?
Тогда объясни, как ты собираешься увеличивать поток. Кстати, да, я купил 19" монитор для, того что бы больше информации помешалось в экран. Но я не уверен, что ты имеешь в виду это.

shlyumper

Все что ты пишешь безусловно правильно, но не имеет никакого отношения к формулировке обсуждаемого вопроса. А именно:
у программ есть два взаимодействия:
1. программа <-> программа
2. программа <-> человек
Обрати внимание, там написано человек, не программист.

Marinavo_0507

> Обрати внимание, там написано человек, не программист.
Человек в твоём понимании не заметит unix way, как и его отсутствие.
Он просто не для его задач, совершенно ортогональная концепция.
Но вот если он когда-то захочет стать компьютерно грамотным, тут отличия начнут проявлять себя.

Dasar

>> Как быть, например, с асинхронными командами/потоками?
> Примеры?
например, icq.
ftp.
Сложные аналитические или вычислительные запросы, например, Olap.
> Сразу разделим информацию на текстовую и графическую.
плохое деление, т.к. большую часть информацию можно выводить как в текстовом (таблица так и в графическом виде (chart-ы, графики, цветовое выделение и т.д.).
> mutt, midc, centericq, BitchX
и где здесь классический unix-way?
все равно же получается, что пользователь работает с одним интерфейсом, а автоматизация идет через другой интерфейс.
> Обобщенно это чтение и создание самой разной текстовой информации
т.е. аналитики нет?

Marinavo_0507

> > и почему же практика настолько далека от теории?
> потому что ты берешь для примера те продукты, за которые никто не готов платить деньги.
получается, что писать программы правильно, чтобы потом можно было автоматизировать труд,
очень сложно, и разработчики готовы это делать только за большие деньги, когда понятно,
что именно это свойство программы будет востребовано
в противоположность этому, в unix way именно такие программы писать получается естественным образом,
после того, как встанешь на путь

Dasar

> Тогда объясни, как ты собираешься увеличивать поток.
В первую очередь, использовать вместо текстовой информации - графическую.

bleyman

Ну да. Непрофессиональные разработчики как правило пишут говно, чего в этом удивительного?
Говно получается естетсвенным образом.

sergey_m

например, icq.
Посмотри vicq, micq. В духе unix-way. Остальные полноэкранны.
ftp
Ну ftp клиент это классика. Он появился задолго до графических терминалов.
Сложные аналитические или вычислительные запросы, например, Olap.
Не знаю, что это.
плохое деление, т.к. большую часть информацию можно выводить как в текстовом (таблица так и в графическом виде (chart-ы, графики, цветовое выделение и т.д.).
Чарты, графики - это уже другая информация, это фукнция от текстовой информации.
P.S. Терминалы позволяют цветовое выделение.
> mutt, midc, centericq, BitchX
и где здесь классический unix-way?
По-твоему unix-way это stdout+stdin? Тогда здесь его нет.
т.е. аналитики нет?
Не понял что именно интересует.

Marinavo_0507

> Непрофессиональные разработчики как правило пишут говно, чего в этом удивительного?
IE писали непрофессионалы? Это же один из ключевых компонентов Windows.

sergey_m

> Тогда объясни, как ты собираешься увеличивать поток.
В первую очередь, использовать вместо текстовой информации - графическую.
Переформулируем вопрос: какую информацию ты намерен добавить? Только не отвечай "графическую".

Dasar

> в противоположность этому, в unix way именно такие программы писать получается естественным образом,
после того, как встанешь на путь
ну мы же вроде уже разбирали, что с другой стороны:
на unix-way нет сложных продуктов - нет корпоративных продуктов, нет сложных редакторов, нет аналитических систем и т.д.

bleyman

ИЕ - не говно.
Я не понимаю? Ты хочешь механизм, который позволяет _любую_ программу разломать на кусочки и использовать по отдельности? Так не бывает. Есть механизм, который позволяет написать разбираемую в той или иной мере программу. Разработчики ИЕ не посчитали необходимым реализовывать разбираемость эдит бокса в ИЕ. Хотя возможность у них была.

Marinavo_0507

> на unix-way нет сложных продуктов - нет корпоративных продуктов, нет сложных редакторов, нет аналитических систем и т.д
возможно, таким продуктам не нужен unix way
мне трудно судить, я не разбираюсь в этом предмете
но он и не мешает, разнообразные продукты такого плана с успехом портируются на *nix
а скорее всего, разработчики просто таскают свои методики с системы на систему, и лишь небольшую прослойку для
совместимости добавляют

Dasar

> Переформулируем вопрос: какую информацию ты намерен добавить? Только не отвечай "графическую".
информацию ту же самую: просто с помощью графики - ее можно представить- более эффективно, соответственно - человек будет способен получить больший объем информации.
также с помощью графики проще делаются инструменты для работы с информацией: скроллинг, zoom, множественное выделение и т.д.

shlyumper

также с помощью графики проще делаются инструменты для работы с информацией: скроллинг, zoom, множественное выделение и т.д.
Говноаргумент. Это все было замечательно удобно реализовано в том же самом текстовом Norton Commander

Dasar

> но он и не мешает, разнообразные продукты такого плана с успехом портируются на *nix
портируют на *nix, или портируют на unix-way?

Marinavo_0507

> Ты хочешь механизм, который позволяет _любую_ программу разломать на кусочки и использовать по отдельности?
Я хочу заявленное свойство модных технологий: удобство написание таких программ, которые потом смогут совместно работать
с подобными же, автоматизируя решение пользовательских задач.
И вижу, что такого свойства нет: писать такие программы геморно.
В отличии от unix way, где это выходит естественно.

Marinavo_0507

> портируют на *nix, или портируют на unix-way?
мне повторить?
я думаю, что эти задачи удалось бы с большим успехом встроить в unix way, чем это есть сейчас
однако понятно, что у разработчиков имеются причины этого не делать, а вдруг потом на винду придётся портировать
точнее могу сказать, лишь ознакомившись с предметной областью, которая меня мало интересует

Dasar

> Я не понимаю? Ты хочешь механизм, который позволяет _любую_ программу разломать на кусочки и использовать по отдельности?
в целом - да, цель именно такая - решать как можно больше задач, незапланированных разработчиком.
и unix-way, и Com, и .Net, и xml (как пример декларативного программирования) - пытаются решить, в том числе, и эту задачу (но, конечно, каждый в меру своей эффективности).
ps
вспомни, почему реляционные базы вытеснили те же иерархические. Именно потому, что в реляционных базах можно выполнять незапланированные запросы.

Dasar

> я думаю, что эти задачи удалось бы с большим успехом встроить в unix way
на всякий случай, уточню.
Mozilla - является unix-way-ем? т.е. это точно, что любую команду можно выполнить в том числе и из командной строки?
т.е. например, можно уже в открытую mozilla-у загрузить нужную страницу, найти необходимую ссылку - перейти на нее и т.д.
Можно воспользоваться google-овским тулбаром - и все это из командной строки?

Julie16

Для мозиллы - не знаю. В konqueror - точно можно.

Dasar

> В konqueror - точно можно.
чем он лучше мозиллы? или Ie? чем он хуже, чем мозилла? или ie?

Julie16

Я не пользуюсь мозиллой, а тем паче ие. Считаю что konqueror ничуть не хуже(во всяком случае когда в последний раз пользовался мозиллой и ие, так и было). Просто я сказал что есть броузер, который вполне юникс-вэй. Даже более того, konqueror - неким образом сам по себе шелл

Marinavo_0507

> Mozilla - является unix-way-ем?
нет конечно
все браузеры - говно
Mozilla - пожалуй самая неудобная программа из тех, с которыми я работаю
c другой стороны, это в своём роде операционная система, как emacs
нормального текстового редактора в этой ОС тоже нет
платформа для веб-приложений, ну точнее часть этой платформы
и у неё свой пользовательский интерфейс

Chupa

> на unix-way нет сложных продуктов - нет корпоративных продуктов, нет сложных редакторов, нет аналитических систем и т.д.
Не знаю, что подразумевается под "сложными продуктами",
но в промышленном StarCD (инженерные расчёты, CAE) есть командная строка,
в которую можно вбивать команды вместо ковыряния в меню или вообще работать без гуя,
например, сгенерить модель скриптом, а этап расчёта включает компиляцию приложения
с поддержкой пользовательского кода, пре- и постпроцессинг входных данных для кластера
в виде отдельных утилит. Настоящий unix-way.
В промышленном же AutoCAD есть встроенный интерпретатор lisp,
сам с ним не работал, но почти наверняка есть возможность
работы в пакетном режиме только через этот самый lisp.
Могу уточнить, если надо.

Dasar

>> Mozilla - является unix-way-ем?
> нет конечно
тогда отвечу на твой основной вопрос:
> мне повторить?
> я думаю, что эти задачи удалось бы с большим успехом встроить в unix way,
чуть резюмирую твои исследования:
1. сначала ты взял простые вещи: а именно всякие cat, grep и т.д., которые одиннаково делаются, как в unix-way-е, так и в "новых технологиях"
2. Далее ты взял довольно сложную задачу: а именно замену компонента (text-box-а) близкого к ядру программы - и выяснил, что эта задача решается одиннаково тяжело под *nix-ом (но к тому же не в рамках unix-way-я) и под "новыми технологиями".
из этого ты почему-то сделал вывод:
писать такие программы геморно.
В отличии от unix way, где это выходит естественно
при этом почему-то за кадром осталось то, что "новые технологии" позволяют решать прозрачно больший класс задач, чем классический unix-way.
Как это понимать?

Marinavo_0507

> при этом почему-то за кадром осталось то, что "новые технологии"
> позволяют решать прозрачно больший класс задач, чем классический unix-way.
пока что мы установили существование двух классов задач:
1) хорошо решающиеся в unix way
2) примерно одинаково решающихся везде
польза "новых технологий", которые должны якобы сильно расширять класс решаемых задач,
не была продемонстрирована
я утверждаю, что в тех задачах, где оная польза чувствуется, вполне можно подружить
эти технологии c unix way, и это также будет естественно

Marinavo_0507

> В промышленном же AutoCAD есть встроенный интерпретатор lisp
Встроенный язык - говноаргумент.
Он и в MS Office есть.

Dasar

> но в промышленном StarCD (инженерные расчёты, CAE) есть командная строка,
> в которую можно вбивать команды вместо ковыряния в меню или вообще работать без гуя,
это не unix-way.
ты еще скажи, что VB-редактор в excel-е или в word-е - это тоже unix-way.
в данном случае, мы имеем две совершенно разные командные строки:
одна в ОС, другая в StarCD - и, в общем случае, мы не можем прозрачно перейти из одной командной строки в другую
ps
командная строка - это еще не unix-way
unix-way, в первую очередь, обещает, что любую команду приложения можно выполнить из командной строки ОС
да, многие приложения построенные на "новых технологиях" содержат командную строку.
да, это удобно.
да, и мои приложения, которые я разрабатываю поддерживают командную строку.
но это все - не unix-way.

Chupa

предполагаемый в данном случае аргумент - возможность полноценного использования приложения в пакетном режиме

Chupa

>> но в промышленном StarCD (инженерные расчёты, CAE) есть командная строка,
>> в которую можно вбивать команды вместо ковыряния в меню или вообще работать без гуя,
>
> это не unix-way.
> ты еще скажи, что VB-редактор в excel-е или в word-е - это тоже unix-way.
>
> в данном случае, мы имеем две совершенно разные командные строки:
> одна в ОС, другая в StarCD - и, в общем случае, мы не можем прозрачно перейти из одной командной строки в другую
бред, иди спать
> ps
> командная строка - это еще не unix-way
> unix-way, в первую очередь, обещает, что любую команду приложения можно выполнить из командной строки ОС
а вот это там как раз есть: всё что делается из гуя является командой приложения
и эту команду я могу запихать пакетной версии на stdin

Dasar

> 1) хорошо решающиеся в unix way
напомню, что все эти grep и т.д. - в том, или ином виде, есть и в том же .Net-е
> я утверждаю, что в тех задачах, где оная польза чувствуется, вполне можно подружить
> эти технологии c unix way, и это также будет естественно
а зачем? что это даст?
минусы я уже проводил - появляются как минимум проблемы с кавычками.
напомню, что все "новые технологии" (а именно, com и .net) можно косвенно через js и js.net вызвать в том числе и из командной строки.

Marinavo_0507

маловато будет
как насчёт "doing one thing, and doing it well"?
и "output, expected to become an input to another, yet unknown, program"?
в лучшем случае, это операционная система, и вряд ли там есть хороший текстовый редактор
но скорее всего, просто обычная монолитная программа
я сам в детстве видел только древний AutoCAD для DOS, операционной системой он тогда не был

bleyman

Насколько я понял, речь шла о том, что в тру юникс вэе текстбокса как такогого нету, а есть кусок конфига, или специальная утилита, которая предоставляет возможность юзеру ввести текст, подсвечивая и форматируя его в процессе введения. Естественно, в такой постановке задачи все получается очень просто и естественно. Правда, получается говно, ИМХО.
Передо мной щаз цветной экран в разрешении 1280х1024, на котором кроме текстбокса в который я щаз ввожу текст еще... ммм... считаю... 30 активных компонентов управления (кнопок и менюшек) сверху от клиентской части эксплорера, 25 сейчас на таскбаре (считая квикланч и трей и чудовищное количество непосредственно на страничке, в которой эдит бокс. Я могу в любой из них ткнуть мышкой, причем в добрую половину не только левой, но и правой кнопкой. Часть этих элементов не просто занимает место, а еще и сообщает мне текущую температуру проца, текущую пестню в винампе, текущий язык ввода, может начать моргать если мне придет почта или сообщение по аське (при этом всплывёт тултип с описанием эвента так же всплывёт тултип если вдруг оборвется инет.
При этом мне доступно штук десять-пятнадцать активно используемых киборд-шорткатов непосредственно в эксплорере, еще столько же в винде, а нажав win+R (две кнопки одновременно) я попадаю в прекрасную консоль.
Отказаться от всего этого в пользу экрана на котором _только_ эдитбокс, но зато я смогу выбирать, какая прога его реализует - vi или vim? Спасибо большое, я как нибудь так.
На текстовом экране 80х53 это всё просто не поместится, но это и не важно. Текстовый режим не обязателен для юникс вея, и наоборот. Потому что ИДЕ турбо паскаля под дос - НЕ юникс вей. И я склонен полагать, что упоминавшийся здесь top тоже совершенно не юникс вей. Топ - не юникс вэй. Топ - не юникс вэй.

Dasar

>> одна в ОС, другая в StarCD - и, в общем случае, мы не можем прозрачно перейти из одной командной строки в другую
> бред, иди спать
допустим, у меня есть два приложения StarCD и AsteroidCD, которые построены по данной технологии.
смогу ли я прозрачно связать: StarCD и AsteroidCD - а именно прозрачно из под StarCD повызывать команды AsteroidCD, и одновременно из под AsteroidCD вызывать StarCd?

bleyman

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

Chupa

>>> одна в ОС, другая в StarCD - и, в общем случае, мы не можем прозрачно перейти из одной командной строки в другую
>> бред, иди спать
> допустим, у меня есть два приложения StarCD и AsteroidCD, которые построены по данной технологии.
> смогу ли я прозрачно связать: StarCD и AsteroidCD - а именно прозрачно из под StarCD повызывать команды AsteroidCD,
> и одновременно из под AsteroidCD вызывать StarCd?
что такое "повызывать команды"? просто "повызывать" или для достижения какой-то осмысленной цели?
цель гуя - подготовить модель к расчёту, интерактивность там нужна, чтобы пользователь видел,
что именно происходит и как это будет выглядеть, а если этого нет, то приложение превращается
просто в преобразователь потока с возможным побочным эффектом в виде выходных файлов
PS: что такое "прозрачно"? ты постоянно используешь это слово, но так и не объяснил, что же именно оно значит

Dasar

> PS: что такое "прозрачно"? ты постоянно используешь это слово, но так и не объяснил, что же именно оно значит
прозрачно - это когда одиннаковое делается одиннаковыми способами, а разное - разными, и когда не надо ногу засовывать за ухо - чтобы сделать простое действие.

Dasar

> что такое "повызывать команды"? просто "повызывать" или для достижения какой-то осмысленной цели?
для вычисления формул.
StarCD - выполняет инженерные расчеты, а AsteroidCD - выполняет какие-нибудь химические расчеты
и я хочу внутри StarCD использовать результаты AsteroidCD и наоборот внутри AsteroidCD результаты StarCd, а иногда и то, и другое одновременно.

voronina

PS: что такое "прозрачно"? ты постоянно используешь это слово, но так и не объяснил, что же именно оно значит
Прозрачно вроде всегда значило: "то что просто рюхнет каждый"
например идея контекстных меню вполне прозрачна, не смотря на то что исполняется разными способами на виндах и маках

Dasar

> Прозрачно вроде всегда значило: "то что просто рюхнет каждый"
одно из требований быстрого обучения - это и выполнение того правила, которое я привел.

Marinavo_0507

> напомню, что все эти grep и т.д. - в том, или ином виде, есть и в том же .Net-е
Пришло время объяснить разницу. Я хотел сделать это позже, подумав ещё, но придётся сейчас.
В чём преимущество unix way? В лёгкости, с какой грамотный пользователь может автоматизировать
задачи, не предусмотренные разработчиками приложений.
А за счёт чего это достигается, чего нет у MS? Я объясню.
Главное - это плавный переход от обычной интерактивной работы к программированию.
А плавный он потому, что те же сущности, которыми оперирует UI, используются для взаимодействия
между компонентами операционной среды. Шелл в *nix умеет работать с текстами, с файлами и с процессами.
И компоненты являются процессами, и обмениваются между собой файлами и текстовыми потоками.
Рассмотрим теперь компонентные модели от MS и кальки с них.
Там компоненты представляют из себя объекты, и взаимодействуют с помощью вызова методов.
Но в интерфейсе, который виден пользователю, эти объекты не представлены.
Вместо этого пользователь имеет дело с толстыми обёртками, предоставляющими ограниченный
доступ к этим объектам.
Скажу сразу, есть попытки преодолеть это ограничение, но результаты не впечатляют,
и в мейнстрим как-то не вливаются.
Получается, что чтобы начать программировать, даже совсем-совсем немножко,
пользователь должен изучать совершенно новый интерфейс, т.е. API.
Для этого ему нужно ставить специальные средства разработки, которые не идут вместе с ОС,
и стоят отдельных денег, это показывает, что разработчики ОС считают, что только избранным
будет доступна автоматизация труда.
.Net, в которой есть аналоги grep и т.д., не имеет своего интерфейса.
Пользователь не работает с объектами, и со структурами данных IL.
Он не запускает методы непосредственно, и не вводит их параметры вручную.
Пользователь работает с GUI-приложениями, а если их возможностей не хватает,
значит надо использовать совсем другой язык для взаимодействия с компьютером,
и создать с его помощью новое GUI-приложение. Можно хитрым образом вызывать
методы из командной строки, но делать это, за редким исключением, бессмысленно,
так так методы работают не с теми данными, с какими работает пользователь.
Тут приводили ссылки на проект по созданию шелла, который как раз будет работать
с теми же сущностями, что и компонеты операционной среды.
Я уже говорил, что идея лежит на поверхности, и скорее всего не сработает.
Почему в unix way предпочтение должно отдаваться тексту? Объясняю.
Текст - единственное представление информации, которое может эффективно анализироваться
как человеком, так и компьютером.
Графическую информацию приходится держать в файлах, или передавать в виде бинарных потоков.
Те действия с графикой, которые может выполнять компьютер, вполне ложаться в unix way,
и могут быть произведены утилитами, работающими с файлами или потоками.
XML-тоже текст, но для эффективной обработки его нужны несколько другие средства,
нежели традиционные unix tools. И эти средства создаются. Довольно медленно, по сравнению
со сменой новых технологий от MS. Почему так медленно? Объясняю.
MS выпускает в мир технологии, чтоб получить конкурентное преимущество.
Им необязательно, чтоб они были удобные. Но обязательно, чтоб можно было показать
на длинный список фишек, которых нет в списках конкурентов.
Поэтому этот список нужно обновлять быстрее, чем люди будут учиться пользоваться фишками.
Потому что, как только научишься пользоваться, сможешь сам сделать подобные, только более удобные, фишки,
и к этому моменту у MS уже должен быть новый длинный список.
Для unix way нужен более длительный период адаптации.
Есть также попытки создать автоматизируемый GUI, но результаты не впечатляют.
До полноценной операционной среды, основанной на этом, пока далеко.
Проблемы с метасимволами будут всегда, пока используется текст.
Приводимые ранее примеры текстовых интерфейсов (в том числе на основе XML) все имели такие недостатки.
Обходятся они только тщательным следованием принятым правилам quoting and escaping.
Бинарный интерфейс подвержен переполнениям буфера, арифметическим переполнениям и т.п., спасают
только чёткие правила кодирования и тщательное им следование.
А если научить компьютер речевому вводу/выводу, будут проблемы с метазвуками.
У графического языка будут проблемы с мета-изображениями.
Это не есть особенность unix way.

Marinavo_0507

man top
/-b
/-d
/-i
Ещё как перенаправить.
Если нужно получить только какой-то один кусочек из выдаваемых данных,
то проще взять его непосредственно у первоисточника, в текстовом виде.
По крайней мере в Linux это берётся из procfs.

Chupa

> StarCD - выполняет инженерные расчеты
выполняет он их вот как:
1) построение модели: конвертим модель CAD с помощью отдельной утилиты или рисуем её в препроцессоре
2) в препроцессоре ставим граничные условия, характеристики материалов, взаимодействие сред итп
3) по полученному набору файлов генерируется полностью неинтерактивное приложение,
которое будет решать задачу с возможностью использования пользовательского кода
4) приложение запускается на выполнение (может считаться неделями на кластере)
5) результат загружается в постпроцессор для генерации отчётов
пре- и постпроцессор объединены в одном приложении, которое бывает гуёвым и пакетным
цепочка может выполняться пакетно целиком или частями (имеют смысл цепочки 1-5 и 2-5
т.е. от CAD модели до отчёта о её поведения в различных условиях
> и я хочу внутри StarCD использовать результаты ...
"внутри" это где? загрузить в постпроцессор результат расчёта другой программы?
химию можно добавить в виде пользовательской процедуры в расчёт,
но реализовывать сложное взаимодействие непосредственно в процессе расчёта
будет слишком неэффективно

Marinavo_0507

> И эти люди говорят, что [Linux/FreeBSD/вставьте свой *nix] может конкурировать с нормальными Desktop операционками?
Вполне может.
Глючит оно ничуть не хуже, а с другими проявлениями операционных систем "обычный пользователь" и не сталкивается.

Marinavo_0507

> Передо мной щаз цветной экран в разрешении 1280х1024
У меня тоже! Какое совпадение!
> Отказаться от всего этого в пользу экрана на котором _только_ эдитбокс
C чего ты взял, что только? Никто не говорит, что нужно убрать всё остальное.

sergey_m

информацию ту же самую: просто с помощью графики - ее можно представить- более эффективно, соответственно - человек будет способен получить больший объем информации.
Как можно текстовую информацию представить эффективнее в виду графики?
также с помощью графики проще делаются инструменты для работы с информацией: скроллинг, zoom, множественное выделение и т.д.
Скроллинг это очень хорошо, он есть во всех современных терминальных эмуляторах. zoom - для текстовой информации? Может достаточно будет шрифт поменять?
А что такое множественное выделение?

sergey_m

30 активных компонентов управления (кнопок и менюшек) сверху от клиентской части эксплорера, 25 сейчас на таскбаре (считая квикланч и трей и чудовищное количество непосредственно на страничке, в которой эдит бокс. Я могу в любой из них ткнуть мышкой, причем в добрую половину не только левой, но и правой кнопкой. Часть этих элементов не просто занимает место, а еще и сообщает мне текущую температуру проца, текущую пестню в винампе, текущий язык ввода, может начать моргать если мне придет почта или сообщение по аське (при этом всплывёт тултип с описанием эвента так же всплывёт тултип если вдруг оборвется инет.
У меня такого говна на экране тоже хватает. Но добрые 95% фокус ввода и мои глаза проводят в текстовых терминалах.

sergey_m

Топ не юникс вэй в том смысле что то, что он выплевывает на экран в интерактивном режиме я наверное всё-таки не могу никуда перенаправить
Это не врите. Если top видит, что stdout не есть терминал, то ведет себя совсем не интерактивно.

Ivan8209

> способен ли терминал выводить большой объем разнородной
> информации так, чтобы пользователь это воспринимал?
А с чего ты взял, что пользователь способен воспринимать большой
объём разнородной информации?
Число Ингве никто ещё не отменял.
---
...Я работаю антинаучным аферистом...

Dasar

> В чём преимущество unix way? В лёгкости, с какой грамотный пользователь может автоматизировать
> задачи, не предусмотренные разработчиками приложений.
> А за счёт чего это достигается, чего нет у MS? Я объясню.
> Главное - это плавный переход от обычной интерактивной работы к программированию.
> А плавный он потому, что те же сущности, которыми оперирует UI, используются для взаимодействия
> между компонентами операционной среды. Шелл в *nix умеет работать с текстами, с файлами и с процессами.
> И компоненты являются процессами, и обмениваются между собой файлами и текстовыми потоками.
есть довольно обоснованное мнение, что пользователь хочет работать с данными, а не с файлами или процессорами, и уж тем более не с файловыми потоками.
другими словами: например, даже в текстовом редакторе - пользователь хочет работать с абзацами, фонтами, стилями, но с текстовым потоком, который все это содержит.
есть также мнение, что когда человек/программист работает, напрямую, с данными - работа происходит более эффективно (более высокая скорость работы, меньше ошибок и т.д. чем когда он работает с этими же данными представлеными в виде текстового потока.
> Рассмотрим теперь компонентные модели от MS и кальки с них.
> Там компоненты представляют из себя объекты, и взаимодействуют с помощью вызова методов.
> Но в интерфейсе, который виден пользователю, эти объекты не представлены.
Спорный момент. например, то же меню - это объект, панель фонтов - это тоже объект, панель редактора - это тоже объект, панель абзацев - тоже объект.
Соответственно, если пользователь видит на экране - меню, панель фонтов, панель абзацев и т.д., то для него (особенно после обучения) будет довольно прозрачно ожидать, что из кода это будет доступно следующим образом:
MyApplication->Gui->Menu->FileOpen
MyApplication->Gui->FontPanel->Fonts
MyApplication->Gui->ПанельАбзацев->Абзацы
в этом плане: unix-way(как внешней командной строки) далеко до такой прозрачности.
замечу, что в данном случае - активную поддержку может обеспечивать intellisence, который опять же через unix-way сложнее делается.
> Вместо этого пользователь имеет дело с толстыми обёртками, предоставляющими ограниченный
> доступ к этим объектам.
Это проблема подхода в целом, или это проблема конкретных приложений?
> Получается, что чтобы начать программировать, даже совсем-совсем немножко,
> пользователь должен изучать совершенно новый интерфейс, т.е. API.
> Для этого ему нужно ставить специальные средства разработки, которые не идут вместе с ОС,
> и стоят отдельных денег, это показывает, что разработчики ОС считают, что только избранным
> будет доступна автоматизация труда.
имхо, это не совсем правда, т.к.
1. С Office-м идет и среда разработка (VB-редактор)
2. если брать .Net, то средства разработки в определенном объеме уже включены в саму ОС.
> Почему в unix way предпочтение должно отдаваться тексту? Объясняю.
> Текст - единственное представление информации, которое может эффективно анализироваться
> как человеком, так и компьютером
с основными положениями этого абзаца и следующих - согласен.
> Это не есть особенность unix way.
В первую очередь, я критикую именно классический unix-way - который обменивается неструктурированной текстовой информацией.
и замечу, что "новые технологии" используют те же самые принципы, что unix-way:
1. препочитают текст.
2. обеспечивают работу с данными, как из UI, так из и кода (командной строки под командной строкой для "новых технологий" понимается .Net в целом.
3. стараются как можно ближе к друг другу приблизить интерфейсы: человек<->программа и программа<->программа.
но есть важные отличия:
1. "новые технологии" предпочитают граф. интерфейс из-за его большей выразительности
2. "новые технологии" предпочитают работать, или напрямую с данными, или со структированным текстом(xml, soap)
3. "новые технологии" используют в том числе, и шняги, которые способны хранить свое состояние - классический unix-way использует в первую очередь чистые преобразования, которые не хранят свои состояния
4. "новые технологии" предпочитают использовать структурированную командную строку

Dasar

> и я хочу внутри StarCD использовать результаты ...
"внутри" это где? загрузить в постпроцессор результат расчёта другой программы?
В первую очередь, я хочу вызвать функцию другого приложения, а не использовать уже готовый результат.
> но реализовывать сложное взаимодействие непосредственно в процессе расчёта будет слишком неэффективно
почему неэффективно?
это как-то связано с тем, что связывание двух приложений идет через "классический unix-way"?
почему даже в такие консервативные приложения, как СУБД, уже можно вставлять вызовы внешнего кода? и это не сказывается сильным образом на эффективности.

Marinavo_0507

> есть довольно обоснованное мнение, что пользователь хочет работать с данными,
> а не с файлами или процессорами, и уж тем более не с файловыми потоками.
> другими словами: например, даже в текстовом редакторе - пользователь хочет работать
> с абзацами, фонтами, стилями, но с текстовым потоком, который все это содержит.
Хочет, и работает. Но удобство автоматизации при этом тем меньше, чем дальше
представление, с которым работает пользователь, от того, с которым работает компьютер.
> Спорный момент. например, то же меню - это объект, панель фонтов - это тоже объект,
> панель редактора - это тоже объект, панель абзацев - тоже объект.
> Соответственно, если пользователь видит на экране - меню, панель фонтов, панель абзацев и т.д.,
> то для него (особенно после обучения) будет довольно прозрачно ожидать,
> что из кода это будет доступно следующим образом:
> ...
И ожидания не оправдаются. Пример реального кода был приведён выше, он совсем не похож на идеал.
Да, повторяю, есть люди, которые работают над более прозрачным GUI. Как из лагеря MS, так из лагеря *nix,
и собственные ОС с нуля пишут.
Получается пока мало и плохо.
Вот например: http://www.45.free.net/~vitus/ice/thoughts/td_manifest.html
Когда-нибудь получится хорошо, и наступит всем счастье.
> Это проблема подхода в целом, или это проблема конкретных приложений?
Это происходит со всеми реальными приложениями, поэтому я думаю, что это проблема подхода.
> В первую очередь, я критикую именно классический unix-way - который обменивается неструктурированной текстовой информацией.
Это работало хорошо на тех компьютерах и с теми программами, которые были ** лет назад.
Для новых задач создаются новые средства, и происходит продвижение по пути.
> 1. "новые технологии" предпочитают граф. интерфейс из-за его большей выразительности
бессмысленное утверждение
предпочитают для чего, и какой именно?
правильные технологии используют графику там, где нужна её выразительность
> 2. обеспечивают работу с данными, как из UI, так из и кода (командной строки
> под командной строкой для "новых технологий" понимается .Net в целом.
это хреновая командная строка, менее удобная для пользовательских задач, чем *nix shell
есть ли люди, которые используют её для работы?
> 3. "новые технологии" используют в том числе, и шняги, которые способны хранить свое состояние -
> классический unix-way использует в первую очередь чистые преобразования, которые не хранят свои состояния
ну я бы не сказал так
полно сущностей, которые сохраняют состояние
> 4. "новые технологии" предпочитают использовать структурированную командную строку
пока на уровне обещаний
пригодного для использования шелла со структурированной командной строкой я не видел

Dasar

> Как можно текстовую информацию представить эффективнее в виду графики?
мне всегда казалось, что чисто текстовой информации не очень много, т.к. текст - это всего лишь один из способов представления информации
взять тоже кол-во: его можно представить в виде цифр, можно представить в виде столбика, можно представить в виде кругового индикатора и т.д.
или взять время: его можно представить в виде текста (цифр а можно в виде циферблата
набор цифр можно представить в виде таблицы, а можно в виде графика, или диаграммы.
ошибку можно представить в виде слова "ошибка", а можно в виде мигающей лампочки.
и т.д.

Marinavo_0507

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

Dasar

> Скроллинг это очень хорошо, он есть во всех современных терминальных эмуляторах. zoom - для текстовой
> информации? Может достаточно будет шрифт поменять?
> А что такое множественное выделение?
допустим у тебя есть набор фотографий, они сняты под разными углами.
в самих фотографиях информации о том, как держали фотоаппарат нет.
соответственно задача на данный момент не автоматизируема.
как для данной задачи должен выглядит UI, который максимально эффективно позволяет выполнить данную задачу?
как это задача делается в терминале?
ps
вместо фотографий может быть и текстовая информация, например, имена. И задача рассортировать имена по странам.

Chupa

>>> и я хочу внутри StarCD использовать результаты ...
>> "внутри" это где? загрузить в постпроцессор результат расчёта другой программы?
> В первую очередь, я хочу вызвать функцию другого приложения, а не использовать уже готовый результат.
вот-вот "вызвать функцию", а не совершить осмысленное действие
>> но реализовывать сложное взаимодействие непосредственно в процессе расчёта будет слишком неэффективно
> почему неэффективно?
упоминание про кластер видел?
задача расчёта может иметь значительную вычислительную сложность
и именно поэтому в комплексе она вынесена отдельно
тем не менее, функция комплекса (единственная возможная, несмотря на представление
в виде нескольких компонент) - проведение расчёта над моделью
это неделимое действие с точки зрения какого-либо внешнего приложения
> это как-то связано с тем, что связывание двух приложений идет через "классический unix-way"?
это связано с тем, что тебе вдруг понадобилось какое-то взаимодействие там, где оно не нужно

sergey_m

мне всегда казалось, что чисто текстовой информации не очень много, т.к. текст - это всего лишь один из способов представления информации
Но он идеален для текста. Для писем, программ, отчетов...
взять тоже кол-во: его можно представить в виде цифр, можно представить в виде столбика, можно представить в виде кругового индикатора и т.д.
Реально такая необходимость возникает очень редко, и тогда пользуются отдельной программой. В большинстве случаев приятнее цифры. Ей богу, не могу представить себе top в виду круговой диаграммы. Кстати в Windows task manager текстовый.
или взять время: его можно представить в виде текста (цифр а можно в виде циферблата
Я субъективно предпочитаю цифры. Любители циферблатов могут расположить в уголке экрана циферблат. Выше я говорил, что у меня на столе есть графические элементы, но я не уделяю им много времени.
ошибку можно представить в виде слова "ошибка", а можно в виде мигающей лампочки.
Мне удобнее прочесть "Not enough space on device", чем вспоминать, что же означает светломалиновая лампочка. Думаю, я не один такой.

Dasar

> а средство визуализации нарисует диаграммы, если необходимо
а я смогу быстрым движением перейти из одного режима в другой?
представить половину инфы в виде текста, половину в виде графика?
смогу изменить мышкой положение точек на графике? и при этом сразу видеть как они меняются в таблице, и на круговой диаграмме?
сразу увидеть, как меняется результат моделирумого хим. процесса? эти точки были, например, кол-вом ингридиентов
сразу увидеть, как меняется цена результирующего продукта? ингридиенты же денег стоят, а цену у меня бух. программа считает.
сразу увидеть, не превысил ли я квоты по кол-ву ингридиентов. текущие поставщики готовы только определенный объем поставлять.
это все интерактивные задачи - и я как пользователь, хочу чтобы компьютер мне выдавал эту информацию интерактивно, т.е. сразу после моих внесенных изменений

sergey_m

допустим у тебя есть набор фотографий, они сняты под разными углами.
в самих фотографиях информации о том, как держали фотоаппарат нет.
соответственно задача на данный момент не автоматизируема.
как для данной задачи должен выглядит UI, который максимально эффективно позволяет выполнить данную задачу?
как это задача делается в терминале?
Задача не решается в текстовом режиме. Тут графика необходима, потому, что ведется работа с графическими изображениями. Я не говорю, что терминал подходит для всего. Я говорю, что он идеален для текстовой информации.
вместо фотографий может быть и текстовая информация, например, имена. И задача рассортировать имена по странам.
Не совсем уловил, что здесь сложного? Я бы открыл текстовый файл с именами, и в начала строки добавлял бы одно-двух буквенные метки. Потом прогнал бы файл через sort, и срезал бы первое поле. Это было бы быстрее, чем таскать имена мышкой.

Ivan8209

Возьми и посмотри происхождение слова "файл" в области обработки данных.
Есть предположение, что ты плохо себе представляешь, что это такое.
То, что в Униксе исходно заложено побайтное разбиение файла,
нисколько не отменяет возможности наращивания уровня.
Вплоть до работы с классическими доуниксовыми файлами.
Да и обрабатывать тот же текст на уровне абзацев и заголовков
никто не мешает --- это в Униксе с рождения.
Отметим, что "панель редактора" --- это не какой-то там
"объект," а именно полноценный текстовый редактор.
Из Lynx-а я лично вызывал JED, сидя под MS DOS 7.
Писал в этот самый форум.
Где возможность вызвать внешний редактор из всяких там IE?
Хотя ничто, казалось бы, не мешает.
Рассказать, как это сделано в связке Lynx-JED-DOS?
Darcs вызывает внешний редактор для написания примечаний.
Под Linux и FreeBSD.
Тоже могу рассказать, как сделано.
Что такое "intellisence," я пока не понял. Переведи.
>> Вместо этого пользователь имеет дело с толстыми обёртками,
>> предоставляющими ограниченый доступ к этим объектам.
> Это проблема подхода в целом, или это проблема конкретных
> приложений?
Есть серьёзные основания считать, что подхода.
Не только из униксового опыта.
> 1. С Office-м идет и среда разработки (VB-редактор)
Что-то я не слышал, чтобы им сильно пользовались.
Можно увидеть вот это:

#!/usr/bin/awk -f
BEGIN { n=16; }
/^\f+/ && n != 16 { do { print ""; n++; } while (n<16); }
/^\f+/ { sub(/^\f+/,""); }
n == 16 { n=0; }
{ n++; print; }
на хвалёном VB?
> 2. если брать .Net, то средства разработки в определенном
> объеме уже включены в саму ОС.
"В определённом" --- это в каком?
В насколько определённом?
Быстро пример вызова интерпретатора языка обработки символьной информации.
Например, уровня awk-а.
И всё же, я не увидел ответ вот на это.
---
...Я работаю антинаучным аферистом...

Dasar

> Не совсем уловил, что здесь сложного? Я бы открыл текстовый файл с именами, и в начала строки добавлял бы одно-двух буквенные метки.
1. очень велика вероятность ошибиться.
2. все та же проблема с метасимволами (как быть если в имене уже есть enter, например).
3. пользователь должен помнить какие символы, что обозначают
4. компьютеру очень сложно тебе облегчить данный процесс, даже если он располагает какой-то частичной неточной информацией (например, комьютер может знать, что фамилии, которые оканчивают на ов - скорее всего русские).
5. если подряд идут 5-10-100 имен, которые принадлежат одной стране, тебе придется все равно 5-100 раз указывать один и тот же буквы префикса
6. компьютеру сложно тебе предложить дополнительную информацию (допустим ты увидел имена на редком языке, и хочешь свериться со справочником, или хочешь запросить какую-то доп. информацию по имени)
ps
при чем я даже не понял, чем твой способ - лучше обычного checkbox-листа.
у checkbox-а, конечно, все теже проблемы (а именно отсутствие развитых групповых операций но он хоть контролирует процесс.

Marinavo_0507

> а я смогу быстрым движением перейти из одного режима в другой?
> представить половину инфы в виде текста, половину в виде графика?
> ...
для этого нужны соответствующие прикладные инструменты
хороший инструмент такого плана сможет использовать готовые расчётные модули, и готовые визуализаторы
а что если нужно производить эксперимент на стенде для получения нужных данных, каждый раз
когда ты немного изменил ингредиенты, и в этом помогает какая-то другая программа?
если впоследствии задачу удасться автоматизировать лучше, например понять,
какие именно графики нужны, и как именно подбирать ингредиенты, можно будет оставить
те же самые модули в новой автоматической конструкции

Marinavo_0507

> 4. компьютеру очень сложно тебе облегчить данный процесс, даже если он располагает какой-то частичной неточной информацией (например, комьютер может > знать, что фамилии, которые оканчивают на ов - скорее всего русские).
Наоборот, очень легко.
> 5. если подряд идут 5-10-100 имен, которые принадлежат одной стране, тебе придется все равно 5-100 раз указывать один и тот же буквы префикса
Ничего подобного, хватит одного раза.
> 6. компьютеру сложно тебе предложить дополнительную информацию (допустим ты увидел имена на редком языке, и хочешь свериться со справочником, или
> хочешь запросить какую-то доп. информацию по имени)
Да нет, очень просто, если у справочника хороший интерфейс.

Dasar

> А с чего ты взял, что пользователь способен воспринимать большой
> объём разнородной информации?
потому что те же операторы работают с намного большим кол-вом данных на экране, чем ты.
и при этом мне кажется, что уровень интеллекта у них много ниже, чем у тебя.
с каким кол-вом экранов (окошечек, лампочек, тумблеров и т.д.) работает, например, оператор хим. предприятия?
с каким кол-вом экранов (окошечек, лампочек, тумблеров и т.д.) работает, например, водитель вертолета?
с каким кол-вом данных работает. например, биржевой игрок?
> Число Ингве никто ещё не отменял.
это число - только ориентир, но не верхний предел.
при чем акцент у этого числа делается на то, что с данным числом элементов человек может работать сознательно.
Замечу, что важной особенностью человека является то, что человек может быстро совершать качественные операции, например, заметить красную точку среди зеленых, при чем скорость обработки не зависит от того: количество точек: 5, 50 или 10 тысяч.

Marinavo_0507

> Замечу, что важной особенностью человека является то, что человек может быстро совершать качественные операции, например, заметить красную точку
> среди зеленых, при чем скорость обработки не зависит от того: количество точек: 5, 50 или 10 тысяч.
Однако мышой ты попадёшь уже не так быстро.
А если точек будет миллион, то совсем не быстро.
А если 10 миллионов, то не разглядишь нужную.

sergey_m

> 1. очень велика вероятность ошибиться.
А при таскании мышой нельзя ошибиться?
> 2. все та же проблема с метасимволами (как быть если в имене уже есть enter, например).
Он должен быть заескейпен в исходном файле.
> 3. пользователь должен помнить какие символы, что обозначают
Он придумывает их сам.
> 4. компьютеру очень сложно тебе облегчить данный процесс, даже если он располагает какой-то частичной неточной информацией
> (например, комьютер может знать, что фамилии, которые оканчивают на ов - скорее всего русские).
с помощью регулярного выражения эти имена метятся автоматически
> 5. если подряд идут 5-10-100 имен, которые принадлежат одной стране, тебе придется все равно 5-100 раз указывать один и тот же буквы префикса
В текстовом редакторе vi это можно сделать в одну команду длиной около 5 - 7 символов.
> 6. компьютеру сложно тебе предложить дополнительную информацию (допустим ты увидел имена на редком языке, и хочешь свериться
> со справочником, или хочешь запросить какую-то доп. информацию по имени)
Не сложно. В соседнем терминале я буду делать grep по справочнику.
при чем я даже не понял, чем твой способ - лучше обычного checkbox-листа.
у checkbox-а, конечно, все теже проблемы (а именно отсутствие развитых групповых операций но он хоть контролирует процесс.
Именно, что контролирует. А текстовый файл никто не контролирует. Я могу быстро рассортировать часть его, провести групповые операции над строками, и т.п.

sergey_m

с каким кол-вом экранов (окошечек, лампочек, тумблеров и т.д.) работает, например, оператор хим. предприятия?
с каким кол-вом экранов (окошечек, лампочек, тумблеров и т.д.) работает, например, водитель вертолета?
с каким кол-вом данных работает. например, биржевой игрок?
Ты просто привел примеры, где достаточно много информации представлено в виде графиков и круговых диаграмм. Никто не отрицает их существование.

Dasar

> для этого нужны соответствующие прикладные инструменты
> хороший инструмент такого плана сможет использовать готовые расчётные модули, и готовые визуализаторы
> а что если нужно производить эксперимент на стенде для получения нужных данных, каждый раз
> когда ты немного изменил ингредиенты, и в этом помогает какая-то другая программа?
на минимуту допустим, что мы живем в идеальном и у нас есть такие прикладные инструменты.
где здесь unix-way? и главное - зачем он здесь?
как в этом unix-way будет происходить обмен, например, мат. формулами? или хим. формулами?
или кусками расчетного кода?

Ivan8209

Боюсь, у них задачи немного не такие, как у меня.
Следить за появлением красных лампочек --- это одно,
а _постоянно_ следить за показаниями даже десятка приборов ---
совершенно другое дело.
Кроме того, что будет делать тот оператор, если у него
одновременно зажгутся двадцать этих лампочек?
Число Ингве --- это не ориентир, а именно предел.
Выход за него означает потерю управления.
Глупый вопрос: ты когда-нибудь какой-нибудь опыт ставил?
---
...Я работаю антинаучным аферистом...

Dasar

> Ничего подобного, хватит одного раза.
как?

Marinavo_0507

Ты что, текстовый редактор никогда не видел?
Нужно выделить блок, а потом вставить символы в начало (или ещё куда) каждой строчки.

Dasar

> Да нет, очень просто, если у справочника хороший интерфейс.
что значит хороший интерфейс?
Ps
допустим нам надо проверить орфографию, текст большой, несколько тысяч страниц.
все рутинные задачи мы автоматизировали, т.е. ввели в комьютер основные правила, задали им вес и т.д.
далее для каждой ошибки надо увидеть контекст (иногда достаточно одного слова, иногда нужно предложение, а иногда нам требуется и целый абзац, причем знание того, какая доп. информация нам нужна, появляется только тогда, когда мы видем конкретную ошибку).
так же нам нужно иногда переходить на описание правила - которые вызвало эту ошибку и т.д.
как это все будет делаться в терминале? через файлы? как будет совершаться вывод контекста? переход к правилу и т.д.?

Dasar

> Ты что, текстовый редактор никогда не видел?
согласен, торможу
только я не понимаю, чем это проще, чем выделить блок в checkbox list-е и нажать пробел.

Ivan8209

А как это делается под виндой?
Точно так же, только без (D)COM(+) и прочего "net."
Чисто для проверки, вы там научились сравнивать версии текстов?
---
...Я работаю антинаучным аферистом...

Marinavo_0507

> только я не понимаю, чем это проще, чем выделить блок в checkbox list-е и нажать пробел
нажав пробел, ты сможешь выполнить то, что захотел разработчик
выделив блок в редакторе, ты сможешь сделать то, что хочешь сам

Ivan8209

Тем, что checkbox вылетает на чуть более сложных задачах.
Если не на этой же, что случается, увы, чаще.
---
...Я работаю антинаучным аферистом...

Dasar

> Но он идеален для текста. Для писем, программ, отчетов...
последнее время, очень редко вижу голый текст, rich-текст на каждом шаге, а вот просто текст - очень редко попадается.
замечу, что rich-text - это как раз уже структурированная информация.
> Мне удобнее прочесть "Not enough space on device", чем вспоминать, что же означает светломалиновая
> лампочка. Думаю, я не один такой.
т.е. ты готов к тому, что редактируя текст, ты периодически получаешь Message Box с "Not enough space on device" - которое выплевывает mail-демон?
ps
где это текстовое сообщение все-таки появляется? на экране или в логе?

Dasar

> нажав пробел, ты сможешь выполнить то, что захотел разработчик
> выделив блок в редакторе, ты сможешь сделать то, что хочешь сам
если я сам (как пользователь) умею настраивать CheckBoxList, то проблема решена?

Dasar

> тем не менее, функция комплекса (единственная возможная, несмотря на представление
> в виде нескольких компонент) - проведение расчёта над моделью
> это неделимое действие с точки зрения какого-либо внешнего приложения
делимое, т.к. еще раз повторю, внутри данной функции я могу хотеть вызвать функцию другой программы, например, взятие интеграла, или расчет стоимости, или расчет прочности, или расчет результата хим. процесса.

Dasar

> Где возможность вызвать внешний редактор из всяких там IE?
вот, например: http://www.richercomponents.com/richtextbox/demos/0/
чем это неподключение внешнего редактора?
> Что такое "intellisence," я пока не понял. Переведи.
то что происходит, например, в терминале при наборе первых букв команды и нажатии tab-а.
> Быстро пример вызова интерпретатора языка обработки символьной информации.
> Например, уровня awk-а.
ты уверен, что он нужен?
если у меня есть структурированные данные, то я так сразу не могу назвать задач для которых требуется такой инструмент.

Dasar

> Тем, что checkbox вылетает на чуть более сложных задачах.
что значит вылетает?

Marinavo_0507

> делимое, т.к. еще раз повторю, внутри данной функции я могу хотеть вызвать функцию другой программы,
> например, взятие интеграла, или расчет стоимости, или расчет прочности, или расчет результата хим. процесса.
надеюсь, ты не собираешься предложить dcom, или soap?
тут только прямое ABI спасёт
это же высокопроизводительные вычисления

Dasar

> Чисто для проверки, вы там научились сравнивать версии текстов?
в рамках какой задачи?

Dasar

> ты не собираешься предложить dcom, или soap?
DCom или Soap - это один из каналов
бывают еще такие каналы: как прямой вызов, file mapped канал, бинарный канал и т.д.

sergey_m

последнее время, очень редко вижу голый текст, rich-текст на каждом шаге, а вот просто текст - очень редко попадается.
замечу, что rich-text - это как раз уже структурированная информация.
А я ни разу не видел эту штуковину. Целый день вижу обычные тексты.
т.е. ты готов к тому, что редактируя текст, ты периодически получаешь Message Box с "Not enough space on device" - которое выплевывает mail-демон?
Я обычно так не конфигурирую syslog, хотя в некоторых случаях так удобнее.
где это текстовое сообщение все-таки появляется? на экране или в логе?
Зависит от конкретной ситуации. Если от демона, то в логе. Если от программы, которую я только что запустил, то на экране.

Ivan8209

> http://www.richercomponents.com/richtextbox/demos/0/
Насколько широко он распространён?
Или это концептуальная модель?
Ты его используешь?
Насчёт intellisence.
Громкие слова не приводят к пониманию.
Сказал бы completion --- было бы понято.
Боюсь, your complete is less complete than mine.
Вопрос: ты когда-нибудь использовал что-то наподобие abbrev-mode
не в программистских целях?
А видел ли ты человека, использовавшего такое в
непрограммистских целях?
Да, уверен.
Потому что некоторые действия, если и выражаются в макросах,
основанных на выделении мышкой и тыканием в кнопки, то очень
плохо.
Для тебя приведена задача перевести четырёхстрочную программу на
awk-е на хвалёный VB, который есть WinWord.
Можешь рассказать, как провести такое преобразование текста с
помощью умной мыши.
А пока ответа на вопрос о средствах обработки символьных,
а не двоичных данных в винде --- нет.
И это неспроста.
Просто этих средств там нет.
---
...Я работаю антинаучным аферистом...

Ivan8209

Не справляется.
Из-за заложенных в него ограничений.
---
...Я работаю антинаучным аферистом...

Ivan8209

В рамках задачи сравнения двух примерно одинаковых текстов.
Чисто пользовательская, между прочим, задачка-то.
---
...Я работаю антинаучным аферистом...

Dasar

> Если от демона, то в логе
если от демона, но это сообщения важное?
как ты узнаешь, что в логе появились новые сообщения?

Ivan8209

Что значит "важное?"
Они там постоянно появляются, так что узнавать ничего особо не надо.
---
...Я работаю антинаучным аферистом...

sergey_m

> если от демона, но это сообщения важное?
Если настолько важное, что реагировать надо прямо сейчас, то мне приходит почта.

Dasar

> Насколько широко он распространён?
> Или это концептуальная модель?
> Ты его используешь?
на ZForum-е (http://z80.gz-net.ru/ZForum) он используется
в паре корпоративных тулов, которые мы используем, он есть
ps
в своих задачах пока не использую, т.к. знаю пару подводных камней именно у этой реализации.
> Вопрос: ты когда-нибудь использовал что-то наподобие abbrev-mode
> не в программистских целях?
Да, постоянно, например, в IE - для ввода тех же регистрационных данных
> А видел ли ты человека, использовавшего такое в непрограммистских целях?
опять же почти все пользователи этим пользуются в IE
> Для тебя приведена задача перевести четырёхстрочную программу на
> awk-е на хвалёный VB, который есть WinWord.
пример, который ты привел, не читаем без справочника. даже для меня, т.к. я не помню синтаксис регулярных выражений на память.

Dasar

> Если настолько важное, что реагировать надо прямо сейчас, то мне приходит почта.
как сообщается, что пришла почта? как сообщается, что пришла важная почта?
выскакивает MessageBox "пришла почта"?

Dasar

> Что значит "важное?"
винт, например, умер.

Dasar

> Можешь рассказать, как провести такое преобразование текста с
> помощью умной мыши.
скажи по-русски, что делает данный фрагмент awk-кода.

sergey_m

как сообщается, что пришла почта? как сообщается, что пришла важная почта?
Масса опций, можно реализовать всё что придет в голову. Графическое оповещение в углу экрана в том числе. Но мне это не нравится. Я просто время от времени смотрю на почтового клиента и смотрю в каких ящиках появилась почта.

myrka68

> как сообщается, что пришла почта? как сообщается, что пришла важная почта?
тут звук бывает весьма в тему

Ivan8209

Погоди, он используется на форуме?
Каким это образом?
Извини, это не решение исходной задачи --- подмена условия.
Пример, который я привёл почти не использует регулярных выражений.
Так что то, что ты его не понимаешь, говорит лишь о том, что ты,
вопреки создаваемому тобой мнению, не занимаешься обработкой
символьной информации, а скорее всего обрабатываешь
неструктурированную двоичную.
---
...Я работаю антинаучным аферистом...

Dasar

> Графическое оповещение в углу экрана в том числе
это Unix-way?

Ivan8209

Разбивает текст на страницы по 16 строк каждая.
---
...Я работаю антинаучным аферистом...

Dasar

> Погоди, он используется на форуме?
> Каким это образом?
вопрос не понял.
обычным, для редактирования сообщений.

Ivan8209

Прикинь --- да!

The biff command appeared in 4.0BSD. It was named after the dog of Heidi
Stettner. He died in August 1993, at 15.

---
...Я работаю антинаучным аферистом...

Ivan8209

Оно должно использоваться не где-то на форуме,
а на пользовательской машине.
Не только для одного выделенного форума.
И не только для форумов.
Поэтому приведённый пример отметается.
---
...Я работаю антинаучным аферистом...

sergey_m

> > Графическое оповещение в углу экрана в том числе
> это Unix-way?
Да! Дать возможность пользователю подвесить произвольный обработчик на событие - это unix way.

Dasar

> Разбивает текст на страницы по 16 строк каждая.

Text.SplitByPages(16);

или так:

<line[position%16=15]>
<xsl:copy/>
<page-br/>
</line>
<line>
<xsl:copy/>
</line>

myrka68

такое реально есть?
или это псевдо-язык? (может ещё блок-схемы порисуем? )

Ivan8209

А если FF заменить на что-нибудь другое,
твой код что на это скажет?
Кроме того, как ты борешься с выдачей излишних пустых страниц?
Там не зря плюсики после \f стоят.
---
...Я работаю антинаучным аферистом...

Marinavo_0507

> Text.SplitByPages(16);
Это если кто-то уже написал необходимую функцию.
> <line[position%16=15]>
> <xsl:copy/>
> <page-br/>
> </line>
> <line>
> <xsl:copy/>
> </line>
Это, если я правильно понял, если ты уже договорился с источником,
чтоб он выдавал данные в той схеме, которая тебе наиболее подходит.
В интерактивной работе с программами разных авторов такое редко бывает.

Dasar

> такое реально есть?
первый пример - абстрактный
т.к. опять же у пользователей нет задач выводить по 16 строк на страницу.
есть задачи выводить по 5 см текста, по 300 пикселей и т.д. на страницу
второй пример:
это xslt

Dasar

> Это, если я правильно понял, если ты уже договорился с источником,
> чтоб он выдавал данные в той схеме, которая тебе наиболее подходит.
> В интерактивной работе с программами разных авторов такое редко бывает.
но я же как-то договорился с источником, что для разделения строк - используется символ с кодом 13,
а разделение страниц - это еще какой-то символ.
в чем разница между этой договоренностью, и той договоренностью - которую я использую.
ps
как минимум - жизнь облегчает то, что источник редко меняет формат данных
причем для неструктурированного текста - я никогда не узнаю, что формат поменялся
чем страдает, например, большинство скриптов *nix-а.
при чем часто бывает, что поменялся не сам формат, а просто у источника появились такие данные на которых проявилась дополнительная особенность (например, параметр с пробелом вдруг оказался взятым в кавычки)

Dasar

> Да! Дать возможность пользователю подвесить произвольный обработчик на событие - это unix way
каким образом?
допустим я хочу, чтобы если grep нашел xx - то выполнился код a1, а если нашлось zz - то выполнился код b1 - как мне это сделать?

Marinavo_0507

> но я же как-то договорился с источником, что для разделения строк - используется символ с кодом 13,
> а разделение страниц - это еще какой-то символ.
Eсли в источнике используются другие символы, это можно исправить добавлением в скрипт ещё одной строчки
а если вдруг источник решил выдавать текст в виде донельзя структурированного хвалёного WordML, то обработать это
сможет только Word, так как формат сложный.
Unix way - используется наиболее простой формат, позволяющий решить задачу.
Microsoft way - используется формат, требующий специального приложения (чтоб больше народу это приложение купили).

myrka68

второй пример:
это xslt

да, не заметил
согласен, так можно, но не без примечания гадфазера

Ivan8209

"<page-br/>" --- это, кстати, непорядок.
Их не должно быть.
Страницы добиваются пустыми строками.
Читай исходник.
Итого: подмена условия.
Кроме того --- VB!
---
...Я работаю антинаучным аферистом...

Dasar

> Кроме того, как ты борешься с выдачей излишних пустых страниц?
> Там не зря плюсики после \f стоят.
могу просто твой код повторить:

<script>n=0;</script>
<template select="line[length(.)==0]"/>
<template select="line[n%16=15]">
<xsl:copy/>
<page-br/>
</template>
<template select="line">
<xsl:copy/>
</template>

FRider

Unix way - используется наиболее простой формат, позволяющий решить задачу.
Microsoft way - используется формат, требующий специального приложения (чтоб больше народу это приложение купили).
Тогда уж(для пользователя Unix way - используется наиболее простой формат, позволяющей решить задачу, но требующий человека_хорошо_рюхающего_никсы, сиречь программер/админ(чтобы больше платить админам).
Где разница?

Dasar

> Кроме того --- VB!
vb уже 4 года deprecated.

Ivan8209

Ты подменяешь условие дважды.
Во-первых, VB.
Потому что именно он заявлен входящим в поставку WinWord.
Во-вторых, на выходе должен получаться точно такой же plain
text, но побитый добавлением пустых строк на страницы без
разделителя между последними.
Чисто настоящая пользовательская задача.
Хотя и относительно продвинутого уровня.
Могу пояснить, почему должен получаться plain text.
Второй ступенью будет это:

dd conv=block cbs=64

Но если хочешь, можешь объединить обе ступени в программу на VB.
---
...Я работаю антинаучным аферистом...

Ivan8209

Не знаю, не я заявлял о средствах разработки, и тем более --- VB.
Тебя никто за язык не тянул.
---
"Бди!"
Козьма Прутков.

Dasar

> Чисто настоящая пользовательская задача.
зачем все это пользователю?
даже я (как advanced пользователь) такое ни разу не делал, и даже не ощущал потребности.

Marinavo_0507

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

Ivan8209

Если ты не делал подобного, это ещё не означает, что оно ненужно.
---
"Narrowness of experience leads to narrowness of imagination."
Rob Pike

Dasar

> Если ты не делал подобного, это ещё не означает, что оно ненужно.
вопрос был, зачем ты это делаешь? что ты этим хочешь добиться в итоге?
может удобнее это все делать неким готовым инструментом?

Ivan8209

Ты знаешь готовый инструмент привести текст к блочному виду 16х64?
Расскажи, откуда.
Кроме того, встречаются и другие задачи по обработке текста,
которые очень просто решаются на awk или sed.
Текст, разумеется, обычный.
Потому что пользователю-не-виндопрограммисту в голову не придёт
читать многотомные труды по XML, XSL и ещё чему-то такому же XL.
Прочитать короткую справку по awk или sed значительно проще.
---
...Я работаю антинаучным аферистом...

Dasar

> Ты знаешь готовый инструмент привести текст к блочному виду 16х64?
я до сих пор не вижу задачи, стоящей перед пользователем.
даже не вижу класса задач.
я не понимаю зачем это надо пользователю.
соответственно поэтому не могу предложить средств, подходящих для решения задачи

Ivan8209

Задача состоит в том, чтобы привести текст,
разбитый на страницы по-старинке, к блочному виду.
Совершенно частная задача.
Из тех, что порой возникают перед пользователями.
---
...Я работаю антинаучным аферистом...

Chupa

>> тем не менее, функция комплекса (единственная возможная, несмотря на представление
>> в виде нескольких компонент) - проведение расчёта над моделью
>> это неделимое действие с точки зрения какого-либо внешнего приложения
>
> делимое, т.к. еще раз повторю, внутри данной функции я могу хотеть вызвать
> функцию другой программы, например, взятие интеграла, или расчет стоимости,
> или расчет прочности, или расчет результата хим. процесса.
эти операции будут или предшествовать расчёту или следовать за ним
ещё можно модифицировать сам алгоритм, но это не "функция другой программы"
существуют ли реальные системы подобного класса, основанные на "новых технологиях",
которые удовлетворяют твоим "я могу хотеть"?
как они работают и где используются?
кстати, ты не забыл, о чём речь?
совсем не о твоём "я хочу", а об архитектуре реального промышленного приложения,
существование, которых ты безосновательно отрицал

Dasar

> ещё можно модифицировать сам алгоритм, но это не "функция другой программы"
почему?
> существуют ли реальные системы подобного класса, основанные на "новых технологиях",
> которые удовлетворяют твоим "я могу хотеть"?
любое приложение, которое поддерживает VBScript или JavaScript, например, банальный IE
> как они работают и где используются?
поддерживают, или COm, или .Net - соответственно эти технологии позволяют прозрачно вызвать функции другого приложения.
из "старых" (которые используют COM) - это, например, почти все продукты SCADA, ERP, даже 1С скорее всего (если, конечно, там особо на уши не вставали).
из "новых" (.net) - только MSSQL 2005 щупал, про последний Автокад ходят слухи, что поддерживает, у остальных пока, в основном, в стадии разработки.
> совсем не о твоём "я хочу", а об архитектуре реального промышленного приложения,
> существование, которых ты безосновательно отрицал
я отрицаю, что это классический unix-way, т.к. нет главного - нет прозрачной возможности связать два приложения.

Marinavo_0507

> любое приложение, которое поддерживает VBScript или JavaScript, например, банальный IE
с каких пор IE у нас занимается высокопроизводительными вычислениями?

Dasar

> с каких пор IE у нас занимается высокопроизводительными вычислениями?
его очень часто используют для визуализации "результатов высокопроизводительных вычислений", причем часто как раз в интерактивном режиме.

Marinavo_0507

> его очень часто используют для визуализации "результатов высокопроизводительных вычислений",
> причем часто как раз в интерактивном режиме.
как подключить визуализатор, тебе уже объяснили
ты хотел, чтобы HPC-ядро связывалась с другой программой во время расчёта, прозрачно меняя алгоритм вычислений
тебе ответили, что это непросто, и "новые технологии" в этом не помогают
контрпримера не нашлось
слив засчитан (с)

Dasar

> контрпримера не нашлось
не понял, я целых класс программ привел, в которых такое используется.

Chupa

>> ещё можно модифицировать сам алгоритм, но это не "функция другой программы"
> почему?
алгоритм - численное решение дифференциального уравнения с помощью разностной схемы
сетка большая, итераций много, внутреннее представление данных своё
(иначе ничего полезного просто не посчитать, а так можно, например, модель самолёта не строить
и аэродинамическую трубу не напрягать)
>> существуют ли реальные системы подобного класса, основанные на "новых технологиях",
>> которые удовлетворяют твоим "я могу хотеть"?
> любое приложение, которое поддерживает VBScript или JavaScript, например, банальный IE
>> как они работают и где используются?
> поддерживают, или COm, или .Net - соответственно эти технологии позволяют прозрачно вызвать функции другого приложения.
под "подобным классом" я имел ввиду промышленную CAE систему
> из "старых" (которые используют COM) - это, например, почти все продукты SCADA, ERP,
> даже 1С скорее всего (если, конечно, там особо на уши не вставали).
> из "новых" (.net) - только MSSQL 2005 щупал, про последний Автокад ходят слухи,
> что поддерживает, у остальных пока, в основном, в стадии разработки.
>> совсем не о твоём "я хочу", а об архитектуре реального промышленного приложения,
>> существование, которых ты безосновательно отрицал
>
> я отрицаю, что это классический unix-way, т.к. нет главного - нет прозрачной возможности связать два приложения.
есть такая возможность, только ты не там её ищешь
можно автоматизировать процесс расчёта классическим unix-way способом,
подсовывая модели на вход и получая результат на выходе,
подбирая параметры этой модели скриптом
gnuplot, с помощью которого я картики в диплом генерил, снаружи выглядит почти так же,
только форматы данных более распространённые и работает быстрее
или он тоже не "классический unix-way"?

Marinavo_0507

> не понял, я целых класс программ привел, в которых такое используется
все они ни разу не HPC
ну бля, неужели это нормально, что разработчик может настолько не понимать в смежных областях
понятно, что это виндовый разработчик, но не до такой же степени
то у него в системном программировании никаких интересных задач не осталось
а теперь для HPC предлагает JavaScript
это ж ни в каких кошмарах не приснится, а в нашем форуме - пожалуйста

FRider

а теперь для HPC предлагает JavaScript
Где это тут было?
Вроде речь шла о визуализации и управлении ходом работы...
И, кстати, интересный эпитет - "виндовый разработчик"... Типа так с пренебрежением?
Заметьте, никто не наезжает вроде как на сам Никс, критикуется устаревшая концепция, которой многие почему-то следуют...
Все старье - на свалку!

Marinavo_0507

> Где это тут было?
Darkgray предлагал модифицировать расчётный алгоритм с помощью VBScript или JavaScript, под тем предлогом, что так делает IE.
> И, кстати, интересный эпитет - "виндовый разработчик"... Типа так с пренебрежением?
Среди моих знакомых, умеющих немного программировать под *nix, я такого не встречал.

Ivan8209

Сколько лет колесу?
---
...Я работаю антинаучным аферистом...

FRider

Колесо может быть от телеги доисторической, а может и от современной тачки.
Кстати есть еще и другие системы передачи.
Базовые идеи не устаревают... А вот их тех. воплощение - ДОЛЖНО развиваться.
Базововая идея - это идея взаимодейсвтвия программ. Ваш т.н. юникс - вей - всего лишь воплощение. Не плохое, но на текущий момент морально устаревшее.

FRider

Darkgray предлагал модифицировать расчётный алгоритм с помощью VBScript или JavaScript, под тем предлогом, что так делает IE.
Тогда я не понял слова "модифицировать".
Я понял это именно как модификация алгоритма в смысле использования в нем(сцепки) различных готовых модулей. А сами то расчеты будут выполнять уже готовые оптимизированные модули .

Marinavo_0507

> Я понял это именно как модификация алгоритма в смысле использования в нем(сцепки) различных готовых модулей.
Ну да. Добавить в механическую задачу химические реакции, которые умеет рассчитывать химический пакет.
Хорошая сцепка.
С прослойкой на JavaScript.

FRider

Как ТЫ представляешь сцепку о которой говоришь?

Marinavo_0507

> Как ТЫ представляешь сцепку о которой говоришь?
Есть одно уравнение с частными производными, описывающее механику.
И есть другое, описывающее химию.
Сажаешь математика, который выводит уравнения, описывающие всё сразу.
Если результат отнесётся к тому классу, что умеет считать готовый пакет, то повезло, можно считать.
Если нельзя, придётся разрабатывать и реализовывать новый алгоритм.
Вызывать миллиард раз код на JavaScript, извините, не дело.

Ivan8209

Неужели в VMS не было сообщения между программами?
А в TOPS?
А в RSX? RSTS? RT?
Может, ITS тоже всего лишь приснилась?
По поводу свалки, кстати.
Расскажи, что делают следующие файлы:

19.06.2003 12:05 23 824 at.exe
23.03.2000 03:00 10 512 finger.exe
19.06.2003 12:05 42 256 FTP.EXE
23.03.2000 03:00 6 928 lpq.exe
23.03.2000 03:00 9 488 lpr.exe
23.03.2000 03:00 44 816 pax.exe
23.03.2000 03:00 21 776 rcp.exe
23.03.2000 03:00 13 584 rexec.exe
19.06.2003 12:05 14 608 rsh.exe
19.06.2003 12:05 18 704 sendmail.dll
19.06.2003 12:05 81 168 telnet.exe
23.03.2000 03:00 862 termcap
19.06.2003 12:05 17 680 tftp.exe

Особенно мне любопытен идущий предпоследним в списке файл с
загадочным названием "termcap". С непонятным содержимым:

sx|ansi|any ansi terminal with pessimistic assumptions:\
:colicl=50\E[;H\E[2J:\
:bs:am:cm=\E[%i%d;%dH:nd=\E[C:up=\E[A:\
:ce=\E[K:ho=\E[H:pt:
d0|vt100|vt-100|vt100-am|dec-vt100|dec vt100:\
:cr=^M:do=^J:nl=^J:bl=^G:colicl=50\E[;H\E[2J:\
:le=^H:bs:am:cm=5\E[%i%d;%dH:nd=2\E[C:up=2\E[A:\
:ce=3\E[K:cd=50\E[J:so=2\E[7m:se=2\E[m:us=2\E[4m:ue=2\E[m:\
:md=2\E[1m:mr=2\E[7m:mb=2\E[5m:me=2\E[m:is=\E[1;24r\E[24;1H:\
:rf=/usr/lib/tabset/vt100:\
:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:ks=\E[?1h\E=:ke=\E[?1l\E>:\
:ku=\EOA:kd=\EOB:kr=\EOC:kl=\EOD:kb=^H:\
:ho=\E[H:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:ta=^I:pt:sr=5\EM:vtxn:\
:sc=\E7:rc=\E8:cs=\E[%i%d;%dr:
dw|vt52|dec vt52:\
:cr=^M:do=^J:nl=^J:bl=^G:\
:le=^H:bs:cd=\EJ:ce=\EK:cl=\EH\EJ:cm=\EY%+ %+ :colind=\EC:\
:ta=^I:pt:sr=\EI:up=\EA:ku=\EA:kd=\EB:kr=\EC:kl=\ED:kb=^H:

Тамошний uname говорит вот что:

Microsoft Windows 2000 [Версия 5.00.2195]

---
...Я работаю антинаучным аферистом...

FRider

Ха, но вот тут то ком нас и спасает - если оба пакета его поддерживают(или лучше .нет то пишем как раз,к примеру, на С#, и все ок.

FRider

И кому они нужны?
Кроме telneta ничем не пользовался
Ему пока нет достойной замены, да и то для отладки сетевых сервисов зачастую приходится писать свои тестовые утилиты...

sever7777

>И кому они нужны?
зря спросил. ща Контра список запостит

FRider

Интересно будет почитать список ретроградов и консерваторов

Marinavo_0507

> Ха, но вот тут то ком нас и спасает - если оба пакета его поддерживают(или лучше .нет то пишем как раз,к примеру, на С#, и все ок
Примеры HPC-пакетов, использующих эти технологии для предоставления возможности интеграции между собой, в студию.
стал говорить пор IE, не заметив слово HPC.
А ты что скажешь?

sever7777

>HPC
what is, кстати?

Marinavo_0507

High Performance Computing

sever7777

Мат. пакеты покатят? Если да, то Mathematica 5.0 поддерживает .net

FRider

MaPack for COM пойдет?

Marinavo_0507

> Мат. пакеты покатят?
Думаю, нет.
Это ж символьные вычисления преимущественно.
Разве кто-то использует это для численных методов, для задач, которые нужно считать на кластерах много дней?

FRider

Matlab - не символьные вычисления.
Весь апи с 7ой версии доступен через ActiveX

Marinavo_0507

Ну и что из этого - промышленные CAE-системы, примеры которых просили?
Так, библиотеки численных методов.

FRider

Pro/Engineer + Automation Gateway
почитать можно здесь

Ivan8209

Вот и я спрашиваю тебя:
кому нужна ОС, в которой до сих пор вместо ssh используется rsh?
Не пора ли её того?
На свалку истории.
---
...Я работаю антинаучным аферистом...

sever7777

если я ничего не пропустил, он у тебя спросил "кем именно используется"?

sergey_m

> допустим я хочу, чтобы если grep нашел xx - то выполнился код a1, а если нашлось zz - то выполнился код b1 - как мне это сделать?
Уроки шелл програмирования платные.

Chupa

Pro/Engineer - CAD

sergey_m

> vb уже 4 года deprecated.
Вот недавно ты жаловался, что unix way страдает от того, что может поменяться формат вывода программы стоящей выше по конвейеру. Пользователю придется подправить скрипт. Бывает. Но ведь в вашем windows мире технологии устаревают быстрее, чем в unix меняются форматы вывода программ.

Ivan8209

Почему нет ссылки на man?
man awk
---
...Я работаю антинаучным аферистом...

sergey_m

зачем все это пользователю?
даже я (как advanced пользователь) такое ни разу не делал, и даже не ощущал потребности.
Ощущал потребность отсортировать имена по странам?

Dasar

> теперь для HPC предлагает JavaScript
1. пока не запосченно точное определение что-такое HPC, то каждый понимает этот термин в меру своей испорченности.
На мой взгляд, к HPC, с определенными оговорками, можно отнести и АСУТП, и ERP, и СУБД, и бухгалтерию.
2. почему на твой взгляд невозможна эффективная компиляция JavaScript-а?

FRider

Не, ну чувак... ты меня просто смешишь.
Я ни разу не пользовался rsh, даже не знал что это такое до сегодняшнего дня. Зато каждый день пользуюсь Remote Desktop.
И узнал о том что есть этот самый rsh от тебя.
Имхо эти утилиты deprecated, но оставленны для совместимости(скоро выкинут)
Специально для консерваторов. Видишь, какой дядя Билли добрый

Marinavo_0507

Ок, читаем:
Automation GATEWAY allows Pro/ENGINEER to directly integrate with other applications, such as with the Microsoft Office suite (Word, Excel, Access, Internet Explorer, and Visual Basic® SQL server so that you can customize your Pro/ENGINEER environment to your own needs.
Оно это делает прямо во время расчётов?
Именно это хотел .
Кстати, я там вообще ничего про расчёты не нашёл, только моделирование.
Посмотрим на всякий случай Product Features.
File management
* Retrieve, Rename, Copy
* Generation of deliverables such as IGES, STEP, DXF, plot files, etc.
* Access to Pro/INTRALINK (workspace and checkout)
Какие-то функции для работы с файлами.
UNIX: используются команды mv, cp; для преобразования форматов используются фильтры.
Dimensions and parameters
* Create or modify dimensions and parameters
* Prompt for parameters values
* Read values from a file
* Create model relations
User interface customization
* Menu customization (top only)
* Dialog box customization
* Interactive selection
Core modeling (access to geometry)
* Suppress, resume, interchange features and components
* Geometry traversal
* Family table creation or modification
* Placement of UDFs
* Delete features
* Feature creation or redefinition
* Ability to manipulate assemblies
Model appearance
* Layer operations
* Simplified rep operations (retrieve and activate)
Всё это во время моделирования, про расчёты не слова.
Examples of applications - интересно, посмотрим.
Automate a Pro/ENGINEER session from a Visual Basic program
StarCD - принимает команды из скрипта.
Use Internet Explorer to configure Pro/ENGINEER models
Не понятно, работает ли конфигурялся client-side или server-side.
Ничего сверхъестественного, за исключением того, зачем может быть нужна client-side конфигурялка в браузере.
Как это помогает автоматизации?
Send values from Excel spreadsheets directly to Pro/ENGINEER dimensions or parameters
Отлично, берём таблицу, вставляем скриптом в описание модели.
Use Microsoft Word as a data input screen to Pro/PROGRAM™ or Pro/NOTEBOOK™
Это я не понял, что такое и зачем нужно.
Create custom interfaces to Pro/ENGINEER that allow non-Pro/ENGINEER users to configure and generate models and documents.
Отлично, пользователи StarCD тоже могут использовать любой интерфейс для генерации моделей.
# Create Pro/ENGINEER design utilities in Visual Basic.
# Use Excel, Access, SQLServer, or Oracle to store Family Table Data.
# Retrieve parameter information directly from Pro/ENGINEER models into MS Office applications for calculations.
Аналогично.
Резюмируем.
Специальный продукт, предоставляющий возможности, которые в unix way есть нечто само собой разумеющееся.
Ни намёка о взаимодействии с другими программами во время расчёта.
Я что-то не понимаю, вы стебётесь что-ли, выбирая примеры, ничуть не похожие на то, что требуется?

Marinavo_0507

> На мой взгляд, к HPC, с определенными оговорками, можно отнести и АСУТП, и ERP, и СУБД, и бухгалтерию.
HPC - то, что стоит на пределе возможности современных систем в смысле производительности вычислений
задачи, которые недавно ещё нельзя было посчитать, а сейчас считаются в течении долгого времени на
суперкомпьютерах и высокопроизводительных кластерах
покажешь такое с .Net? или с JavaScript?
просил CAE.
покажешь такое?
> почему на твой взгляд невозможна эффективная компиляция JavaScript-а?
может быть и возможна
примеры пакетов, которые её используют, где?

Ivan8209

termcap тоже появился в W2K для совместимости?
Причём с описанием VT52 и VT100.
В более ранних произведениях БГ его не было.
Ладно, завтра будут данные по W2K3.
Чисто для проверки.
Или, гляньте кто-нибудь, у кого под рукой всякие XP и 2003:

c:
cd \
dir /s/b termcap
Ну, или на каком у вас разделе оно водится.
---
...Я работаю антинаучным аферистом...

FRider

Извини, если, что.
Но, имхо, тут только ты и понимаешь, "что требутся"

sergey_m

> Все старье - на свалку!
Вместо того, что бы парировать этот лозунг по второму разу, порекомендую почитать длинный тред под названием *Скрипт для переименования файлов в винде". Там этот вопрос поднимался.

Marinavo_0507

Требуется показать пример, где "новые технологии" безусловно рулят.
Уже несколько дней ищут, что только ни пытались изобрести

Dasar

посмотри, например, LabView - он сейчас поддерживает и .Net, и .Com

FRider

Его ненадо парировать.
Технологии БУДУТ развиваться. Прогресс неизбежен. Его не остановить

Marinavo_0507

> посмотри, например, LabView - он сейчас поддерживает и .Net, и .Com
это пример чего?
на сайте сказано, что это development environment для некоторых специальных приложений
как это вообще относится к нашему разговору?

Ivan8209

Ты не ответил, почему в ходе неизбежного прогресса в виндах
появились termcap, etc/hosts и прочие радости в виде rsh?
Почему появился именно rsh, хотя уже давно его считают
deprecated, а не ssh?
---
...Я работаю антинаучным аферистом...

FRider

Я же сказал, я ничего про тот же rsh не знал до сегодня.
Зачем ssh, если есть rdp? Который появился в ходе неизбежного прогресса и очевидных неудобств командной строки, предоставляемой ssh.

bobby

c:\WINDOWS\system32\termcap
862 байта, если кому интересно.
Win2003

Marinavo_0507

> если есть rdp
который повторил те же идеи дизайна X11, которые были злобно раскритикованы ещё в UNIX Haters' Guide?
ты его читал, кстати? там весело, особенно весело смотреть, как MS планомерно наступает на те же грабли

Dasar

> это пример чего?
лабораторная система, т.е. фактически - это система позиционируется, как программная замена аппаратным приборам.
такие системы требовательны к производительности, т.к. часто требуется сложная (и с очень высоким периодом) обработка входных сигналов.

bobby

расскажи подробнее, пожалуйста, можно даже в приват.
интересно просто, для общего развития.
ну или ссылку дай, но не только на guide, а и на RDP в сравнении с X11.

Ivan8209

Ты русский язык не понимаешь?
Почему в прогрессивной, по сравнению с 98, 2000-й появился rsh, а не ssh?

FreeBSD 5.3 June 6, 1993 FreeBSD 5.3
~~~~
Подчёркивание моё.
А termcap?
---
...Я работаю антинаучным аферистом...

sergey_m

Зачем ssh, если есть rdp? Который появился в ходе неизбежного прогресса и очевидных неудобств командной строки, предоставляемой ssh.
1. Есть медленные соединения, например модем, через который я сейчас сижу. И успешно пользуюсь несколькими ssh сессиями одноврменно.
2. Скриптинг. Я могу написать ssh host command. Как это сделать с помощью rdp?
3. Я могу написать ssh host dump /home > host.home.backup. Как это сделать с помощью rdp?
А также фишки, которые ничто не мешает реализовать в rdp, но их там нет:
1. OTP
2. ssh-agent
3. ключи, смарт-карты
4. port-forwarding и локальный socks как его расширение
5. sftp, scp

FRider

Не читал.
Личные впечатления от использования RDP:
Использую более года очень интенсивно.
Работа - Личный комп.
Комп дома у родителей - личный комп.
Охуенно удобно. Ничего не знаю ни про какие грабли.
Не надо еще вот про него спорить.

Ivan8209

И что

23.03.2000 03:00 862 termcap
Точно такой же, сделанный 23-го марта 2000-го?
С описанием какого-то недоделка, VT52 и VT100?
Прогресс налицо.
---
...Я работаю антинаучным аферистом...

Marinavo_0507

> т.к. часто требуется сложная (и с очень высоким периодом) обработка входных сигналов
а есть примеры microsoft-way-приложений, написанных на labview и реально
типа "мы можем обрабатываить 100000 сигналов в секунду, вызывая для каждого вордовый спеллчекер через COM,
с визуализацией в IE в реальном времени (обновление диаграммы при каждом сигнале?)"
так не бывает, вот что я скажу
когда речь идёт о предельной скорости, компонентный подход в пролёте
FreeBSD умеет при некоторых условиях маршрутизировать миллион пакетов в секунду
спроси у разработчиков, сколько доступов в память и сколько транзакций на PCI-X приходится на каждый пакет?
я думаю, они смогут довольно точную оценку сказать сразу
потому что это всего лишь несколько тысяч тактов процессора на пакет, а каждый L2-cache miss обходится в несколько сотен тактов
то, что средства предоставляются, ещё не означает, что их можно реально использовать
кто бы смог сейчас продать DE для Windows без поддержки .Net?

Dasar

> Почему появился именно rsh, хотя уже давно его считают
> deprecated, а не ssh?
ты уверен, что rsh до этого в Windows-е не было?

bobby

25.03.2003  23:00               862 termcap
содержание то же самое
Microsoft Windows [Version 5.2.3790]

Marinavo_0507

> Личные впечатления от использования RDP
Всё это доступно на unix уже много лет (20 пожалуй или около того).

FRider

2. Скриптинг. Я могу написать ssh host command. Как это сделать с помощью rdp?
Если надо удаленно выполнить скрипт, то:
- если надо сделать единожды, проще законнектиться на хост и сделать все по-человечески, а не скриптом
- если постоянно надо выполнять какую-то задачу, а команды к выполнению давать удаленно, то пишем xml web service, и можем отдавать команды хоть ручками, хоть программой. Более того, клиент столь прост, что мы можем отдавать команды с любой системы, а не только с той, на которой установлен ssh-клиент (например, с PDA)

Ivan8209

Глеб, ты не забывай, что с точки зрения виндового программиста,
ты должен открыть в RDP-сессии cmd. Потом скормить туда такое:

copy con uudecode.exe
MZ ля-ля-ля
^Z
Потом запустить полученный uudecode, и тем же путём скормить ему
то, что надо.
Продвинутые униксоиды, конечно же, вспомнят про debug,
который там ещё валяется.
Хотя тоже, наверное, deprecated.
---
...Я работаю антинаучным аферистом...

Julie16

FreeBSD умеет при некоторых условиях маршрутизировать миллион пакетов в секунду
Это правда? Мне что-то не верится... Если пакеты пустые, еще может быть. Иначе пропускной способности памяти не хватит.

Ivan8209

А если одноразово?
Как это сделать одноразово по расписанию?
Положим, в три часа ночи?
Вставать и идти к машине?
---
...Я работаю антинаучным аферистом...

Marinavo_0507

Ну не пустые.
64 байта наверное или около того.
Естественно, не 1500 байт, иначе и в 10GbE не влезет.
За ссылкой - в поиск или к Глебу.
Пиковая производительность PC-роутеров на хорошем современном железе в реальных условиях - несколько сотен kpps.
У нашего феникса - около 20kpps в среднем, до 50kpps в пиках, ограничения - в потребности пользователей,
запас производительности без тюнинга - где-то 3-4 раза, по моим оценкам.

bobby

ну, кстати, работа современных приложений под Windows через RDP жрет куда как меньше трафика, нежели работа с удаленными X11-клиентами (современными приложениями, намекаю на использование GTK/QT, или чего-то похожего).
Мне приходится работать и с тем, и с другим постоянно, возможно, я что-то делаю не так, но мне кажется, что во втором случае принципиально положено наличие тормозов - т.к. на сервер передаются битмапы окон, элементов управления и т.п. целиком (типа плата за использование стилей GTK/QT в то время как в первом случае (при отлюченных Themes в винде) этого происходить не должно.
Тем не менее, я признаю, что концептуально ничего в RDP нет нового.

FRider

к сведению некоторых - debug, действительно морально устарел. Ибо он 16 битный.
Ты очень плохо относишься к юниксоидам, если они должны его вспоминать
И плз, не надо писать хуйню, типа:copy con uudecode.exe
MZ ля-ля-ля
^Z
Ну это не серьезно же.
Для коприования файлов с помощью RDP - есть мап локальных дисков на удаленную мащину.
Насчет смарт карточек - я не знаю, не видел использования этого в rdp.
Но и под ssh я этого не видел и не юзал, так тчо говорить не буду.
Если это реально надо, значит МС это сделает.

Helga87

Можно спросить?
Что такое одноразово по расписанию?

Marinavo_0507

> Если это реально надо, значит МС это сделает.
Вот тут и проходит различие.
Пользователи MS ждут милости от дяди Билла.
Пользователи *nix решают свои задачи по мере возникновения.

sergey_m

- если надо сделать единожды, проще законнектиться на хост и сделать все по-человечески, а не скриптом
Однажды я работал в таком месте, где мне часто приходилось выполнять одну и ту же команду на 20 - 30 серверах, Как ты понимаешь, я не набирал её 20 - 30 раз, и тем более не набирал столько раз пароль. Как такая задача решается с помощью RDP?
- если постоянно надо выполнять какую-то задачу, а команды к выполнению давать удаленно, то пишем xml web service, и можем отдавать команды хоть ручками, хоть программой. Более того, клиент столь прост, что мы можем отдавать команды с любой системы, а не только с той, на которой установлен ssh-клиент (например, с PDA)
xml web service? Что это? Я должен запустить на сервер web сервер для этого?

FRider

Да, еще о модемах.
Из дома я сижу, естественно по модему.
Надо сказать, что дома канал сверхмедленный. Средняя скорость скачки файлов с инета 1кб(!)
Так вот, сидел по рдп.
Там настройки есть, если что. Можно опустить разрешение и цветность

sergey_m

Это правда? Мне что-то не верится... Если пакеты пустые, еще может быть. Иначе пропускной способности памяти не хватит.
Не маршрутизировать, а бриджить. Пакеты конечно мелкие, т.к. это тест системы, а не шины PCI.

Ivan8209

Чего ж его тогда держат-то там?
Раз устарел?
Прогресс опять же тормозят.
Отображение локальных дисков --- это замечательно.
Какие у них будут имена?
Кстати, а как удалённо напечатать что-нибудь на локальном принтере?
У нас это делается так:

ssh there 'cat ~/my-file.ps | gzip -9' | gunzip | lpr

Справишься с задачей без установки дополнительного ПО?
---
...Я работаю антинаучным аферистом...

Marinavo_0507

> Не маршрутизировать, а бриджить.
Да ну?
Там было слово fastroute.
Это на самом деле означало fastbridge?

FRider

Пользователи не могут решать свои задачи скриптами. Они их, в большинстве своем, не знают. Для ПОЛЬЗОВАТЕЛЕЙ нужен грамотный уи.

bobby

> Для ПОЛЬЗОВАТЕЛЕЙ нужен грамотный уи.
Это очень спорный вопрос, который "проходит красной полосой" через весь тред =)

sergey_m

Для коприования файлов с помощью RDP - есть мап локальных дисков на удаленную мащину.
То есть RDP этого не может. Требуется еще один сервис, работающий по другому протоколу/порту, использующий отдельную аутентификацию. А уж если вспомнить про дырявость этого сервиса.
Насчет смарт карточек - я не знаю, не видел использования этого в rdp.
Всё остальное перечисленное есть в rdp?

Dasar

> Как такая задача решается с помощью RDP?
в целом она решается без rdp
залить файл, добавить правило в scheduler - и то, и другое можно сделать программно.

sergey_m

Надо сказать, что дома канал сверхмедленный. Средняя скорость скачки файлов с инета 1кб(!)
Так вот, сидел по рдп.
Давай еще скажи в пылу спора, что это было комфортно
В случае ssh - вполне.

Marinavo_0507

> То есть RDP этого не может.
Я думаю, там через то же соединение мультиплексируется.
По крайней мере так было в Citrix, продукты которого всё равно все используют, если реально хотят terminal service на виндах.

FRider

Чего ж его тогда держат-то там?
Раз устарел?
Прогресс опять же тормозят.
Отображение локальных дисков --- это замечательно.
Какие у них будут имена?
Кстати, а как удалённо напечатать что-нибудь на локальном принтере?
У нас это делается так:
code:--------------------------------------------------------------------------------
ssh there 'cat ~/my-file.ps | gzip -9' | gunzip | lpr
--------------------------------------------------------------------------------
Справишься с задачей без установки дополнительного ПО?
Дискам автоматически назначатся буквы. Они будут отображены в проводнике.
Если не понравятся буковки, то переобозначь.
Принтера тоже мапятся. Кстати, сможешь ли ты "своим способом" распечатать док?

sergey_m

> залить файл, добавить правило в scheduler - и то, и другое можно сделать программно.
Ты предлагаешь программировать для того, что бы залить файл, добавить правило в scheduler?

sergey_m

Да ну?
Там было слово fastroute.
Это на самом деле означало fastbridge?
Или иы про разные ссылки, или я перепутал, что вполне допустимо. Главное, что там был не полноценный роутинг.

FRider

Некомфортно.
Но поверь, под ссш сидеть в MSVS не то чтобы совсем некомфортно, а невозможно.

Ivan8209

Geek, отстань от человека.
Пусть лучше про печать ответит.
Самые лучшие фаерволы под винду --- это iptables и ipfw.
---
...Я работаю антинаучным аферистом...

sergey_m

> Но поверь, под ссш сидеть в MSVS не то чтобы совсем некомфортно, а невозможно.
Вот видишь какой ацтой MSVS.

Dasar

> Ты предлагаешь программировать для того, что бы залить файл, добавить правило в scheduler?
если это надо сделать для 30 машин, то да проще написать скрипт,
если для одной - то можно это сделать руками.

FRider

Про печать уже ответил:
Принтера тоже мапятся

sergey_m

если это надо сделать для 30 машин, то да проще написать скрипт,
если для одной - то можно это сделать руками.
Можно ли назвать скриптом строчку, которая набирается не задумываясь в шелле в одну строку?
И я так не получил ответ про то, как залить файл с помощью RDP.

Ivan8209

В своё время я телнетился из-под KA9Q NOS на удалённую машину,
с неё забирал исходники, собирал это дело под Watcom-ом и
пускал.
Получается, что ДОС уделал прогрессивную винду.
---
...Я работаю антинаучным аферистом...

Dasar

> И я так не получил ответ про то, как залить файл с помощью RDP.
а зачем?

Ivan8209

А вот это чистой воды враньё.
Без доустановки ПО, причём стороннего производителя, нифига не отображаются.
---
...Я работаю антинаучным аферистом...

sergey_m

> > И я так не получил ответ про то, как залить файл с помощью RDP.
> а зачем?
В мире виндовз такая задача не встает?

sever7777

>Вот видишь какой ацтой MSVS
"/me записывает в блокнотик"

FRider

Файерволл стоит?
А мб у тебя порт нужный закрыт?
У меня все отлично мапится без всякого СТОРОННЕГО софта.

sever7777

>Файерволл стоит?
сразу два, как я понял. iptables и ipfw

Dasar

> В мире виндовз такая задача не встает?
unix-way говорит, что для выполнения задач необходимо использовать специализированные инструменты (программы).
за чем передавать файлы через rdp, если для передачи файлов есть такие удобные средства, как samba, ftp, на крайняк http?

FRider

Шутку понял, смешно, по заграничному.
Скажи еще "Вим - фарева", и поговорим на эту тему.

Ivan8209

"Док" --- это что?
Смогу, конечно.
Plain text печатается без вопросов.
Всё остальное точно так же без вопросов перегоняется в ps.
А про принтеры не надо сказки рассказывать.
Всё совсем не так.
---
...Я работаю антинаучным аферистом...

FRider

Просто, ssh не юникс-вей, походу... Раз сами юниксоиды почти прихнались в этом...

FRider

я имел в виду документ в формате МС Ворд.
Про принтер, что у тебя там и как...
Но Я ЛИЧНО мапил и все ок.
Хочешь, приходи, научу как.

sergey_m

> за чем передавать файлы через rdp, если для передачи файлов есть такие удобные средства, как samba, ftp, на крайняк http?
samba это средство удаленной fs, а не для передачи файлов. Было бы очень странно запускать NFS сервер для того, что бы перекинуть пару конфигов на удаленную машину. Кроме того, виндовозная реализация SMB настолько дырява, что нормальный сисадмин будет избегать запуска этого сервиса. Даже если он её запустит, то может быть неприятно удивлен, узнав что эти порты зафильтрованы у половины ISP, по все тем же причинам.
Протокол ftp в первую очередь не безопасен, т.к. не шифрует соединение. Во вторую очередь он крив из-за того, как использует порты. А как ты мне предложишь закидывать файлы по ftp, если я логинюсь по ssh только ключами?
Протокол http не имеет возможности системной аутентификации вообще. Не шифруется по умолчанию и позволяет только скачивать файлы, но не закачивать их. Не поддерживает рекурсивной закачки и wildcards.
Самое главное, что все предложенные тобой альтернативы снижают безопасность системы, т.к. запускают еще один сервис, не шифруют соединение, не поддерживают тех способов аутентификации, что поддерживает ssh.

sergey_m

> Просто, ssh не юникс-вей, походу... Раз сами юниксоиды почти прихнались в этом...
По ходу никто этого не признавал. ssh - как раз образец unix way.

FRider

<Скромно>
а как же , Юникс-вей....
</Скромно>

Marinavo_0507

насколько я понимаю, нужно сначала проложить между серверами VPN
использовать его для аутентификации и для шифрования
это будёт чёткое разграничение уровней
под *nix во многих случаях тоже разумно так делать

FRider

Полностью согласен. Если безопасность НУЖНА, это отличный выход.

sergey_m

насколько я понимаю, нужно сначала проложить между серверами VPN
Почему между серверами? Между сервером и рабочей станцией.
использовать его для аутентификации и для шифрования
VPN - не средство аутентификации пользователей.

FRider

По ходу никто этого не признавал. ssh - как раз образец unix way.
А как же:
Make each program do one thing well. To do a new job, build afresh rather than complicate old programs by adding new features.

sergey_m

> Полностью согласен. Если безопасность НУЖНА, это отличный выход.
Чем ssh не отличный, если безопасность НУЖНА?

FRider

Это, наверное, средство печь пирожки...

sergey_m

> По ходу никто этого не признавал. ssh - как раз образец unix way.
> Make each program do one thing well. To do a new job, build afresh rather than complicate old programs by adding new features.
И в чём противоречие?

FRider

Я вообще не говорил, что это плохой путь. Никто не говорил.

sergey_m

> Это, наверное, средство печь пирожки...
Сейчас будет плюс за флуд. Формулируй свои мысли точнее.

Marinavo_0507

> Почему между серверами? Между сервером и рабочей станцией.
Да пофиг, главное чтоб доступно было.
> VPN - не средство аутентификации пользователей.
Можно уже в нём пароли разные открытым текстом передавать.
identd тоже покатит.

FRider

В том, что заливать файлы - это один сервис, а удаленное управление - другой

Dasar

> Протокол http не имеет возможности системной аутентификации вообще
а мне рассказывали, что там их целых три: basic, digest и керберос

sergey_m

> В том, что заливать файлы - это один сервис, а удаленное управление - другой
Заливает файлы scp или sftp, который работает поверх криптованного канала, созданного ssh. Где противоречие?

sergey_m

Можно уже в нём пароли разные открытым текстом передавать.
identd тоже покатит.
А в каком протоколе VPN используются такие же мощные средства антиспуфинга, как в ssh? Я имею в виду, что твой удаленный сервер может оказаться совсем не твоим на самом деле.

Marinavo_0507

IPSec

sergey_m

> а мне рассказывали, что там их целых три: basic, digest и керберос
То есть IIS может аутентифицировать пользователей по паролям базы Windows? Если это так, то этот недостаток можно убрать из списка.

Marinavo_0507

> То есть IIS может аутентифицировать пользователей по паролям базы Windows?
Может. Как и апач - по /etc/shadow.
У Microsoft ещё и NTLM-аутентификация есть.

sergey_m

> IPSec
Я не в курсе, можно ли сконфигурить IPSec так, что клиент приходит со произвольного IP адреса? Ходит ли он через NAT? Короче, применимо это же решение так же как ssh в случае, если я еду с ноутбуком в командировку?

FRider

Может еще как. Это точно. Называется Windows Authentithication

Marinavo_0507

> Короче, применимо это же решение так же как ssh в случае, если я еду с ноутбуком в командировку?
А зачем ты с ноутбука будешь заходить по хилому GPRS на 30 серверов по очереди?
Если можно зайти на какую-то из управляющих машин, связанную по VPN со всеми серверами, и запускать скрипт оттуда?

sergey_m

> Если можно зайти на какую-то из управляющих машин, связанную по VPN со всеми серверами, и запускать скрипт оттуда?
А на неё таки зайти по ssh?

Marinavo_0507

Ну да.
Можно даже с PDA

FRider

По рдп

sergey_m

> По рдп
Задача передачи файлов пока не решена.

FRider

Решена. Мап дисков по впн каналу

Marinavo_0507

А зачем тебе с ноутбука передавать файл?
Он уже на нормальной тачке лежать должен, максимум подредактировать немного.

sergey_m

Решена. Мап дисков по впн каналу
Так VPN канал тоже не клеется. PPTP и L2TP не обеспечивают защиты от спуфинга, IPSec не позволяет открыть канал из произвольного места. Внимательнее читай дискуссию.

sergey_m

> А зачем тебе с ноутбука передавать файл?
Каждый раз причина разная. У меня не должно появляться желание скачать себе на ноут файл?

Marinavo_0507

Через scp скачаешь.
Даже в Windows
Насколько я знаю, дядя Билл ничего лучше этого ещё не придумал почему-то.

sergey_m

> Через scp скачаешь.
К чему я и веду.

Marinavo_0507

Если бы ты управлял 30 серверами под Windows, твои приоритеты бы сдвинулись,
и "защита от спуфинга" тебя бы далеко не так волновала в сравнении с более насущными вопросами.

irinkina

Ты даже не представляешь, как удобно управлять 30 серверами под Windows, когда они объеденены в AD.

Ivan8209

Ладно, согласен.
В 2003, моллюски ослабили это искусственное ограничение.
Прогресс, однако.
Как насчёт того же, но когда у тебя уже десяток человек сидит на
этой удалённой машине?
---
...Я работаю антинаучным аферистом...

Marinavo_0507

Обязательно начнём объединять сервера в AD, как только перепишем форум под ASP.Net

sergey_m

Единомышленник нашелся: http://russian.joelonsoftware.com/Articles/Biculturalism.html
(Первый абзац вообще полный бред, остальное можно читать.)

Marinavo_0507

Картина салом: открывает для себя joelonsoftware.com

sergey_m

> Картина салом: открывает для себя joelonsoftware.com
Стало быть этот Джоэл большой бугор, про которого я должен был знать сызмальства? Почему тогда он такую бредятину пишет в первом абзаце?

Marinavo_0507

> про которого я должен был знать сызмальства?
Не сызмальства, а почитавши форум, а точнее, этот раздел, где ты модератор.
Сцылка - почти в каждом holywar.
> Почему тогда он такую бредятину пишет в первом абзаце?
Ну такой вот он.

voronina

на мой взгляд там не только первый абзац не очень хороший.
под Windows ошибки в чужих компонетнах? обратился за поддержкой к поставщику (компонет же купленный, а не краденный?)
хранение в реестре: в связи с развитием COM получилась такая нагрузка на реестр (кто не верит: сравните скорость поиска по реестру теже типы файлов просмотреть в связи с этим MS упростило (в .NET использование xml конфигов)
к томуже меня всегда радовало, что при копировании проги из одной системы в другую, все настройки могли оставаться старыми (ini в корне папки с программой)
Windows программисты начинаю разработку с GUI:
почему тогда такие гранды как Рихтер советуют: надо написать оконное приложение, отладьте логику в консольом
надо написать многопоточное приложение, отладьте каждый поток в однопоточном.
Почему, горка компонентов склеенная в IDE небольшими кусочками кода и заглушками должна считаться программой под windows?
Нет какого-то особого метода программирования для UNIX есть старая школа программирования.
и есть куча самородков под windows, которые изобретают велосипеды.
и еще есть создание коммерческих программ: много ли можно отладить? нет лицензии, нет компонентов с debug информацией, начинается тотже реверсеинжинеринг.
З.Ы. Q> почему unix сервера реже падают, чем сервера на основе NT 4.0?
A> Потому что чайники реже лезут конфигурить unix серверы.
З.З.Ы. я не пропогандирую идею, если чего не работает надо обратиться к специалисту.

Marinavo_0507

ESR, Art of UNIX Programming:
One application area in which XML is clearly winning is in markup formats for document files (we'll have more to say about this in Chapter 18). Tagging in such documents tends to be relatively sparse among large blocks of plain text; thus, traditional Unix tools still work fairly well for simple text searches and transformations.
Маза Эрик не видел хвалёный WordML, когда писал это
Оставить комментарий
Имя или ник:
Комментарий: