Unix-way vs Интерактивный режим vs Api
Взаимодействие "программа <-> человек" почти всегда интерактивное. Я даже так сразу и не вспомню неинтерактивные задачи.Что подразумевается под понятием "интерактивный" ? 1) Дружественный интерфейс или 2) графический интерфейс?
unix way и интерактивный режим - в целом несовместимы. Это стоит расписать подробнее?
1) Фраза "я даже так сразу и не вспомню неинтерактивные задачи" не говорит о том, что неинтерактивных задач нет. Необходимость интерактивности в программах в этом случае - спорный вопрос.
"unix-way" - недружественный пользовательский интерфейс. Спорный вопрос, нужен ли дружественный.
2) Я считаю, что графический интерфейс нужен как более удобный способ восприятия человеком информации. В обычном понимании "unix-way" как взаимодействие простых программ (sh, sed, awk ...) - его нет.
кто-то от vi кончает а кому подавай winword
Я правильно понимаю ситуацию?Не только. Они же пишут Manual pages и документацию.
Что unix-way полезен только самим разработчикам программ, т.е. тем, кто не думает о том, как будут пользоваться их программами.
"unix-way" полезен тем людям, которые считают, что им не нужен дружественный интерфейс и которые предпочитают использовать те инструменты для работы, которые им даёт, например, unix-way.
в первую очередь,
диалоговый режим,
режим: вопрос - ответ,
режим: что-то поменяли, получили ответ, опять поменяли, опять получили ответ.
> "unix-way" - недружественный пользовательский интерфейс. Спорный вопрос, нужен ли дружественный
в данном случае, слово "дружественный" обычно понимается под словом "удобный".
Получается: unix-way - неудобный пользовательский интерфейс. Спорный вопрос, нужен ли удобный?
т.е. лучше пользоватся неудобный вещами, чем удобными?
> В обычном понимании "unix-way" как взаимодействие простых программ (sh, sed, awk ...) - его нет.
для взаимодействия программ API всегда лучше, чем unix-way.
зачем тогда нужен unix-way?
API у людей разный бываетДа. Люди разные бывают. Кому-то нравится одно, кому-то - другое
кто-то от vi кончает а кому подавай winword
"дружественный" обычно понимается под словом "удобный"А в общем случае, это не так.
Получается: unix-way - неудобный пользовательский интерфейс. Спорный вопрос, нужен ли удобный?Получается, что unix-way - недружественный интерфейс ( not user-friendly а а не неудобный.
т.е. лучше пользоватся неудобный вещами, чем удобными?
Спорный вопрос кто какие инструменты для работы считает для себя удобными.
> > В обычном понимании "unix-way" как взаимодействие простых программ (sh, sed, awk ...) - его нет.
"Его", т.е. графического интерфейса.
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
Интерактивность появилась в первых системах с разделением времени.
Ваши попытки присвоить её себе не пройдут.
я не очень понял сабж. Есть и unix-way API в Юниксе. По поводу "удобство" - уже кому как, лично мне лучше без мышки и всяких окон.
Чем это определение отличается от того, что я привел?
UNIX был интерактивной средой с момента появления, поэтому тебе следует пересмотреть что-то из своих тезисов.
например, icq-ю - типичный пример интерактивной программы.
т.е. хочешь сказать, что удобнее пользоваться unix-way-ной icq-системой?
каждые 30 секунд писать: есть ли для меня входящие сообщения?
как быть, в случае, частичной автоматизации?
например, я знаю, что на часть ответов надо отвечать - да, на часть - нет, а еще на часть - я могу только ответить, если я сам посмотрю контекст
как такое решить через unix-way?
особенно самое сложное - удобный просмотр контекста (историю запросов, какие проблемы возникли, как эти проблемы решались в прошлом и т.д.)
кто-то от vi кончает а кому подавай winwordПо крайней мере, при редактировании одного и того же большого C++-проекта консольные побрякушки типа vi - редактора-переростка - просто отсасывают у обычных GUIшных виндозных редакторов наподобие Aditor'а, так как кнопок надо меньше на порядок нажимать, даже при разумном маппинге.
> "unix-way" - недружественный пользовательский интерфейс. Спорный вопрос, нужен ли дружественныйicq подразумевает интерактивность изначально ("Instant Messanging"). Я считаю, что для таких задач unix-way вообще не применим.
например, icq-ю - типичный пример интерактивной программы.
т.е. хочешь сказать, что удобнее пользоваться unix-way-ной icq-системой?
каждые 30 секунд писать: есть ли для меня входящие сообщения?
особенно самое сложное - удобный просмотр контекста (историю запросов, какие проблемы возникли, как эти проблемы решались в прошлом и т.д.)Такие инструменты, как grep, sed, awk и т.д. предоставляют эти средства.
Эта. А ты хоть знаешь что такое unix-way? Вообще говоря unix-way - "программа делает одно дело, но делает его хорошо". Так к примеру icq - вполне unix-way. Это так, для справки.
А ты хоть знаешь что такое unix-way?Я не нашёл строгого определения.
Вообще говоря unix-way - "программа делает одно дело, но делает его хорошо"Вообще говоря, нет.
http://c2.com/cgi-bin/wiki?UnixWay
Кстати, сам я не считаю, что нужно во всём следовать unix-way. Для меня такой дизайн менее важен.
Я не нашёл строгого определения.. Их много(определений вообще говоря. Я привел одно из них, вообще говоря. И вообще говоря, твое ничуть не лучше чем мое, вообще говоря.
более-менее представляю
> Вообще говоря unix-way - "программа делает одно дело, но делает его хорошо".
из этого определения - есть важное следствие, получается:
что отдельная функциональность - должна быть выполнена в виде отдельной программы.
например, та же icq-а это набор следующего функционала:
1. хранение данных
2. передача данных по сети
3. UI
и т.д.
unix-way в целом говорит: что "хранением данных" должна заниматься одна отдельная программа, "передачей данных" - другая, а UI - третья, созданием отчетов - четвертая, переводом текстовых смайлов в графические картинки - пятая и т.д.
причем в каждом из этих случаев речь идет о том, что это должна быть именно отдельная программа.
* настройка действия, выполняемого при получении сообщения (и прочих событиях) // интересно, какое воспалённое воображение могло представить себе необходимость периодически руками запускать какую-то команду
* доступ к базе сообщений из других программ (через файлы или IPC с программами-обёртками)
* возможность автоматизации рассылки сообщений и работы с контактами
* наличие нескольких пользовательских интерфейсов сразу (как минимум GUI и command-line) с возможностью дописать новый
Ответ на все вопросы - licq Кроме надеюсь третьего, за такое руки отрывать надо
Сорри, не удержался
1) Это вообще бред, в пояснении не нуждается
2) cp - не unix-way
3) UI - это еще почему? Как связано одно дело и UI? Вот в maya UI тоже должен быть отдельным функционалом?
Разделять надо только тогда когда это представляется возможным.
Ещё jabber-сервер вместе с JIT и с клиентами вроде бы похож на то, что надо.
Правильно ли я понимаю, что unix-way говорит, что все взаимодействие между программами должно проходить через консоль?
Если не через консоль, то каким способом осуществляется взаимодействие?
Наверное нет, так как консоль - это типа экран с клавиатурой.
Unix-way вроде ничего такого не говорит Не все программы должны взаимодействовать. Для некоторых прог это ВООБЩЕ не нужно. А для тех которых нужно - про консоль ничего не сказано. Где ты это нашел?
почему бред? для этого вроде даже целых вид продуктов придумали под названием базы данных.
> 2) cp - не unix-way
не понял ответ
> 3) UI - это еще почему? Как связано одно дело и UI?
потому что большая часть UI - является одиннаковым во всех программах
в первую очередь, UI состоит из стандартных Viewer-ов и Editor-ов внутренних данных
под консолью я понимаю потоки ввода/вывода.
ps
ты не ответил на главный вопрос:
если не потоки ввода-вывода, то каким образом должно осуществляться взаимодействие между программами в рамках unix-way?
2) cp не умеет взаимодействовать с сетью. Не unix-way
3) И? Так берется стандартный widget, в чем проблема? Никто не переизобретает колесо, если это тебе интересно
Как душеньке твоей угодно Пайпы, shm, sockets, rpc...
Открой любую книжку по Unix (программирование там везде говорят про каналы, сигналы, IPC, сокеты.
потоки ввода-вывода и через сокеты бывают
причём тут консоль - непонятно
для управления каким-либо демоном (к чему и icq-клиент можно отнести) самое нормальное (имхо) -
это AF_UNIX-сокет со стороны демона, протокол взаимодействия, и программа-клиент для использования из командной строки или в скриптах
Я написал icq, и моей душе было угодно предоставить доступ через API на MyКулХацкерскомЯзыке.
Что ты с этим будешь дальше делать?
протокол взаимодействия - как-нибудь унифицируется?
или каждый придумывает заново?
Я - ничего. Покручу пальцем у виска. Или напишу биндинги на нужном мне языке.
Конечно унифицируется. Например TCP/IP.
разницу между консолью, каналом, сырым сокетом и т.д. я не вижу
это канальный уровень.
а уровень данных как-то унифицируется?
например, в каком формате double-ы записываются, в каком виде передаются составные данные, коллекции?
Можно только синтаксис сделать общий, но не семантику.
Общий принцип, как я его понимаю, это не усложнять его сверх необходимого.
как передаются многоязыковые данные, как передаются двоичные данные?
Очевидно что протоколы высокого уровня строятся исходя из приложения. И так же очевидно что существуют библиотеки, позволяющие решать эти проблемы. Сериализацию, например. Встречный вопрос: в не юникс-вэй протоколы унифицирубтся или нет? Как это вообще говоря возможно? И для чего?
чисто синтаксис без семантики не бывает.
перед любым синтаксисом мы все равно сначала должны ввести некую семантику: т.е. сказать, например, что у нас бывают double, что бывают составные данные, что бывают массивы, что бывают двоичные данные, что бывают картинки
а уже после того, как мы ввели семантику- мы можем сказать, что данные с такой-то и такой-то семантикой мы записываем так-то и так-то.
soap, например.
> Как это вообще говоря возможно?
Это возможно, т.к. почти все данные укладываются в несколько общих представлений
> И для чего?
для того, чтобы можно было писать программы, которые рещают сразу общие задачи, а не частные.
для того, чтобы можно было написать какие-то универсальные программы, куски программ.
Самое главное для того, чтобы можно было за пару копеек связать программы разных авторов.
2) Не об этом вопрос. Вопрос в возможности заставить все х слежовать этой гипотетической унификации
3) Опять же неправильно. Универсально это будет опять же для частного случая. soap например
> данные, что бывают массивы, что бывают двоичные данные, что бывают картинки
вот-вот
и в зависимости от того, что бывает, и что с этим надо делать, и протокол будет соответствующий
в частности, и soap использовать никто не запретит, если он хорошо подходит
что в данном случае, значит словосочетание "частная унификация"?
> 2) Не об этом вопрос. Вопрос в возможности заставить все х слежовать этой гипотетической унификации
для этого есть комитеты по стандартизации.
> 3) Опять же неправильно. Универсально это будет опять же для частного случая. soap например
что значит для частного случая?
замечу, что языки программирования умеют работать, напрямую, только:
с числами, строками, двоичными данными, составными данными (struct/record/class) и коллекциями (массив, список)
соответственно, если soap умеет хранить эти данные - значит результат любой программы - представим в soap-е.
Блин. Чего тут непонятно? Я хочу писать не использущее soap приложение. И где эта унификация окажется? Она не ОБЩАЯ. Только для soap Точно так же в юникс есть свои частные унификации. CORBA например.
А еще указатели. Их тоже можно?
да, кроме soap, есть еще такая мощная вещь, как XSD.
Corba - вроде- как раз soap использует.
любой указатель представим в виде пары: id + ссылка на id.
Не знаю. Не уверен в этом. Да это и не важно. Таких ЧАСТНЫХ унификаций - куча. Я ответил на твой первоначальный вопрос?
Пока не будет сформулировано, что такое "unix-way", дальше разговаривать бесполезно.
"представим" ещё не означает, что это представление эффективно и удобно для конкретной задачи
Там же где и ты, если будешь пытаться общаться с людьми на языке, который понятен только тебе.
или другими словами: отказавшись от поддержки стандартов ты повышаешь шансы того, что люди выберут программу конкурентов, а не твою.
а кто говорит, что, например, русский язык - это эффективно и удобно? это просто стандартный язык общения.
также и xml, и soap - это стандартные языки общения
А когда не в ГЗ - как это дело посмотреть можно?
смени расширение на html и юзай
файловая система не умеет хранить связанные данные, в том смысле, что файловая система не умеет обеспечивать целостность сложных данных. Соответственно файловая система не является высокоуровневым хранилищем данных.
или другими словами: файловая система - это плохая система хранения данных.
только что выше постили, что в unix-way-е программы должны делать функционал хорошо.
я вижу противоречие.
компьютер намного легче научить новому формальному синтаксису, чем человека
а семантике всё равно учить новой, с каждым приложением
представления и протоколы, которые пригодны для всего, одновременно не пригодны ни для чего
поверх них всё равно нужно строить протокол прикладного уровня
в ряде случаев эта задача упрощается при выборе готового универсального представления
а иногда нет
поэтому есть выбор
> Самое главное для того, чтобы можно было за пару копеек связать программы разных авторов.
Those who do not understand Unix are condemned to reinvent it, poorly.
-- Henry Spencer Usenet signature, November 1987
Вопрос без подъёбки - давно интересуюсь.
Я хочу, чтоб в моём любимом браузере (предположим, это IE) можно было для ввода текста
использовать мой любимый редактор (предположим, это vim). Что мне нужно для этого дописать?
vim для win32 даже поддерживает какое-то OLE, так на сайте написано.
в unix-way принято вызывать любимый редактор пользователя для ввода текста
А когда не в ГЗ - как это дело посмотреть можно?google -> taoup
COM - это unix-way или нет?
Все базы данных хранятся в виде файла на файловой системе. Значит по твоей логике это плохо.
COM - это unix-way или нет?Скорее всего они ортогональны.
Это пока
высокоуровневые языки тоже никому не нужны?
ведь все равно все программы в конечно итоге написаны на маш. языке.
я правильно понял твою логику?
Я не понимаю как связаны эти понятия. Ты сказал что файловая система - плохое хранилище данных. Я ответил. Причем тут эта неаналогия?
Вот такой проект есть например
Его все обещают и обещают... А потом откладывают напотом
Да - файловая система - это плохое хранилище, если хранить в нем данные напрямую.
также как маш. язык - плохой язык, если писать на нем напрямую.
Скорее всего они ортогональны.задам глупый вопрос
почему?
unix-way - это простота (или нет?)
идея com тоже проста
задам глупый вопроссвитер мы одеваем
почему?
unix-way - это простота (или нет?)
идея com тоже проста
ботинки мы тоже одеваем
это одно и то же?
свитер мы одеваемебанутая аналогия
ботинки мы тоже одеваем
это одно и то же?
COM для того чтобы упростить жизнь.
Из этого разве следует, что это одно и то же?
Я думаю, что все случаи из ({UNIX way, ! UNIX way} * {COM, ! COM}) возможны.
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.
Там дальше же есть ещё их версия.
Где? Там дальше правила..
Ну вот набор этих правил и есть их версия Unix way. Типа обобщённая версия разных мыслей.
unix way и интерактивный режим - в целом несовместимы. Это стоит расписать подробнее?Стоит. Я не согласен с утверждением.
т.к. взаимодействие через API получается намного качественнее (быстрее, менее ошибочное и т.д.)В UNIX нет запрета на написание API. Когда встает такая необходимость, то его берут и пишут.
Однако, элементарные задачи легче решать без API. Наличие unix way позволяет пользователю легко и быстро решать задачи кромсания/сортировки/трансформирования текста/данных без знания API. Принуждать пользователя знать API - делать из пользователя программиста.
Что unix-way полезен только самим разработчикам программ, т.е. тем, кто не думает о том, как будут пользоваться их программами.Нет. К примеру, мне часто приходится пользоваться программой ngctl, которая строит графы. Однако, графы строятся не мышкой, а построчными командами. Иногда, в ходе тестирований мне нужно строить несколько типовых графов по многу раз. Тогда я делаю просто cat graph1 | ngctl, вместо того, что бы елозить мышкой уже хорошо заученную траекторию, как мне пришлось бы делать в случае мышечного интерфейса.
режим: вопрос - ответ,Мне больше нравится набрать в vi s/xxx/yyy/ и прочитать "666 строк изменено", чем 666 раз кликнуть мышью на кнопке "замена".
режим: что-то поменяли, получили ответ, опять поменяли, опять получили ответ.
т.е. хочешь сказать, что удобнее пользоваться unix-way-ной icq-системой?Да, проще нажать "m[SPACE][первые символы ника][TAB][Enter]сообщение[Enter].[Enter]", чем найти ник в длиннющем скроллящемся списке, кликнуть в него и получить окошко в другом месте экрана, перенести руку на клаву, набрать сообщение и опять переносить руку на мышку, что бы его отправить. Замечу, что при нажатии [TAB] компьютер делает поиск в текстовом списке за тебя.
каждые 30 секунд писать: есть ли для меня входящие сообщения?Они вылазят сами. Не надо хаять то, чего не видел.
как быть, в случае, частичной автоматизации?Усложнить паттерны, так что бы awk/sed понимал, когда ответ будет "да", а когда "нет". Те места, где требуется твоё вмешательство пометить, что бы ты потом мог их обработать, после того, как автоматическая часть обработки пройдет, а не в процессе.
например, я знаю, что на часть ответов надо отвечать - да, на часть - нет, а еще на часть - я могу только ответить, если я сам посмотрю контекст
Это ты зря кстати.
Примеры:
1. Обещал я кому-нибудь скачать некий файл и куда-то выложить.
Соответственно, когда это будет готово, нужно послать подтверждение в icq.
Вместо того, чтобы ждать завершения скачки, и потом отвлекаться на посылку сообщения,
я мог бы сразу указать, что после скачивания нужно послать:
wget $URL && mv $FILE /space/ && icq_send $FRIEND "Готово"
2. Почему бы не послать кому-то некую группу из списка контактов? Чтобы получатель смог импортировать это себе.
Ну или держать корпоративные контакты на спец. сервере, и раздавать сотрудникам их специально обученным скриптом.
Чтобы не ждать, пока AOL реализует это в своём клиенте, а сделать сразу, как потребуется.
Разве это не жизненные примеры? Автоматизация посылки сообщений и работы с контактами может быть полезной.
> Наверное нет, так как консоль - это типа экран с клавиатурой.Непонимание базовых принципов UNIX. Консоль (e.g. экран с клавиатурой) это больше, чем потоки ввода-вывода. Это терминал.
под консолью я понимаю потоки ввода/вывода.
r(3)
Дальнейшее поднятие уровня протокола не имеет смысла. Как было сказано, в итоге у каждого приложения свой протокол, универсального не придумаешь.
соответственно, если soap умеет хранить эти данные - значит результат любой программы - представим в soap-е.Но это не является причиной именно так его всегда представлять.
Давай чуть усложним задачку.
Допустим ты не уверен, что ты правильно указал замену (т.е. может замениться что-то лишнее
соответственно ты хочешь бегло просмотреть все предложенные замены (может даже как-то их посортировать, сгруппировать и т.д. и указать какие точно надо менять, какие нет, а какие надо подробно посмотреть.
для пользователя это может выглядеть следующим образом: выводится грид(список) со строками, которые комп хочет изменить, данный список поддерживает сортировки, групповые операции, какие-нибудь фильтрации и т.д.
похожим образом, например, сделаны групповые операции над фотографиями в ACDSee.
вот такой фунционал, уже через unix-way сложнее делается.
и это как раз и есть пример интерактивной систем - т.е. в данном сценарии, как раз идет активный обмен информацией, т.е. компьютер выводит что он может/хочет сделать, а мы ему групповым образом подтверждаем выполнение, или нет.
> чем 666 раз кликнуть мышью на кнопке "замена".
если программа такое говорит, то это плохая интерактивная программа.
/me записывает в блокнотик
Это сможет сделать пользователь? пусть даже advanced?
> /me записывает в блокнотик
даже в рамках данного форума уже несколько раз говорилось, что, например, базы данных (например, Oracle/MS Sql и т.д.) не используют файловую систему как таковую.
Допустим ты не уверен, что ты правильно указал замену (т.е. может замениться что-то лишнееЯ сохраню оригинал, и потом натравлю diff и может быть sort.
соответственно ты хочешь бегло просмотреть все предложенные замены (может даже как-то их посортировать, сгруппировать и т.д. и указать какие точно надо менять, какие нет, а какие надо подробно посмотреть.
это ты где такое пишешь? в терминале?
а откуда он знает, что ты пишешь именно ник? и откуда он знает какие-то ники есть?
> Усложнить паттерны, так что бы awk/sed понимал, когда ответ будет "да", а когда "нет".Это сможет сделать не всякий пользователь. Однако еще меньшее число пользователей справится с API.
Это сможет сделать пользователь? пусть даже advanced?
как будешь задавать групповые yes/no как будешь ставить?
речь идет о том, что наличие схемы данных (например, в xsd) + API, позволяет сделать более-менее универсальный UI, которые обеспечивает указанный функционал.
> "m[SPACE][первые символы ника][TAB][Enter]сообщение[Enter].[Enter]",я набрал m[SPACE] с новой строки, значит следующим словом будет ник.
это ты где такое пишешь? в терминале? а откуда он знает, что ты пишешь именно ник?
и откуда он знает какие-то ники есть?Из базы ников. unix way не исключает хранения per-user настроек
как будешь задавать групповые yes/no как будешь ставить?Если что-то можно сгруппировать, то это можно было сделать автоматической заменой. То, что обрабатывается сейчас - исключительно ручное.
речь идет о том, что наличие схемы данных (например, в xsd) + API, позволяет сделать более-менее универсальный UI, которые обеспечивает указанный функционал.Видишь, его приходится делать. Для этого надо уметь программировать. А в unix UI уже готов. Только в unix UI очень общий, а в GUI общим быть не может. Ты пропагандируешь инструменты, с помощью которых можно быстро лобать GUI под каждую задачу. Это хорошо, но это не дело пользователя.
> которые обеспечивает указанный функционал.
Какой примерно UI получится для icq-клиента, с учётом моих пожеланий?
Почему он не получился на практике?
1. В какую сторону поток информации больше? от человека к компьютеру? или от компьютеру к человеку?
2. Какой из этих потоков реальнее увеличить?
3. Какой поток скорее всего будет увеличиваться?
4. Способен ли терминал выводить большой объем разнородной информации?
5. Способен ли терминал выводить несколько потоков связанной информации?
6. Допустим мы живем в идеальном мире. И все задачи, которые мы можем автоматизировать мы быстренько автоматизировали. Какие задачи остались?
Удобно ли с этими задачами работать через терминал?
того, что модифицировать GUI не так-то просто не подготовленному человеку. Добавить alias в ~/.profile намного проще, хе-хе.
Причём вручную, и вовсе неочевидно, что "правильная" модель данных в этом помогает.
А API есть всегда, без него никакой UI не сделать, если его ещё нет.
скорее это пример, как код писать не надо
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";
Добавить alias в ~/.profile намного проще, хе-хе.Говносравненение.
Добавить пункт в контекстное меню fvwm для неподготовленного человека - сопоставимо по сложности с добавлением пункта в контекстное меню "проводника".
Я бы хотел несколько уточнить все вышесказанное. Этот спор кажется абсолютно бессмысленным. Мы говорим сейчас о неких вещах применительно к пользователю. Но понятие пользователь в юникс системах и в системах ориентированных на интерактивные проиложения - очень разные. В юникс ЛЮБОЙ сколько-нибудь пользователь ОДНОВРЕМЕННО является и программистом. Иначе не получается. Объясняю: программирование - это построение некой функции из заданных блоков, переводящих заданный вход в определенный вывод. Поэтому проактически любая нетривиальная команда в юникс уже является программой. Интерактивные действия программой очевидно не являются. Юникс-вэй для программистов(им это удобно и привычно интерактивные приложения для всех остальных. И не нужно спорить что лучше, что хуже Это вещи для разных target group
В юникс ЛЮБОЙ сколько-нибудь пользователь ОДНОВРЕМЕННО является и программистом.И эти люди говорят, что [Linux/FreeBSD/вставьте свой *nix] может конкурировать с нормальными Desktop операционками?
Короче, у меня такое впечатление, что никто из присутсвующих ораторов кроме не заботал . Заботайте, пожалуйста, прежде чем дальше писать.
Только в теории.
На практике не совсем так, кишки из системы лезут наружу (abstractions leak).
Получается, что "чисто интерактивные" действия, проведённые сейчас, сказываются на тех, которые будут позже.
Я бы сказал, что это тоже программирование, только пользователи из target group этого не понимают, отсюда их проблемы.
> Юникс-вэй для программистов(им это удобно и привычно)
-- программист, и он говорит, что ему неудобно и непривычно.
Я -- не программист (не люблю это дело, поэтому программирую хреново но мне удобно и привычно.
> И не нужно спорить что лучше, что хуже.
Нужно, так как один и тот же человек может пытаться для одних и тех же задач использовать и то, и другое.
Поэтому сравнивать надо.
2) Значит ты программист. Не важно, нравится тебе это или нет.
3) Странно. Я бы использовал те инструменты, которые удобны и привычны мне, в первую очередь. И не стал бы пробовать другие без крайней необходимости.
1. В какую сторону поток информации больше? от человека к компьютеру? или от компьютеру к человеку?Чаще всего от компьютера к человеку. Но, когда набираешь текст, то наборот.
2. Какой из этих потоков реальнее увеличить?Реальнее увеличить от компьютера. Но зачем?
3. Какой поток скорее всего будет увеличиваться?В моём случае оба потока контролируются. Я пользуюсь перенаправлением вывода в файлы. Я также знаю команды head, tail, grep, sort, uniq и другие. Большинство используемых мною утилит знают про ключи -q и -v.
4. Способен ли терминал выводить большой объем разнородной информации?Это ограничивается физическими характеристиками. Вывод на псевдотерминал PC обычно ограничен производительностью процессора. В моём случае зачастую ограничение накладывается пропускной способностью сетевого соединения.
5. Способен ли терминал выводить несколько потоков связанной информации?Да. Пример - команда top. Есть более сложные примеры - многооконные терминальные приложения. Ты опять путаешь терминал с stdout.
6. Допустим мы живем в идеальном мире. И все задачи, которые мы можем автоматизировать мы быстренько автоматизировали.Я живу в идеальном мире. Я автоматизировал все автоматизируемые задачи (кроме фильтрации спама, т.к. полная автоматизация этой задачи очень затруднена).
Какие задачи остались? Удобно ли с этими задачами работать через терминал?Довольно много осталось. Мне удобно с ними работать через терминал.
> И не стал бы пробовать другие без крайней необходимости.
Для новых задач, которые ещё не умеешь решать своими инструментами, почему бы не попробовать новые?
В InfoPath вроде его почти делают без программирования.
Покочану. Потому что для решения даже абсолютно новой задачи стопроцентно потребуются твои старые навыки и наработки. И для этого априори удобнее привычные интсрументы. Конечно побовать можно. НО только тогда когда другого выхода просто нет.
В общем-то, я так и делаю.
Вон, спросил, как к IE редактор прикрутить, оказалось, что так же.
Несмотря на хвалёный COM, хвалёную модель данных, хвалёное API ---
несмотря на все замечательные штуки, в результате такое же
Вот и приходится возвращаться.
leo:путает понятия программист и оператор. А ты сразу ухватился за это и стебешься. Если всякую алгоритмизацию считать программированием, то пользование windows тоже является программированием, т.к. пользователь возюкая мышкой указывает компьютеру, что ему делать.
braindead:И эти люди говорят, что [Linux/FreeBSD/вставьте свой *nix] может конкурировать с нормальными Desktop операционками?
В юникс ЛЮБОЙ сколько-нибудь пользователь ОДНОВРЕМЕННО является и программистом.
Или его можно перефразировать так, что он станет нормальным?
скорее - unix-way - это неэффективно
Ты уверен что я что-то путаю? Или ты хочешь сказать что cat a | grep 'blabla' | sort не является программой? Или ты хочешь сказать что когда пользователь броузит веб или печатает в ворде он программирует?
Проблема в том, что IE - это бесплатное приложение, в том смысле - что это чисто имиджевый продукт, соответственно в нем не принимаются последние достижения.
с точки зрения технологий IE не меняется уже лет 6-8
ps
напомню, что COM-у уже где-то 10-12 лет
Когда броузит веб - иногда программирует.
Можно запрограммировать свой комп на разные действия путём установки троянов.
Добавить пункт в контекстное меню fvwm для неподготовленного человека - сопоставимо по сложности с добавлением пункта в контекстное меню "проводника".Песдешь и провокация. Моя жена умеет добавлять пункты в меню fvwm, а вот с regeditом, я думаю, не справится.
Текстовый файл это самое лучшее средство описания конфигурации. Самое понятное для человека, а не компьютера, как в случае базы regedit. Недавно у меня в гостях был мой друг, большой противник unix и апологет винды, как . В его присутствии я настраивал xmms, на редкость не-unix-way программу. Мне нужно было отключить лазание в CDDB, и я не мог найти этот пунктик в многочисленных менюшках. Мой друг наблюдал за этим, и произнес: "Текстовые конфиги удобнее, к примеру, как у апача." Он прав. В данном случае можно было просто поискать "CDDB" в теле текстового файла.
Песдешь и провокация. Моя жена умеет добавлять пункты в меню fvwmОна это делает из божественного откровения, или все же прочитала ман по конфигурационному файлу?
Текстовый файл это самое лучшее средство описания конфигурации. Самое понятное для человека, а не компьютера, как в случае базы regedit. Недавно у меня в гостях был мой друг, большой противник unix и апологет винды, как . В его присутствии я настраивал xmms, на редкость не-unix-way программу. Мне нужно было отключить лазание в CDDB, и я не мог найти этот пунктик в многочисленных менюшках. Мой друг наблюдал за этим, и произнес: "Текстовые конфиги удобнее, к примеру, как у апача." Он прав. В данном случае можно было просто поискать "CDDB" в теле текстового файла.С этим полностью согласен. Но не-unix-way совсем не требует использовать реестр. Более того, от этого в .NET успешно отходят.
вот-вот, последние достижения вовсе не важны для имиджа
важна лишь галочка, что они есть
примерно так и говорится в упомянутой статье
т.е. ты хочешь сказать, что привел говноаргумент?Я хочу сказать, что он не прав. Правильно так: unix way позволяет быть пользователю программистом.
Ты уверен что я что-то путаю? Или ты хочешь сказать что cat a | grep 'blabla' | sort не является программой? Или ты хочешь сказать что когда пользователь броузит веб или печатает в ворде он программирует?'cat a' - программирование? А значит 'cat a | grep 'blabla'' - уже программирование? Хорошо.
Нажать лупу в ворде и написать там blabla и нажать "поиск" - не программирование. А оформить автозамену в ворде с парой условий - программирование?
Я бы это всё назвал работой оператора. Хотя под определение программирования подпадает - ты задаешь компьютеру программу.
P.S. Прочти http://www.45.free.net/~vitus/user-friendly.txt, если не заметил ссылки в начале треда.
> нормальный код должен выглядеть как-то так
и почему же практика настолько далека от теории?
как и в случае с icq-клиентом?
как и в случае с IE?
Для увеличения эффективности системы: человек <-> компьютер.
Если не сделаешь - это ты, то это сделают твои соседи.
> В моём случае оба потока контролируются. Я пользуюсь перенаправлением вывода в файлы. Я также знаю
> команды head, tail, grep, sort, uniq и другие. Большинство используемых мною утилит знают про ключи -q и -v.
Как быть, например, с асинхронными командами/потоками?
>> 4. Способен ли терминал выводить большой объем разнородной информации?
> Это ограничивается физическими характеристиками.
Вопрос был о другом, способен ли терминал выводить большой объем разнородной информации так, чтобы пользователь это воспринимал? Через какой интерфейс: терминал или графический - можно вывести больше информации?
> Есть более сложные примеры - многооконные терминальные приложения
например?
> Довольно много осталось. Мне удобно с ними работать через терминал.
что ты делаешь?
как выглядят типичные сценарии действий?
Она это делает из божественного откровения, или все же прочитала ман по конфигурационному файлу?Не читала. Когда ты открываешь этот файл, то ты сразу видишь описание своего любимого меню. Формат файла интуитивно понятен, нах.
Нифига подобного, кстати.
IE - неотъемлимая часть Windows, одна из важных составляющих успеха этой платной системы.
Прочти http://www.45.free.net/~vitus/user-friendly.txt, если не заметил ссылки в начале треда.Ссылка, кстати, не самая удачная. Она освещает мир с позиции если не программиста, то по крайней мере компьютерно грамотного человека, причем грамотного в большей степени, чем "продвинутый пользователь Internet Explorer". Многие люди, далекие от компьютера, приходят в ужас от того, что на компьютере нужно писать какие-то команды, которые нужно еще и запоминать. Такой подход, возможно, удобен для программиста, для человека, близкого к технике, возможно, но не для всех. И этих всех, в общей массе пользователей компьютера, гораздо больше.
Это недоразумение - называть таких людей пользователями компьютера.
Пользоваться компьютером они не могут, только приложениями, написанными для их задач.
Если какая-то задача не полностью решается имеющимся у них приложением, им не позавидуешь.
Придётся нажимать на мышь 666 раз и т.д.
Компьютер отличается от прочих устройств тем, что его можно программировать.
Если нечто умеет работать без программирования, то это не компьютер, хотя там внутри может быть компьютер, а то и несколько.
Вот например, мой мобильный телефон для меня - не компьютер, хотя совершенно так же виснет и глючит.
А вот для его разработчиков - это компьютер.
Точно так же PC с Windows для "обычного пользователя" - не компьютер.
Ну то есть он называет эту штуку компьютером, научившись этому названию у других,
но смысл вкладывает в это другой.
> Реальнее увеличить от компьютера. Но зачем?LOL. Я могу увеличить поток информации от компьютера, но я не смогу читать с такой скоростью.
Для увеличения эффективности системы: человек <-> компьютер.
Если не сделаешь - это ты, то это сделают твои соседи.Да, я часто запускаю make buildworld без редирекции аутпута. Это впечатляет соседей.
Как быть, например, с асинхронными командами/потоками?Примеры?
Вопрос был о другом, способен ли терминал выводить большой объем разнородной информации так, чтобы пользователь это воспринимал?Да, например top. Совсем разнородную информацию идеологически правильно разделить по нескольким терминалам. Что и делается.
Через какой интерфейс: терминал или графический - можно вывести больше информации?Сразу разделим информацию на текстовую и графическую. Ясен пень, что через графический интерфейс можно вывести больше данных. Но меня интересует текст. Замечу, что я не ограничиваюсь 80x25 и одним терминалом. У меня 19" монитор в разрешении 1280x1024, но большая часть рабочего стола занята текстовой информацией. Графической тоже отведено немного места, около 7% экрана.
> Есть более сложные примеры - многооконные терминальные приложенияmutt, midc, centericq, BitchX....
например?
> Довольно много осталось. Мне удобно с ними работать через терминал.Обобщенно это чтение и создание самой разной текстовой информации. Программы, скрипты, письма, конфиги...
что ты делаешь?
как выглядят типичные сценарии действий?
Компьютер отличается от прочих устройств тем, что его можно программировать.Такой компьютер не покупают.
Покупают компьютер, отличающийся от прочих устройств тем, что на нем можно писать документы и письма, считать бюджет, играть в игры, смотреть странички в интернете.
Многие люди, далекие от компьютера, приходят в ужас от того, что на компьютере нужно писать какие-то команды, которые нужно еще и запоминать. Такой подход, возможно, удобен для программиста, для человека, близкого к технике, возможно, но не для всех.Эти люди учат языки, имея словарные запасы в несколько тысяч слов. Для ежедневной работы нужно знать несколько десятков простых коротких команд. Что бы их запомнить нужно быть программистом?
> как и в случае с icq-клиентом?
> как и в случае с IE?
потому что ты берешь для примера те продукты, за которые никто не готов платить деньги.
последние достижения используются там, где они больше всего востребованы - на данный момент это корпоративные системы, т.е., например, Oracle, Office (если его брать как корпоративную систему) и т.д.
Когда-то покупали только такие.
И сейчас примерно тот же контингент покупает такие.
> Покупают компьютер, отличающийся от прочих устройств тем, что на нем можно писать документы и письма,
> считать бюджет, играть в игры, смотреть странички в интернете.
Это покупают программно-аппаратную систему с возможностью расширения.
Расширение, кстати, то есть установка новых программ для новых задач, тоже
далеко не всем пользователям удаётся, для этого нужен специальный техник (эникейщик, админ).
Да, это называют компьютером, переняв этот термин от программистов, железячников, хакеров, админов.
Но не используют это как компьютер.
Иногда правда кишки вылезают наружу, и приходится учиться обращаться с этим предметом
как с компьютером, если почему-то не хочется звать техника.
У некоторых получается, и они становятся компьютерно грамотными.
Другим, как я уже сказал, не позавидуешь.
Что тебе мешает правильно понимать чужие мысли?
а не стебаться над ними?
Что тебе мешает правильно понимать чужие мысли?Тогда объясни, как ты собираешься увеличивать поток. Кстати, да, я купил 19" монитор для, того что бы больше информации помешалось в экран. Но я не уверен, что ты имеешь в виду это.
а не стебаться над ними?
у программ есть два взаимодействия:Обрати внимание, там написано человек, не программист.
1. программа <-> программа
2. программа <-> человек
Человек в твоём понимании не заметит unix way, как и его отсутствие.
Он просто не для его задач, совершенно ортогональная концепция.
Но вот если он когда-то захочет стать компьютерно грамотным, тут отличия начнут проявлять себя.
> Примеры?
например, icq.
ftp.
Сложные аналитические или вычислительные запросы, например, Olap.
> Сразу разделим информацию на текстовую и графическую.
плохое деление, т.к. большую часть информацию можно выводить как в текстовом (таблица так и в графическом виде (chart-ы, графики, цветовое выделение и т.д.).
> mutt, midc, centericq, BitchX
и где здесь классический unix-way?
все равно же получается, что пользователь работает с одним интерфейсом, а автоматизация идет через другой интерфейс.
> Обобщенно это чтение и создание самой разной текстовой информации
т.е. аналитики нет?
> потому что ты берешь для примера те продукты, за которые никто не готов платить деньги.
получается, что писать программы правильно, чтобы потом можно было автоматизировать труд,
очень сложно, и разработчики готовы это делать только за большие деньги, когда понятно,
что именно это свойство программы будет востребовано
в противоположность этому, в unix way именно такие программы писать получается естественным образом,
после того, как встанешь на путь
В первую очередь, использовать вместо текстовой информации - графическую.
Говно получается естетсвенным образом.
например, icq.Посмотри vicq, micq. В духе unix-way. Остальные полноэкранны.
ftpНу ftp клиент это классика. Он появился задолго до графических терминалов.
Сложные аналитические или вычислительные запросы, например, Olap.Не знаю, что это.
плохое деление, т.к. большую часть информацию можно выводить как в текстовом (таблица так и в графическом виде (chart-ы, графики, цветовое выделение и т.д.).Чарты, графики - это уже другая информация, это фукнция от текстовой информации.
P.S. Терминалы позволяют цветовое выделение.
> mutt, midc, centericq, BitchXПо-твоему unix-way это stdout+stdin? Тогда здесь его нет.
и где здесь классический unix-way?
т.е. аналитики нет?Не понял что именно интересует.
IE писали непрофессионалы? Это же один из ключевых компонентов Windows.
> Тогда объясни, как ты собираешься увеличивать поток.Переформулируем вопрос: какую информацию ты намерен добавить? Только не отвечай "графическую".
В первую очередь, использовать вместо текстовой информации - графическую.
после того, как встанешь на путь
ну мы же вроде уже разбирали, что с другой стороны:
на unix-way нет сложных продуктов - нет корпоративных продуктов, нет сложных редакторов, нет аналитических систем и т.д.
Я не понимаю? Ты хочешь механизм, который позволяет _любую_ программу разломать на кусочки и использовать по отдельности? Так не бывает. Есть механизм, который позволяет написать разбираемую в той или иной мере программу. Разработчики ИЕ не посчитали необходимым реализовывать разбираемость эдит бокса в ИЕ. Хотя возможность у них была.
возможно, таким продуктам не нужен unix way
мне трудно судить, я не разбираюсь в этом предмете
но он и не мешает, разнообразные продукты такого плана с успехом портируются на *nix
а скорее всего, разработчики просто таскают свои методики с системы на систему, и лишь небольшую прослойку для
совместимости добавляют
информацию ту же самую: просто с помощью графики - ее можно представить- более эффективно, соответственно - человек будет способен получить больший объем информации.
также с помощью графики проще делаются инструменты для работы с информацией: скроллинг, zoom, множественное выделение и т.д.
также с помощью графики проще делаются инструменты для работы с информацией: скроллинг, zoom, множественное выделение и т.д.Говноаргумент. Это все было замечательно удобно реализовано в том же самом текстовом Norton Commander
портируют на *nix, или портируют на unix-way?
Я хочу заявленное свойство модных технологий: удобство написание таких программ, которые потом смогут совместно работать
с подобными же, автоматизируя решение пользовательских задач.
И вижу, что такого свойства нет: писать такие программы геморно.
В отличии от unix way, где это выходит естественно.
мне повторить?
я думаю, что эти задачи удалось бы с большим успехом встроить в unix way, чем это есть сейчас
однако понятно, что у разработчиков имеются причины этого не делать, а вдруг потом на винду придётся портировать
точнее могу сказать, лишь ознакомившись с предметной областью, которая меня мало интересует
в целом - да, цель именно такая - решать как можно больше задач, незапланированных разработчиком.
и unix-way, и Com, и .Net, и xml (как пример декларативного программирования) - пытаются решить, в том числе, и эту задачу (но, конечно, каждый в меру своей эффективности).
ps
вспомни, почему реляционные базы вытеснили те же иерархические. Именно потому, что в реляционных базах можно выполнять незапланированные запросы.
на всякий случай, уточню.
Mozilla - является unix-way-ем? т.е. это точно, что любую команду можно выполнить в том числе и из командной строки?
т.е. например, можно уже в открытую mozilla-у загрузить нужную страницу, найти необходимую ссылку - перейти на нее и т.д.
Можно воспользоваться google-овским тулбаром - и все это из командной строки?
Для мозиллы - не знаю. В konqueror - точно можно.
чем он лучше мозиллы? или Ie? чем он хуже, чем мозилла? или ie?
Я не пользуюсь мозиллой, а тем паче ие. Считаю что konqueror ничуть не хуже(во всяком случае когда в последний раз пользовался мозиллой и ие, так и было). Просто я сказал что есть броузер, который вполне юникс-вэй. Даже более того, konqueror - неким образом сам по себе шелл
нет конечно
все браузеры - говно
Mozilla - пожалуй самая неудобная программа из тех, с которыми я работаю
c другой стороны, это в своём роде операционная система, как emacs
нормального текстового редактора в этой ОС тоже нет
платформа для веб-приложений, ну точнее часть этой платформы
и у неё свой пользовательский интерфейс
Не знаю, что подразумевается под "сложными продуктами",
но в промышленном StarCD (инженерные расчёты, CAE) есть командная строка,
в которую можно вбивать команды вместо ковыряния в меню или вообще работать без гуя,
например, сгенерить модель скриптом, а этап расчёта включает компиляцию приложения
с поддержкой пользовательского кода, пре- и постпроцессинг входных данных для кластера
в виде отдельных утилит. Настоящий unix-way.
В промышленном же AutoCAD есть встроенный интерпретатор lisp,
сам с ним не работал, но почти наверняка есть возможность
работы в пакетном режиме только через этот самый lisp.
Могу уточнить, если надо.
> нет конечно
тогда отвечу на твой основной вопрос:
> мне повторить?
> я думаю, что эти задачи удалось бы с большим успехом встроить в unix way,
чуть резюмирую твои исследования:
1. сначала ты взял простые вещи: а именно всякие cat, grep и т.д., которые одиннаково делаются, как в unix-way-е, так и в "новых технологиях"
2. Далее ты взял довольно сложную задачу: а именно замену компонента (text-box-а) близкого к ядру программы - и выяснил, что эта задача решается одиннаково тяжело под *nix-ом (но к тому же не в рамках unix-way-я) и под "новыми технологиями".
из этого ты почему-то сделал вывод:
писать такие программы геморно.при этом почему-то за кадром осталось то, что "новые технологии" позволяют решать прозрачно больший класс задач, чем классический unix-way.
В отличии от unix way, где это выходит естественно
Как это понимать?
> позволяют решать прозрачно больший класс задач, чем классический unix-way.
пока что мы установили существование двух классов задач:
1) хорошо решающиеся в unix way
2) примерно одинаково решающихся везде
польза "новых технологий", которые должны якобы сильно расширять класс решаемых задач,
не была продемонстрирована
я утверждаю, что в тех задачах, где оная польза чувствуется, вполне можно подружить
эти технологии c unix way, и это также будет естественно
Встроенный язык - говноаргумент.
Он и в MS Office есть.
> в которую можно вбивать команды вместо ковыряния в меню или вообще работать без гуя,
это не unix-way.
ты еще скажи, что VB-редактор в excel-е или в word-е - это тоже unix-way.
в данном случае, мы имеем две совершенно разные командные строки:
одна в ОС, другая в StarCD - и, в общем случае, мы не можем прозрачно перейти из одной командной строки в другую
ps
командная строка - это еще не unix-way
unix-way, в первую очередь, обещает, что любую команду приложения можно выполнить из командной строки ОС
да, многие приложения построенные на "новых технологиях" содержат командную строку.
да, это удобно.
да, и мои приложения, которые я разрабатываю поддерживают командную строку.
но это все - не unix-way.
предполагаемый в данном случае аргумент - возможность полноценного использования приложения в пакетном режиме
>> в которую можно вбивать команды вместо ковыряния в меню или вообще работать без гуя,
>
> это не unix-way.
> ты еще скажи, что VB-редактор в excel-е или в word-е - это тоже unix-way.
>
> в данном случае, мы имеем две совершенно разные командные строки:
> одна в ОС, другая в StarCD - и, в общем случае, мы не можем прозрачно перейти из одной командной строки в другую
бред, иди спать
> ps
> командная строка - это еще не unix-way
> unix-way, в первую очередь, обещает, что любую команду приложения можно выполнить из командной строки ОС
а вот это там как раз есть: всё что делается из гуя является командой приложения
и эту команду я могу запихать пакетной версии на stdin
напомню, что все эти grep и т.д. - в том, или ином виде, есть и в том же .Net-е
> я утверждаю, что в тех задачах, где оная польза чувствуется, вполне можно подружить
> эти технологии c unix way, и это также будет естественно
а зачем? что это даст?
минусы я уже проводил - появляются как минимум проблемы с кавычками.
напомню, что все "новые технологии" (а именно, com и .net) можно косвенно через js и js.net вызвать в том числе и из командной строки.
как насчёт "doing one thing, and doing it well"?
и "output, expected to become an input to another, yet unknown, program"?
в лучшем случае, это операционная система, и вряд ли там есть хороший текстовый редактор
но скорее всего, просто обычная монолитная программа
я сам в детстве видел только древний AutoCAD для DOS, операционной системой он тогда не был
Передо мной щаз цветной экран в разрешении 1280х1024, на котором кроме текстбокса в который я щаз ввожу текст еще... ммм... считаю... 30 активных компонентов управления (кнопок и менюшек) сверху от клиентской части эксплорера, 25 сейчас на таскбаре (считая квикланч и трей и чудовищное количество непосредственно на страничке, в которой эдит бокс. Я могу в любой из них ткнуть мышкой, причем в добрую половину не только левой, но и правой кнопкой. Часть этих элементов не просто занимает место, а еще и сообщает мне текущую температуру проца, текущую пестню в винампе, текущий язык ввода, может начать моргать если мне придет почта или сообщение по аське (при этом всплывёт тултип с описанием эвента так же всплывёт тултип если вдруг оборвется инет.
При этом мне доступно штук десять-пятнадцать активно используемых киборд-шорткатов непосредственно в эксплорере, еще столько же в винде, а нажав win+R (две кнопки одновременно) я попадаю в прекрасную консоль.
Отказаться от всего этого в пользу экрана на котором _только_ эдитбокс, но зато я смогу выбирать, какая прога его реализует - vi или vim? Спасибо большое, я как нибудь так.
На текстовом экране 80х53 это всё просто не поместится, но это и не важно. Текстовый режим не обязателен для юникс вея, и наоборот. Потому что ИДЕ турбо паскаля под дос - НЕ юникс вей. И я склонен полагать, что упоминавшийся здесь top тоже совершенно не юникс вей. Топ - не юникс вэй. Топ - не юникс вэй.
> бред, иди спать
допустим, у меня есть два приложения StarCD и AsteroidCD, которые построены по данной технологии.
смогу ли я прозрачно связать: StarCD и AsteroidCD - а именно прозрачно из под StarCD повызывать команды AsteroidCD, и одновременно из под AsteroidCD вызывать StarCd?
Топ не юникс вэй в том смысле что то, что он выплевывает на экран в интерактивном режиме я наверное всё-таки не могу никуда перенаправить.
>> бред, иди спать
> допустим, у меня есть два приложения StarCD и AsteroidCD, которые построены по данной технологии.
> смогу ли я прозрачно связать: StarCD и AsteroidCD - а именно прозрачно из под StarCD повызывать команды AsteroidCD,
> и одновременно из под AsteroidCD вызывать StarCd?
что такое "повызывать команды"? просто "повызывать" или для достижения какой-то осмысленной цели?
цель гуя - подготовить модель к расчёту, интерактивность там нужна, чтобы пользователь видел,
что именно происходит и как это будет выглядеть, а если этого нет, то приложение превращается
просто в преобразователь потока с возможным побочным эффектом в виде выходных файлов
PS: что такое "прозрачно"? ты постоянно используешь это слово, но так и не объяснил, что же именно оно значит
прозрачно - это когда одиннаковое делается одиннаковыми способами, а разное - разными, и когда не надо ногу засовывать за ухо - чтобы сделать простое действие.
для вычисления формул.
StarCD - выполняет инженерные расчеты, а AsteroidCD - выполняет какие-нибудь химические расчеты
и я хочу внутри StarCD использовать результаты AsteroidCD и наоборот внутри AsteroidCD результаты StarCd, а иногда и то, и другое одновременно.
PS: что такое "прозрачно"? ты постоянно используешь это слово, но так и не объяснил, что же именно оно значитПрозрачно вроде всегда значило: "то что просто рюхнет каждый"
например идея контекстных меню вполне прозрачна, не смотря на то что исполняется разными способами на виндах и маках
одно из требований быстрого обучения - это и выполнение того правила, которое я привел.
Пришло время объяснить разницу. Я хотел сделать это позже, подумав ещё, но придётся сейчас.
В чём преимущество 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.
/-b
/-d
/-i
Ещё как перенаправить.
Если нужно получить только какой-то один кусочек из выдаваемых данных,
то проще взять его непосредственно у первоисточника, в текстовом виде.
По крайней мере в Linux это берётся из procfs.
выполняет он их вот как:
1) построение модели: конвертим модель CAD с помощью отдельной утилиты или рисуем её в препроцессоре
2) в препроцессоре ставим граничные условия, характеристики материалов, взаимодействие сред итп
3) по полученному набору файлов генерируется полностью неинтерактивное приложение,
которое будет решать задачу с возможностью использования пользовательского кода
4) приложение запускается на выполнение (может считаться неделями на кластере)
5) результат загружается в постпроцессор для генерации отчётов
пре- и постпроцессор объединены в одном приложении, которое бывает гуёвым и пакетным
цепочка может выполняться пакетно целиком или частями (имеют смысл цепочки 1-5 и 2-5
т.е. от CAD модели до отчёта о её поведения в различных условиях
> и я хочу внутри StarCD использовать результаты ...
"внутри" это где? загрузить в постпроцессор результат расчёта другой программы?
химию можно добавить в виде пользовательской процедуры в расчёт,
но реализовывать сложное взаимодействие непосредственно в процессе расчёта
будет слишком неэффективно
Вполне может.
Глючит оно ничуть не хуже, а с другими проявлениями операционных систем "обычный пользователь" и не сталкивается.
У меня тоже! Какое совпадение!
> Отказаться от всего этого в пользу экрана на котором _только_ эдитбокс
C чего ты взял, что только? Никто не говорит, что нужно убрать всё остальное.
информацию ту же самую: просто с помощью графики - ее можно представить- более эффективно, соответственно - человек будет способен получить больший объем информации.Как можно текстовую информацию представить эффективнее в виду графики?
также с помощью графики проще делаются инструменты для работы с информацией: скроллинг, zoom, множественное выделение и т.д.Скроллинг это очень хорошо, он есть во всех современных терминальных эмуляторах. zoom - для текстовой информации? Может достаточно будет шрифт поменять?
А что такое множественное выделение?
30 активных компонентов управления (кнопок и менюшек) сверху от клиентской части эксплорера, 25 сейчас на таскбаре (считая квикланч и трей и чудовищное количество непосредственно на страничке, в которой эдит бокс. Я могу в любой из них ткнуть мышкой, причем в добрую половину не только левой, но и правой кнопкой. Часть этих элементов не просто занимает место, а еще и сообщает мне текущую температуру проца, текущую пестню в винампе, текущий язык ввода, может начать моргать если мне придет почта или сообщение по аське (при этом всплывёт тултип с описанием эвента так же всплывёт тултип если вдруг оборвется инет.У меня такого говна на экране тоже хватает. Но добрые 95% фокус ввода и мои глаза проводят в текстовых терминалах.
Топ не юникс вэй в том смысле что то, что он выплевывает на экран в интерактивном режиме я наверное всё-таки не могу никуда перенаправитьЭто не врите. Если top видит, что stdout не есть терминал, то ведет себя совсем не интерактивно.
> информации так, чтобы пользователь это воспринимал?
А с чего ты взял, что пользователь способен воспринимать большой
объём разнородной информации?
Число Ингве никто ещё не отменял.
---
...Я работаю антинаучным аферистом...
> задачи, не предусмотренные разработчиками приложений.
> А за счёт чего это достигается, чего нет у 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. "новые технологии" предпочитают использовать структурированную командную строку
"внутри" это где? загрузить в постпроцессор результат расчёта другой программы?
В первую очередь, я хочу вызвать функцию другого приложения, а не использовать уже готовый результат.
> но реализовывать сложное взаимодействие непосредственно в процессе расчёта будет слишком неэффективно
почему неэффективно?
это как-то связано с тем, что связывание двух приложений идет через "классический unix-way"?
почему даже в такие консервативные приложения, как СУБД, уже можно вставлять вызовы внешнего кода? и это не сказывается сильным образом на эффективности.
> а не с файлами или процессорами, и уж тем более не с файловыми потоками.
> другими словами: например, даже в текстовом редакторе - пользователь хочет работать
> с абзацами, фонтами, стилями, но с текстовым потоком, который все это содержит.
Хочет, и работает. Но удобство автоматизации при этом тем меньше, чем дальше
представление, с которым работает пользователь, от того, с которым работает компьютер.
> Спорный момент. например, то же меню - это объект, панель фонтов - это тоже объект,
> панель редактора - это тоже объект, панель абзацев - тоже объект.
> Соответственно, если пользователь видит на экране - меню, панель фонтов, панель абзацев и т.д.,
> то для него (особенно после обучения) будет довольно прозрачно ожидать,
> что из кода это будет доступно следующим образом:
> ...
И ожидания не оправдаются. Пример реального кода был приведён выше, он совсем не похож на идеал.
Да, повторяю, есть люди, которые работают над более прозрачным 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. "новые технологии" предпочитают использовать структурированную командную строку
пока на уровне обещаний
пригодного для использования шелла со структурированной командной строкой я не видел
мне всегда казалось, что чисто текстовой информации не очень много, т.к. текст - это всего лишь один из способов представления информации
взять тоже кол-во: его можно представить в виде цифр, можно представить в виде столбика, можно представить в виде кругового индикатора и т.д.
или взять время: его можно представить в виде текста (цифр а можно в виде циферблата
набор цифр можно представить в виде таблицы, а можно в виде графика, или диаграммы.
ошибку можно представить в виде слова "ошибка", а можно в виде мигающей лампочки.
и т.д.
> можно представить в виде столбика, можно представить в виде кругового индикатора и т.д.
поэтому расчётная программа выдаст результат в виде цифр,
а средство визуализации нарисует диаграммы, если необходимо
> информации? Может достаточно будет шрифт поменять?
> А что такое множественное выделение?
допустим у тебя есть набор фотографий, они сняты под разными углами.
в самих фотографиях информации о том, как держали фотоаппарат нет.
соответственно задача на данный момент не автоматизируема.
как для данной задачи должен выглядит UI, который максимально эффективно позволяет выполнить данную задачу?
как это задача делается в терминале?
ps
вместо фотографий может быть и текстовая информация, например, имена. И задача рассортировать имена по странам.
>> "внутри" это где? загрузить в постпроцессор результат расчёта другой программы?
> В первую очередь, я хочу вызвать функцию другого приложения, а не использовать уже готовый результат.
вот-вот "вызвать функцию", а не совершить осмысленное действие
>> но реализовывать сложное взаимодействие непосредственно в процессе расчёта будет слишком неэффективно
> почему неэффективно?
упоминание про кластер видел?
задача расчёта может иметь значительную вычислительную сложность
и именно поэтому в комплексе она вынесена отдельно
тем не менее, функция комплекса (единственная возможная, несмотря на представление
в виде нескольких компонент) - проведение расчёта над моделью
это неделимое действие с точки зрения какого-либо внешнего приложения
> это как-то связано с тем, что связывание двух приложений идет через "классический unix-way"?
это связано с тем, что тебе вдруг понадобилось какое-то взаимодействие там, где оно не нужно
мне всегда казалось, что чисто текстовой информации не очень много, т.к. текст - это всего лишь один из способов представления информацииНо он идеален для текста. Для писем, программ, отчетов...
взять тоже кол-во: его можно представить в виде цифр, можно представить в виде столбика, можно представить в виде кругового индикатора и т.д.Реально такая необходимость возникает очень редко, и тогда пользуются отдельной программой. В большинстве случаев приятнее цифры. Ей богу, не могу представить себе top в виду круговой диаграммы. Кстати в Windows task manager текстовый.
или взять время: его можно представить в виде текста (цифр а можно в виде циферблатаЯ субъективно предпочитаю цифры. Любители циферблатов могут расположить в уголке экрана циферблат. Выше я говорил, что у меня на столе есть графические элементы, но я не уделяю им много времени.
ошибку можно представить в виде слова "ошибка", а можно в виде мигающей лампочки.Мне удобнее прочесть "Not enough space on device", чем вспоминать, что же означает светломалиновая лампочка. Думаю, я не один такой.
а я смогу быстрым движением перейти из одного режима в другой?
представить половину инфы в виде текста, половину в виде графика?
смогу изменить мышкой положение точек на графике? и при этом сразу видеть как они меняются в таблице, и на круговой диаграмме?
сразу увидеть, как меняется результат моделирумого хим. процесса? эти точки были, например, кол-вом ингридиентов
сразу увидеть, как меняется цена результирующего продукта? ингридиенты же денег стоят, а цену у меня бух. программа считает.
сразу увидеть, не превысил ли я квоты по кол-ву ингридиентов. текущие поставщики готовы только определенный объем поставлять.
это все интерактивные задачи - и я как пользователь, хочу чтобы компьютер мне выдавал эту информацию интерактивно, т.е. сразу после моих внесенных изменений
допустим у тебя есть набор фотографий, они сняты под разными углами.Задача не решается в текстовом режиме. Тут графика необходима, потому, что ведется работа с графическими изображениями. Я не говорю, что терминал подходит для всего. Я говорю, что он идеален для текстовой информации.
в самих фотографиях информации о том, как держали фотоаппарат нет.
соответственно задача на данный момент не автоматизируема.
как для данной задачи должен выглядит UI, который максимально эффективно позволяет выполнить данную задачу?
как это задача делается в терминале?
вместо фотографий может быть и текстовая информация, например, имена. И задача рассортировать имена по странам.Не совсем уловил, что здесь сложного? Я бы открыл текстовый файл с именами, и в начала строки добавлял бы одно-двух буквенные метки. Потом прогнал бы файл через sort, и срезал бы первое поле. Это было бы быстрее, чем таскать имена мышкой.
Есть предположение, что ты плохо себе представляешь, что это такое.
То, что в Униксе исходно заложено побайтное разбиение файла,
нисколько не отменяет возможности наращивания уровня.
Вплоть до работы с классическими доуниксовыми файлами.
Да и обрабатывать тот же текст на уровне абзацев и заголовков
никто не мешает --- это в Униксе с рождения.
Отметим, что "панель редактора" --- это не какой-то там
"объект," а именно полноценный текстовый редактор.
Из Lynx-а я лично вызывал JED, сидя под MS DOS 7.
Писал в этот самый форум.
Где возможность вызвать внешний редактор из всяких там IE?
Хотя ничто, казалось бы, не мешает.
Рассказать, как это сделано в связке Lynx-JED-DOS?
Darcs вызывает внешний редактор для написания примечаний.
Под Linux и FreeBSD.
Тоже могу рассказать, как сделано.
Что такое "intellisence," я пока не понял. Переведи.
>> Вместо этого пользователь имеет дело с толстыми обёртками,
>> предоставляющими ограниченый доступ к этим объектам.
> Это проблема подхода в целом, или это проблема конкретных
> приложений?
Есть серьёзные основания считать, что подхода.
Не только из униксового опыта.
> 1. С Office-м идет и среда разработки (VB-редактор)
Что-то я не слышал, чтобы им сильно пользовались.
Можно увидеть вот это:
на хвалёном 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; }
> 2. если брать .Net, то средства разработки в определенном
> объеме уже включены в саму ОС.
"В определённом" --- это в каком?
В насколько определённом?
Быстро пример вызова интерпретатора языка обработки символьной информации.
Например, уровня awk-а.
И всё же, я не увидел ответ вот на это.
---
...Я работаю антинаучным аферистом...
1. очень велика вероятность ошибиться.
2. все та же проблема с метасимволами (как быть если в имене уже есть enter, например).
3. пользователь должен помнить какие символы, что обозначают
4. компьютеру очень сложно тебе облегчить данный процесс, даже если он располагает какой-то частичной неточной информацией (например, комьютер может знать, что фамилии, которые оканчивают на ов - скорее всего русские).
5. если подряд идут 5-10-100 имен, которые принадлежат одной стране, тебе придется все равно 5-100 раз указывать один и тот же буквы префикса
6. компьютеру сложно тебе предложить дополнительную информацию (допустим ты увидел имена на редком языке, и хочешь свериться со справочником, или хочешь запросить какую-то доп. информацию по имени)
ps
при чем я даже не понял, чем твой способ - лучше обычного checkbox-листа.
у checkbox-а, конечно, все теже проблемы (а именно отсутствие развитых групповых операций но он хоть контролирует процесс.
> представить половину инфы в виде текста, половину в виде графика?
> ...
для этого нужны соответствующие прикладные инструменты
хороший инструмент такого плана сможет использовать готовые расчётные модули, и готовые визуализаторы
а что если нужно производить эксперимент на стенде для получения нужных данных, каждый раз
когда ты немного изменил ингредиенты, и в этом помогает какая-то другая программа?
если впоследствии задачу удасться автоматизировать лучше, например понять,
какие именно графики нужны, и как именно подбирать ингредиенты, можно будет оставить
те же самые модули в новой автоматической конструкции
Наоборот, очень легко.
> 5. если подряд идут 5-10-100 имен, которые принадлежат одной стране, тебе придется все равно 5-100 раз указывать один и тот же буквы префикса
Ничего подобного, хватит одного раза.
> 6. компьютеру сложно тебе предложить дополнительную информацию (допустим ты увидел имена на редком языке, и хочешь свериться со справочником, или
> хочешь запросить какую-то доп. информацию по имени)
Да нет, очень просто, если у справочника хороший интерфейс.
> объём разнородной информации?
потому что те же операторы работают с намного большим кол-вом данных на экране, чем ты.
и при этом мне кажется, что уровень интеллекта у них много ниже, чем у тебя.
с каким кол-вом экранов (окошечек, лампочек, тумблеров и т.д.) работает, например, оператор хим. предприятия?
с каким кол-вом экранов (окошечек, лампочек, тумблеров и т.д.) работает, например, водитель вертолета?
с каким кол-вом данных работает. например, биржевой игрок?
> Число Ингве никто ещё не отменял.
это число - только ориентир, но не верхний предел.
при чем акцент у этого числа делается на то, что с данным числом элементов человек может работать сознательно.
Замечу, что важной особенностью человека является то, что человек может быстро совершать качественные операции, например, заметить красную точку среди зеленых, при чем скорость обработки не зависит от того: количество точек: 5, 50 или 10 тысяч.
> среди зеленых, при чем скорость обработки не зависит от того: количество точек: 5, 50 или 10 тысяч.
Однако мышой ты попадёшь уже не так быстро.
А если точек будет миллион, то совсем не быстро.
А если 10 миллионов, то не разглядишь нужную.
А при таскании мышой нельзя ошибиться?
> 2. все та же проблема с метасимволами (как быть если в имене уже есть enter, например).
Он должен быть заескейпен в исходном файле.
> 3. пользователь должен помнить какие символы, что обозначают
Он придумывает их сам.
> 4. компьютеру очень сложно тебе облегчить данный процесс, даже если он располагает какой-то частичной неточной информацией
> (например, комьютер может знать, что фамилии, которые оканчивают на ов - скорее всего русские).
с помощью регулярного выражения эти имена метятся автоматически
> 5. если подряд идут 5-10-100 имен, которые принадлежат одной стране, тебе придется все равно 5-100 раз указывать один и тот же буквы префикса
В текстовом редакторе vi это можно сделать в одну команду длиной около 5 - 7 символов.
> 6. компьютеру сложно тебе предложить дополнительную информацию (допустим ты увидел имена на редком языке, и хочешь свериться
> со справочником, или хочешь запросить какую-то доп. информацию по имени)
Не сложно. В соседнем терминале я буду делать grep по справочнику.
при чем я даже не понял, чем твой способ - лучше обычного checkbox-листа.Именно, что контролирует. А текстовый файл никто не контролирует. Я могу быстро рассортировать часть его, провести групповые операции над строками, и т.п.
у checkbox-а, конечно, все теже проблемы (а именно отсутствие развитых групповых операций но он хоть контролирует процесс.
с каким кол-вом экранов (окошечек, лампочек, тумблеров и т.д.) работает, например, оператор хим. предприятия?Ты просто привел примеры, где достаточно много информации представлено в виде графиков и круговых диаграмм. Никто не отрицает их существование.
с каким кол-вом экранов (окошечек, лампочек, тумблеров и т.д.) работает, например, водитель вертолета?
с каким кол-вом данных работает. например, биржевой игрок?
> хороший инструмент такого плана сможет использовать готовые расчётные модули, и готовые визуализаторы
> а что если нужно производить эксперимент на стенде для получения нужных данных, каждый раз
> когда ты немного изменил ингредиенты, и в этом помогает какая-то другая программа?
на минимуту допустим, что мы живем в идеальном и у нас есть такие прикладные инструменты.
где здесь unix-way? и главное - зачем он здесь?
как в этом unix-way будет происходить обмен, например, мат. формулами? или хим. формулами?
или кусками расчетного кода?
Следить за появлением красных лампочек --- это одно,
а _постоянно_ следить за показаниями даже десятка приборов ---
совершенно другое дело.
Кроме того, что будет делать тот оператор, если у него
одновременно зажгутся двадцать этих лампочек?
Число Ингве --- это не ориентир, а именно предел.
Выход за него означает потерю управления.
Глупый вопрос: ты когда-нибудь какой-нибудь опыт ставил?
---
...Я работаю антинаучным аферистом...
как?
Нужно выделить блок, а потом вставить символы в начало (или ещё куда) каждой строчки.
что значит хороший интерфейс?
Ps
допустим нам надо проверить орфографию, текст большой, несколько тысяч страниц.
все рутинные задачи мы автоматизировали, т.е. ввели в комьютер основные правила, задали им вес и т.д.
далее для каждой ошибки надо увидеть контекст (иногда достаточно одного слова, иногда нужно предложение, а иногда нам требуется и целый абзац, причем знание того, какая доп. информация нам нужна, появляется только тогда, когда мы видем конкретную ошибку).
так же нам нужно иногда переходить на описание правила - которые вызвало эту ошибку и т.д.
как это все будет делаться в терминале? через файлы? как будет совершаться вывод контекста? переход к правилу и т.д.?
согласен, торможу
только я не понимаю, чем это проще, чем выделить блок в checkbox list-е и нажать пробел.
Точно так же, только без (D)COM(+) и прочего "net."
Чисто для проверки, вы там научились сравнивать версии текстов?
---
...Я работаю антинаучным аферистом...
нажав пробел, ты сможешь выполнить то, что захотел разработчик
выделив блок в редакторе, ты сможешь сделать то, что хочешь сам
Если не на этой же, что случается, увы, чаще.
---
...Я работаю антинаучным аферистом...
последнее время, очень редко вижу голый текст, rich-текст на каждом шаге, а вот просто текст - очень редко попадается.
замечу, что rich-text - это как раз уже структурированная информация.
> Мне удобнее прочесть "Not enough space on device", чем вспоминать, что же означает светломалиновая
> лампочка. Думаю, я не один такой.
т.е. ты готов к тому, что редактируя текст, ты периодически получаешь Message Box с "Not enough space on device" - которое выплевывает mail-демон?
ps
где это текстовое сообщение все-таки появляется? на экране или в логе?
> выделив блок в редакторе, ты сможешь сделать то, что хочешь сам
если я сам (как пользователь) умею настраивать CheckBoxList, то проблема решена?
> в виде нескольких компонент) - проведение расчёта над моделью
> это неделимое действие с точки зрения какого-либо внешнего приложения
делимое, т.к. еще раз повторю, внутри данной функции я могу хотеть вызвать функцию другой программы, например, взятие интеграла, или расчет стоимости, или расчет прочности, или расчет результата хим. процесса.
вот, например: http://www.richercomponents.com/richtextbox/demos/0/
чем это неподключение внешнего редактора?
> Что такое "intellisence," я пока не понял. Переведи.
то что происходит, например, в терминале при наборе первых букв команды и нажатии tab-а.
> Быстро пример вызова интерпретатора языка обработки символьной информации.
> Например, уровня awk-а.
ты уверен, что он нужен?
если у меня есть структурированные данные, то я так сразу не могу назвать задач для которых требуется такой инструмент.
что значит вылетает?
> например, взятие интеграла, или расчет стоимости, или расчет прочности, или расчет результата хим. процесса.
надеюсь, ты не собираешься предложить dcom, или soap?
тут только прямое ABI спасёт
это же высокопроизводительные вычисления
в рамках какой задачи?
DCom или Soap - это один из каналов
бывают еще такие каналы: как прямой вызов, file mapped канал, бинарный канал и т.д.
последнее время, очень редко вижу голый текст, rich-текст на каждом шаге, а вот просто текст - очень редко попадается.А я ни разу не видел эту штуковину. Целый день вижу обычные тексты.
замечу, что rich-text - это как раз уже структурированная информация.
т.е. ты готов к тому, что редактируя текст, ты периодически получаешь Message Box с "Not enough space on device" - которое выплевывает mail-демон?Я обычно так не конфигурирую syslog, хотя в некоторых случаях так удобнее.
где это текстовое сообщение все-таки появляется? на экране или в логе?Зависит от конкретной ситуации. Если от демона, то в логе. Если от программы, которую я только что запустил, то на экране.
http://www.richercomponents.com/richtextbox/demos/0/
Насколько широко он распространён?
Или это концептуальная модель?
Ты его используешь?
Насчёт intellisence.
Громкие слова не приводят к пониманию.
Сказал бы completion --- было бы понято.
Боюсь, your complete is less complete than mine.
Вопрос: ты когда-нибудь использовал что-то наподобие abbrev-mode
не в программистских целях?
А видел ли ты человека, использовавшего такое в
непрограммистских целях?
Да, уверен.
Потому что некоторые действия, если и выражаются в макросах,
основанных на выделении мышкой и тыканием в кнопки, то очень
плохо.
Для тебя приведена задача перевести четырёхстрочную программу на
awk-е на хвалёный VB, который есть WinWord.
Можешь рассказать, как провести такое преобразование текста с
помощью умной мыши.
А пока ответа на вопрос о средствах обработки символьных,
а не двоичных данных в винде --- нет.
И это неспроста.
Просто этих средств там нет.
---
...Я работаю антинаучным аферистом...
> Насколько широко он распространён?
Или это концептуальная модель?
Ты его используешь?
Насчёт intellisence.
Громкие слова не приводят к пониманию.
Сказал бы completion --- было бы понято.
Боюсь, your complete is less complete than mine.
Вопрос: ты когда-нибудь использовал что-то наподобие abbrev-mode
не в программистских целях?
А видел ли ты человека, использовавшего такое в
непрограммистских целях?
Да, уверен.
Потому что некоторые действия, если и выражаются в макросах,
основанных на выделении мышкой и тыканием в кнопки, то очень
плохо.
Для тебя приведена задача перевести четырёхстрочную программу на
awk-е на хвалёный VB, который есть WinWord.
Можешь рассказать, как провести такое преобразование текста с
помощью умной мыши.
А пока ответа на вопрос о средствах обработки символьных,
а не двоичных данных в винде --- нет.
И это неспроста.
Просто этих средств там нет.
---
...Я работаю антинаучным аферистом...
Из-за заложенных в него ограничений.
---
...Я работаю антинаучным аферистом...
Чисто пользовательская, между прочим, задачка-то.
---
...Я работаю антинаучным аферистом...
если от демона, но это сообщения важное?
как ты узнаешь, что в логе появились новые сообщения?
Они там постоянно появляются, так что узнавать ничего особо не надо.
---
...Я работаю антинаучным аферистом...
Если настолько важное, что реагировать надо прямо сейчас, то мне приходит почта.
> Или это концептуальная модель?
> Ты его используешь?
на ZForum-е (http://z80.gz-net.ru/ZForum) он используется
в паре корпоративных тулов, которые мы используем, он есть
ps
в своих задачах пока не использую, т.к. знаю пару подводных камней именно у этой реализации.
> Вопрос: ты когда-нибудь использовал что-то наподобие abbrev-mode
> не в программистских целях?
Да, постоянно, например, в IE - для ввода тех же регистрационных данных
> А видел ли ты человека, использовавшего такое в непрограммистских целях?
опять же почти все пользователи этим пользуются в IE
> Для тебя приведена задача перевести четырёхстрочную программу на
> awk-е на хвалёный VB, который есть WinWord.
пример, который ты привел, не читаем без справочника. даже для меня, т.к. я не помню синтаксис регулярных выражений на память.
как сообщается, что пришла почта? как сообщается, что пришла важная почта?
выскакивает MessageBox "пришла почта"?
винт, например, умер.
> помощью умной мыши.
скажи по-русски, что делает данный фрагмент awk-кода.
как сообщается, что пришла почта? как сообщается, что пришла важная почта?Масса опций, можно реализовать всё что придет в голову. Графическое оповещение в углу экрана в том числе. Но мне это не нравится. Я просто время от времени смотрю на почтового клиента и смотрю в каких ящиках появилась почта.
тут звук бывает весьма в тему
Каким это образом?
Извини, это не решение исходной задачи --- подмена условия.
Пример, который я привёл почти не использует регулярных выражений.
Так что то, что ты его не понимаешь, говорит лишь о том, что ты,
вопреки создаваемому тобой мнению, не занимаешься обработкой
символьной информации, а скорее всего обрабатываешь
неструктурированную двоичную.
---
...Я работаю антинаучным аферистом...
это Unix-way?
---
...Я работаю антинаучным аферистом...
> Каким это образом?
вопрос не понял.
обычным, для редактирования сообщений.
The biff command appeared in 4.0BSD. It was named after the dog of Heidi
Stettner. He died in August 1993, at 15.
---
...Я работаю антинаучным аферистом...
а на пользовательской машине.
Не только для одного выделенного форума.
И не только для форумов.
Поэтому приведённый пример отметается.
---
...Я работаю антинаучным аферистом...
> это Unix-way?
Да! Дать возможность пользователю подвесить произвольный обработчик на событие - это unix way.
Text.SplitByPages(16);
или так:
<line[position%16=15]>
<xsl:copy/>
<page-br/>
</line>
<line>
<xsl:copy/>
</line>
или это псевдо-язык? (может ещё блок-схемы порисуем? )
твой код что на это скажет?
Кроме того, как ты борешься с выдачей излишних пустых страниц?
Там не зря плюсики после \f стоят.
---
...Я работаю антинаучным аферистом...
Это если кто-то уже написал необходимую функцию.
> <line[position%16=15]>
> <xsl:copy/>
> <page-br/>
> </line>
> <line>
> <xsl:copy/>
> </line>
Это, если я правильно понял, если ты уже договорился с источником,
чтоб он выдавал данные в той схеме, которая тебе наиболее подходит.
В интерактивной работе с программами разных авторов такое редко бывает.
первый пример - абстрактный
т.к. опять же у пользователей нет задач выводить по 16 строк на страницу.
есть задачи выводить по 5 см текста, по 300 пикселей и т.д. на страницу
второй пример:
это xslt
> чтоб он выдавал данные в той схеме, которая тебе наиболее подходит.
> В интерактивной работе с программами разных авторов такое редко бывает.
но я же как-то договорился с источником, что для разделения строк - используется символ с кодом 13,
а разделение страниц - это еще какой-то символ.
в чем разница между этой договоренностью, и той договоренностью - которую я использую.
ps
как минимум - жизнь облегчает то, что источник редко меняет формат данных
причем для неструктурированного текста - я никогда не узнаю, что формат поменялся
чем страдает, например, большинство скриптов *nix-а.
при чем часто бывает, что поменялся не сам формат, а просто у источника появились такие данные на которых проявилась дополнительная особенность (например, параметр с пробелом вдруг оказался взятым в кавычки)
каким образом?
допустим я хочу, чтобы если grep нашел xx - то выполнился код a1, а если нашлось zz - то выполнился код b1 - как мне это сделать?
> а разделение страниц - это еще какой-то символ.
Eсли в источнике используются другие символы, это можно исправить добавлением в скрипт ещё одной строчки
а если вдруг источник решил выдавать текст в виде донельзя структурированного хвалёного WordML, то обработать это
сможет только Word, так как формат сложный.
Unix way - используется наиболее простой формат, позволяющий решить задачу.
Microsoft way - используется формат, требующий специального приложения (чтоб больше народу это приложение купили).
второй пример:
это xslt
да, не заметил
согласен, так можно, но не без примечания гадфазера
Их не должно быть.
Страницы добиваются пустыми строками.
Читай исходник.
Итого: подмена условия.
Кроме того --- VB!
---
...Я работаю антинаучным аферистом...
> Там не зря плюсики после \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>
Unix way - используется наиболее простой формат, позволяющий решить задачу.Тогда уж(для пользователя Unix way - используется наиболее простой формат, позволяющей решить задачу, но требующий человека_хорошо_рюхающего_никсы, сиречь программер/админ(чтобы больше платить админам).
Microsoft way - используется формат, требующий специального приложения (чтоб больше народу это приложение купили).
Где разница?
vb уже 4 года deprecated.
Во-первых, VB.
Потому что именно он заявлен входящим в поставку WinWord.
Во-вторых, на выходе должен получаться точно такой же plain
text, но побитый добавлением пустых строк на страницы без
разделителя между последними.
Чисто настоящая пользовательская задача.
Хотя и относительно продвинутого уровня.
Могу пояснить, почему должен получаться plain text.
Второй ступенью будет это:
dd conv=block cbs=64
Но если хочешь, можешь объединить обе ступени в программу на VB.
---
...Я работаю антинаучным аферистом...
Тебя никто за язык не тянул.
---
"Бди!"
Козьма Прутков.
зачем все это пользователю?
даже я (как advanced пользователь) такое ни разу не делал, и даже не ощущал потребности.
хорошо рюхающий систему человек потребуется в любом из этих двух примеров
---
"Narrowness of experience leads to narrowness of imagination."
Rob Pike
вопрос был, зачем ты это делаешь? что ты этим хочешь добиться в итоге?
может удобнее это все делать неким готовым инструментом?
Расскажи, откуда.
Кроме того, встречаются и другие задачи по обработке текста,
которые очень просто решаются на awk или sed.
Текст, разумеется, обычный.
Потому что пользователю-не-виндопрограммисту в голову не придёт
читать многотомные труды по XML, XSL и ещё чему-то такому же XL.
Прочитать короткую справку по awk или sed значительно проще.
---
...Я работаю антинаучным аферистом...
я до сих пор не вижу задачи, стоящей перед пользователем.
даже не вижу класса задач.
я не понимаю зачем это надо пользователю.
соответственно поэтому не могу предложить средств, подходящих для решения задачи
разбитый на страницы по-старинке, к блочному виду.
Совершенно частная задача.
Из тех, что порой возникают перед пользователями.
---
...Я работаю антинаучным аферистом...
>> в виде нескольких компонент) - проведение расчёта над моделью
>> это неделимое действие с точки зрения какого-либо внешнего приложения
>
> делимое, т.к. еще раз повторю, внутри данной функции я могу хотеть вызвать
> функцию другой программы, например, взятие интеграла, или расчет стоимости,
> или расчет прочности, или расчет результата хим. процесса.
эти операции будут или предшествовать расчёту или следовать за ним
ещё можно модифицировать сам алгоритм, но это не "функция другой программы"
существуют ли реальные системы подобного класса, основанные на "новых технологиях",
которые удовлетворяют твоим "я могу хотеть"?
как они работают и где используются?
кстати, ты не забыл, о чём речь?
совсем не о твоём "я хочу", а об архитектуре реального промышленного приложения,
существование, которых ты безосновательно отрицал
почему?
> существуют ли реальные системы подобного класса, основанные на "новых технологиях",
> которые удовлетворяют твоим "я могу хотеть"?
любое приложение, которое поддерживает VBScript или JavaScript, например, банальный IE
> как они работают и где используются?
поддерживают, или COm, или .Net - соответственно эти технологии позволяют прозрачно вызвать функции другого приложения.
из "старых" (которые используют COM) - это, например, почти все продукты SCADA, ERP, даже 1С скорее всего (если, конечно, там особо на уши не вставали).
из "новых" (.net) - только MSSQL 2005 щупал, про последний Автокад ходят слухи, что поддерживает, у остальных пока, в основном, в стадии разработки.
> совсем не о твоём "я хочу", а об архитектуре реального промышленного приложения,
> существование, которых ты безосновательно отрицал
я отрицаю, что это классический unix-way, т.к. нет главного - нет прозрачной возможности связать два приложения.
с каких пор IE у нас занимается высокопроизводительными вычислениями?
его очень часто используют для визуализации "результатов высокопроизводительных вычислений", причем часто как раз в интерактивном режиме.
> причем часто как раз в интерактивном режиме.
как подключить визуализатор, тебе уже объяснили
ты хотел, чтобы HPC-ядро связывалась с другой программой во время расчёта, прозрачно меняя алгоритм вычислений
тебе ответили, что это непросто, и "новые технологии" в этом не помогают
контрпримера не нашлось
слив засчитан (с)
не понял, я целых класс программ привел, в которых такое используется.
> почему?
алгоритм - численное решение дифференциального уравнения с помощью разностной схемы
сетка большая, итераций много, внутреннее представление данных своё
(иначе ничего полезного просто не посчитать, а так можно, например, модель самолёта не строить
и аэродинамическую трубу не напрягать)
>> существуют ли реальные системы подобного класса, основанные на "новых технологиях",
>> которые удовлетворяют твоим "я могу хотеть"?
> любое приложение, которое поддерживает VBScript или JavaScript, например, банальный IE
>> как они работают и где используются?
> поддерживают, или COm, или .Net - соответственно эти технологии позволяют прозрачно вызвать функции другого приложения.
под "подобным классом" я имел ввиду промышленную CAE систему
> из "старых" (которые используют COM) - это, например, почти все продукты SCADA, ERP,
> даже 1С скорее всего (если, конечно, там особо на уши не вставали).
> из "новых" (.net) - только MSSQL 2005 щупал, про последний Автокад ходят слухи,
> что поддерживает, у остальных пока, в основном, в стадии разработки.
>> совсем не о твоём "я хочу", а об архитектуре реального промышленного приложения,
>> существование, которых ты безосновательно отрицал
>
> я отрицаю, что это классический unix-way, т.к. нет главного - нет прозрачной возможности связать два приложения.
есть такая возможность, только ты не там её ищешь
можно автоматизировать процесс расчёта классическим unix-way способом,
подсовывая модели на вход и получая результат на выходе,
подбирая параметры этой модели скриптом
gnuplot, с помощью которого я картики в диплом генерил, снаружи выглядит почти так же,
только форматы данных более распространённые и работает быстрее
или он тоже не "классический unix-way"?
все они ни разу не HPC
ну бля, неужели это нормально, что разработчик может настолько не понимать в смежных областях
понятно, что это виндовый разработчик, но не до такой же степени
то у него в системном программировании никаких интересных задач не осталось
а теперь для HPC предлагает JavaScript
это ж ни в каких кошмарах не приснится, а в нашем форуме - пожалуйста
а теперь для HPC предлагает JavaScriptГде это тут было?
Вроде речь шла о визуализации и управлении ходом работы...
И, кстати, интересный эпитет - "виндовый разработчик"... Типа так с пренебрежением?
Заметьте, никто не наезжает вроде как на сам Никс, критикуется устаревшая концепция, которой многие почему-то следуют...
Все старье - на свалку!
Darkgray предлагал модифицировать расчётный алгоритм с помощью VBScript или JavaScript, под тем предлогом, что так делает IE.
> И, кстати, интересный эпитет - "виндовый разработчик"... Типа так с пренебрежением?
Среди моих знакомых, умеющих немного программировать под *nix, я такого не встречал.
---
...Я работаю антинаучным аферистом...
Кстати есть еще и другие системы передачи.
Базовые идеи не устаревают... А вот их тех. воплощение - ДОЛЖНО развиваться.
Базововая идея - это идея взаимодейсвтвия программ. Ваш т.н. юникс - вей - всего лишь воплощение. Не плохое, но на текущий момент морально устаревшее.
Darkgray предлагал модифицировать расчётный алгоритм с помощью VBScript или JavaScript, под тем предлогом, что так делает IE.Тогда я не понял слова "модифицировать".
Я понял это именно как модификация алгоритма в смысле использования в нем(сцепки) различных готовых модулей. А сами то расчеты будут выполнять уже готовые оптимизированные модули .
Ну да. Добавить в механическую задачу химические реакции, которые умеет рассчитывать химический пакет.
Хорошая сцепка.
С прослойкой на JavaScript.
Как ТЫ представляешь сцепку о которой говоришь?
Есть одно уравнение с частными производными, описывающее механику.
И есть другое, описывающее химию.
Сажаешь математика, который выводит уравнения, описывающие всё сразу.
Если результат отнесётся к тому классу, что умеет считать готовый пакет, то повезло, можно считать.
Если нельзя, придётся разрабатывать и реализовывать новый алгоритм.
Вызывать миллиард раз код на JavaScript, извините, не дело.
А в 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]
---
...Я работаю антинаучным аферистом...
Ха, но вот тут то ком нас и спасает - если оба пакета его поддерживают(или лучше .нет то пишем как раз,к примеру, на С#, и все ок.
Кроме telneta ничем не пользовался
Ему пока нет достойной замены, да и то для отладки сетевых сервисов зачастую приходится писать свои тестовые утилиты...
зря спросил. ща Контра список запостит
Интересно будет почитать список ретроградов и консерваторов
Примеры HPC-пакетов, использующих эти технологии для предоставления возможности интеграции между собой, в студию.
стал говорить пор IE, не заметив слово HPC.
А ты что скажешь?
what is, кстати?
High Performance Computing
Мат. пакеты покатят? Если да, то Mathematica 5.0 поддерживает .net
MaPack for COM пойдет?
Думаю, нет.
Это ж символьные вычисления преимущественно.
Разве кто-то использует это для численных методов, для задач, которые нужно считать на кластерах много дней?
Весь апи с 7ой версии доступен через ActiveX
Так, библиотеки численных методов.
почитать можно здесь
кому нужна ОС, в которой до сих пор вместо ssh используется rsh?
Не пора ли её того?
На свалку истории.
---
...Я работаю антинаучным аферистом...
если я ничего не пропустил, он у тебя спросил "кем именно используется"?
Уроки шелл програмирования платные.
Pro/Engineer - CAD
Вот недавно ты жаловался, что unix way страдает от того, что может поменяться формат вывода программы стоящей выше по конвейеру. Пользователю придется подправить скрипт. Бывает. Но ведь в вашем windows мире технологии устаревают быстрее, чем в unix меняются форматы вывода программ.
man awk
---
...Я работаю антинаучным аферистом...
зачем все это пользователю?Ощущал потребность отсортировать имена по странам?
даже я (как advanced пользователь) такое ни разу не делал, и даже не ощущал потребности.
1. пока не запосченно точное определение что-такое HPC, то каждый понимает этот термин в меру своей испорченности.
На мой взгляд, к HPC, с определенными оговорками, можно отнести и АСУТП, и ERP, и СУБД, и бухгалтерию.
2. почему на твой взгляд невозможна эффективная компиляция JavaScript-а?
Я ни разу не пользовался rsh, даже не знал что это такое до сегодняшнего дня. Зато каждый день пользуюсь Remote Desktop.
И узнал о том что есть этот самый rsh от тебя.
Имхо эти утилиты deprecated, но оставленны для совместимости(скоро выкинут)
Специально для консерваторов. Видишь, какой дядя Билли добрый
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 programStarCD - принимает команды из скрипта.
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 есть нечто само собой разумеющееся.
Ни намёка о взаимодействии с другими программами во время расчёта.
Я что-то не понимаю, вы стебётесь что-ли, выбирая примеры, ничуть не похожие на то, что требуется?
HPC - то, что стоит на пределе возможности современных систем в смысле производительности вычислений
задачи, которые недавно ещё нельзя было посчитать, а сейчас считаются в течении долгого времени на
суперкомпьютерах и высокопроизводительных кластерах
покажешь такое с .Net? или с JavaScript?
просил CAE.
покажешь такое?
> почему на твой взгляд невозможна эффективная компиляция JavaScript-а?
может быть и возможна
примеры пакетов, которые её используют, где?
Причём с описанием VT52 и VT100.
В более ранних произведениях БГ его не было.
Ладно, завтра будут данные по W2K3.
Чисто для проверки.
Или, гляньте кто-нибудь, у кого под рукой всякие XP и 2003:
Ну, или на каком у вас разделе оно водится.
c:
cd \
dir /s/b termcap
---
...Я работаю антинаучным аферистом...
Но, имхо, тут только ты и понимаешь, "что требутся"
Вместо того, что бы парировать этот лозунг по второму разу, порекомендую почитать длинный тред под названием *Скрипт для переименования файлов в винде". Там этот вопрос поднимался.
Уже несколько дней ищут, что только ни пытались изобрести
посмотри, например, LabView - он сейчас поддерживает и .Net, и .Com
Технологии БУДУТ развиваться. Прогресс неизбежен. Его не остановить
это пример чего?
на сайте сказано, что это development environment для некоторых специальных приложений
как это вообще относится к нашему разговору?
появились termcap, etc/hosts и прочие радости в виде rsh?
Почему появился именно rsh, хотя уже давно его считают
deprecated, а не ssh?
---
...Я работаю антинаучным аферистом...
Зачем ssh, если есть rdp? Который появился в ходе неизбежного прогресса и очевидных неудобств командной строки, предоставляемой ssh.
862 байта, если кому интересно.
Win2003
который повторил те же идеи дизайна X11, которые были злобно раскритикованы ещё в UNIX Haters' Guide?
ты его читал, кстати? там весело, особенно весело смотреть, как MS планомерно наступает на те же грабли
лабораторная система, т.е. фактически - это система позиционируется, как программная замена аппаратным приборам.
такие системы требовательны к производительности, т.к. часто требуется сложная (и с очень высоким периодом) обработка входных сигналов.
интересно просто, для общего развития.
ну или ссылку дай, но не только на guide, а и на RDP в сравнении с X11.
Почему в прогрессивной, по сравнению с 98, 2000-й появился rsh, а не ssh?
Подчёркивание моё.
FreeBSD 5.3 June 6, 1993 FreeBSD 5.3
~~~~
А termcap?
---
...Я работаю антинаучным аферистом...
Зачем 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
Личные впечатления от использования RDP:
Использую более года очень интенсивно.
Работа - Личный комп.
Комп дома у родителей - личный комп.
Охуенно удобно. Ничего не знаю ни про какие грабли.
Не надо еще вот про него спорить.
Точно такой же, сделанный 23-го марта 2000-го?
23.03.2000 03:00 862 termcap
С описанием какого-то недоделка, VT52 и VT100?
Прогресс налицо.
---
...Я работаю антинаучным аферистом...
а есть примеры microsoft-way-приложений, написанных на labview и реально
типа "мы можем обрабатываить 100000 сигналов в секунду, вызывая для каждого вордовый спеллчекер через COM,
с визуализацией в IE в реальном времени (обновление диаграммы при каждом сигнале?)"
так не бывает, вот что я скажу
когда речь идёт о предельной скорости, компонентный подход в пролёте
FreeBSD умеет при некоторых условиях маршрутизировать миллион пакетов в секунду
спроси у разработчиков, сколько доступов в память и сколько транзакций на PCI-X приходится на каждый пакет?
я думаю, они смогут довольно точную оценку сказать сразу
потому что это всего лишь несколько тысяч тактов процессора на пакет, а каждый L2-cache miss обходится в несколько сотен тактов
то, что средства предоставляются, ещё не означает, что их можно реально использовать
кто бы смог сейчас продать DE для Windows без поддержки .Net?
> deprecated, а не ssh?
ты уверен, что rsh до этого в Windows-е не было?
25.03.2003 23:00 862 termcapсодержание то же самое
Microsoft Windows [Version 5.2.3790]
Всё это доступно на unix уже много лет (20 пожалуй или около того).
2. Скриптинг. Я могу написать ssh host command. Как это сделать с помощью rdp?Если надо удаленно выполнить скрипт, то:
- если надо сделать единожды, проще законнектиться на хост и сделать все по-человечески, а не скриптом
- если постоянно надо выполнять какую-то задачу, а команды к выполнению давать удаленно, то пишем xml web service, и можем отдавать команды хоть ручками, хоть программой. Более того, клиент столь прост, что мы можем отдавать команды с любой системы, а не только с той, на которой установлен ssh-клиент (например, с PDA)
ты должен открыть в RDP-сессии cmd. Потом скормить туда такое:
Потом запустить полученный uudecode, и тем же путём скормить ему
copy con uudecode.exe
MZ ля-ля-ля
^Z
то, что надо.
Продвинутые униксоиды, конечно же, вспомнят про debug,
который там ещё валяется.
Хотя тоже, наверное, deprecated.
---
...Я работаю антинаучным аферистом...
FreeBSD умеет при некоторых условиях маршрутизировать миллион пакетов в секундуЭто правда? Мне что-то не верится... Если пакеты пустые, еще может быть. Иначе пропускной способности памяти не хватит.
Как это сделать одноразово по расписанию?
Положим, в три часа ночи?
Вставать и идти к машине?
---
...Я работаю антинаучным аферистом...
64 байта наверное или около того.
Естественно, не 1500 байт, иначе и в 10GbE не влезет.
За ссылкой - в поиск или к Глебу.
Пиковая производительность PC-роутеров на хорошем современном железе в реальных условиях - несколько сотен kpps.
У нашего феникса - около 20kpps в среднем, до 50kpps в пиках, ограничения - в потребности пользователей,
запас производительности без тюнинга - где-то 3-4 раза, по моим оценкам.
Мне приходится работать и с тем, и с другим постоянно, возможно, я что-то делаю не так, но мне кажется, что во втором случае принципиально положено наличие тормозов - т.к. на сервер передаются битмапы окон, элементов управления и т.п. целиком (типа плата за использование стилей GTK/QT в то время как в первом случае (при отлюченных Themes в винде) этого происходить не должно.
Тем не менее, я признаю, что концептуально ничего в RDP нет нового.
Ты очень плохо относишься к юниксоидам, если они должны его вспоминать
И плз, не надо писать хуйню, типа:copy con uudecode.exe
MZ ля-ля-ля
^Z
Ну это не серьезно же.
Для коприования файлов с помощью RDP - есть мап локальных дисков на удаленную мащину.
Насчет смарт карточек - я не знаю, не видел использования этого в rdp.
Но и под ssh я этого не видел и не юзал, так тчо говорить не буду.
Если это реально надо, значит МС это сделает.
Что такое одноразово по расписанию?
Вот тут и проходит различие.
Пользователи MS ждут милости от дяди Билла.
Пользователи *nix решают свои задачи по мере возникновения.
- если надо сделать единожды, проще законнектиться на хост и сделать все по-человечески, а не скриптомОднажды я работал в таком месте, где мне часто приходилось выполнять одну и ту же команду на 20 - 30 серверах, Как ты понимаешь, я не набирал её 20 - 30 раз, и тем более не набирал столько раз пароль. Как такая задача решается с помощью RDP?
- если постоянно надо выполнять какую-то задачу, а команды к выполнению давать удаленно, то пишем xml web service, и можем отдавать команды хоть ручками, хоть программой. Более того, клиент столь прост, что мы можем отдавать команды с любой системы, а не только с той, на которой установлен ssh-клиент (например, с PDA)xml web service? Что это? Я должен запустить на сервер web сервер для этого?
Из дома я сижу, естественно по модему.
Надо сказать, что дома канал сверхмедленный. Средняя скорость скачки файлов с инета 1кб(!)
Так вот, сидел по рдп.
Там настройки есть, если что. Можно опустить разрешение и цветность
Это правда? Мне что-то не верится... Если пакеты пустые, еще может быть. Иначе пропускной способности памяти не хватит.Не маршрутизировать, а бриджить. Пакеты конечно мелкие, т.к. это тест системы, а не шины PCI.
Раз устарел?
Прогресс опять же тормозят.
Отображение локальных дисков --- это замечательно.
Какие у них будут имена?
Кстати, а как удалённо напечатать что-нибудь на локальном принтере?
У нас это делается так:
ssh there 'cat ~/my-file.ps | gzip -9' | gunzip | lpr
Справишься с задачей без установки дополнительного ПО?
---
...Я работаю антинаучным аферистом...
Да ну?
Там было слово fastroute.
Это на самом деле означало fastbridge?
Пользователи не могут решать свои задачи скриптами. Они их, в большинстве своем, не знают. Для ПОЛЬЗОВАТЕЛЕЙ нужен грамотный уи.
Это очень спорный вопрос, который "проходит красной полосой" через весь тред =)
Для коприования файлов с помощью RDP - есть мап локальных дисков на удаленную мащину.То есть RDP этого не может. Требуется еще один сервис, работающий по другому протоколу/порту, использующий отдельную аутентификацию. А уж если вспомнить про дырявость этого сервиса.
Насчет смарт карточек - я не знаю, не видел использования этого в rdp.Всё остальное перечисленное есть в rdp?
в целом она решается без rdp
залить файл, добавить правило в scheduler - и то, и другое можно сделать программно.
Надо сказать, что дома канал сверхмедленный. Средняя скорость скачки файлов с инета 1кб(!)Давай еще скажи в пылу спора, что это было комфортно
Так вот, сидел по рдп.
В случае ssh - вполне.
Я думаю, там через то же соединение мультиплексируется.
По крайней мере так было в Citrix, продукты которого всё равно все используют, если реально хотят terminal service на виндах.
Чего ж его тогда держат-то там?Дискам автоматически назначатся буквы. Они будут отображены в проводнике.
Раз устарел?
Прогресс опять же тормозят.
Отображение локальных дисков --- это замечательно.
Какие у них будут имена?
Кстати, а как удалённо напечатать что-нибудь на локальном принтере?
У нас это делается так:
code:--------------------------------------------------------------------------------
ssh there 'cat ~/my-file.ps | gzip -9' | gunzip | lpr
--------------------------------------------------------------------------------
Справишься с задачей без установки дополнительного ПО?
Если не понравятся буковки, то переобозначь.
Принтера тоже мапятся. Кстати, сможешь ли ты "своим способом" распечатать док?
Ты предлагаешь программировать для того, что бы залить файл, добавить правило в scheduler?
Да ну?Или иы про разные ссылки, или я перепутал, что вполне допустимо. Главное, что там был не полноценный роутинг.
Там было слово fastroute.
Это на самом деле означало fastbridge?
Но поверь, под ссш сидеть в MSVS не то чтобы совсем некомфортно, а невозможно.
Пусть лучше про печать ответит.
Самые лучшие фаерволы под винду --- это iptables и ipfw.
---
...Я работаю антинаучным аферистом...
Вот видишь какой ацтой MSVS.
если это надо сделать для 30 машин, то да проще написать скрипт,
если для одной - то можно это сделать руками.
Принтера тоже мапятся
если это надо сделать для 30 машин, то да проще написать скрипт,Можно ли назвать скриптом строчку, которая набирается не задумываясь в шелле в одну строку?
если для одной - то можно это сделать руками.
И я так не получил ответ про то, как залить файл с помощью RDP.
с неё забирал исходники, собирал это дело под Watcom-ом и
пускал.
Получается, что ДОС уделал прогрессивную винду.
---
...Я работаю антинаучным аферистом...
а зачем?
Без доустановки ПО, причём стороннего производителя, нифига не отображаются.
---
...Я работаю антинаучным аферистом...
> а зачем?
В мире виндовз такая задача не встает?
"/me записывает в блокнотик"
А мб у тебя порт нужный закрыт?
У меня все отлично мапится без всякого СТОРОННЕГО софта.
сразу два, как я понял. iptables и ipfw
unix-way говорит, что для выполнения задач необходимо использовать специализированные инструменты (программы).
за чем передавать файлы через rdp, если для передачи файлов есть такие удобные средства, как samba, ftp, на крайняк http?
Скажи еще "Вим - фарева", и поговорим на эту тему.
Смогу, конечно.
Plain text печатается без вопросов.
Всё остальное точно так же без вопросов перегоняется в ps.
А про принтеры не надо сказки рассказывать.
Всё совсем не так.
---
...Я работаю антинаучным аферистом...
Просто, ssh не юникс-вей, походу... Раз сами юниксоиды почти прихнались в этом...
Про принтер, что у тебя там и как...
Но Я ЛИЧНО мапил и все ок.
Хочешь, приходи, научу как.
samba это средство удаленной fs, а не для передачи файлов. Было бы очень странно запускать NFS сервер для того, что бы перекинуть пару конфигов на удаленную машину. Кроме того, виндовозная реализация SMB настолько дырява, что нормальный сисадмин будет избегать запуска этого сервиса. Даже если он её запустит, то может быть неприятно удивлен, узнав что эти порты зафильтрованы у половины ISP, по все тем же причинам.
Протокол ftp в первую очередь не безопасен, т.к. не шифрует соединение. Во вторую очередь он крив из-за того, как использует порты. А как ты мне предложишь закидывать файлы по ftp, если я логинюсь по ssh только ключами?
Протокол http не имеет возможности системной аутентификации вообще. Не шифруется по умолчанию и позволяет только скачивать файлы, но не закачивать их. Не поддерживает рекурсивной закачки и wildcards.
Самое главное, что все предложенные тобой альтернативы снижают безопасность системы, т.к. запускают еще один сервис, не шифруют соединение, не поддерживают тех способов аутентификации, что поддерживает ssh.
По ходу никто этого не признавал. ssh - как раз образец unix way.
а как же , Юникс-вей....
</Скромно>
использовать его для аутентификации и для шифрования
это будёт чёткое разграничение уровней
под *nix во многих случаях тоже разумно так делать
Полностью согласен. Если безопасность НУЖНА, это отличный выход.
насколько я понимаю, нужно сначала проложить между серверами VPNПочему между серверами? Между сервером и рабочей станцией.
использовать его для аутентификации и для шифрованияVPN - не средство аутентификации пользователей.
По ходу никто этого не признавал. 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.
Чем ssh не отличный, если безопасность НУЖНА?
Это, наверное, средство печь пирожки...
> Make each program do one thing well. To do a new job, build afresh rather than complicate old programs by adding new features.
И в чём противоречие?
Я вообще не говорил, что это плохой путь. Никто не говорил.
Сейчас будет плюс за флуд. Формулируй свои мысли точнее.
Да пофиг, главное чтоб доступно было.
> VPN - не средство аутентификации пользователей.
Можно уже в нём пароли разные открытым текстом передавать.
identd тоже покатит.
В том, что заливать файлы - это один сервис, а удаленное управление - другой
а мне рассказывали, что там их целых три: basic, digest и керберос
Заливает файлы scp или sftp, который работает поверх криптованного канала, созданного ssh. Где противоречие?
Можно уже в нём пароли разные открытым текстом передавать.А в каком протоколе VPN используются такие же мощные средства антиспуфинга, как в ssh? Я имею в виду, что твой удаленный сервер может оказаться совсем не твоим на самом деле.
identd тоже покатит.
IPSec
То есть IIS может аутентифицировать пользователей по паролям базы Windows? Если это так, то этот недостаток можно убрать из списка.
Может. Как и апач - по /etc/shadow.
У Microsoft ещё и NTLM-аутентификация есть.
Я не в курсе, можно ли сконфигурить IPSec так, что клиент приходит со произвольного IP адреса? Ходит ли он через NAT? Короче, применимо это же решение так же как ssh в случае, если я еду с ноутбуком в командировку?
Может еще как. Это точно. Называется Windows Authentithication
А зачем ты с ноутбука будешь заходить по хилому GPRS на 30 серверов по очереди?
Если можно зайти на какую-то из управляющих машин, связанную по VPN со всеми серверами, и запускать скрипт оттуда?
А на неё таки зайти по ssh?
Можно даже с PDA
По рдп
Задача передачи файлов пока не решена.
Решена. Мап дисков по впн каналу
Он уже на нормальной тачке лежать должен, максимум подредактировать немного.
Решена. Мап дисков по впн каналуТак VPN канал тоже не клеется. PPTP и L2TP не обеспечивают защиты от спуфинга, IPSec не позволяет открыть канал из произвольного места. Внимательнее читай дискуссию.
Каждый раз причина разная. У меня не должно появляться желание скачать себе на ноут файл?
Даже в Windows
Насколько я знаю, дядя Билл ничего лучше этого ещё не придумал почему-то.
К чему я и веду.
и "защита от спуфинга" тебя бы далеко не так волновала в сравнении с более насущными вопросами.
Ты даже не представляешь, как удобно управлять 30 серверами под Windows, когда они объеденены в AD.
В 2003, моллюски ослабили это искусственное ограничение.
Прогресс, однако.
Как насчёт того же, но когда у тебя уже десяток человек сидит на
этой удалённой машине?
---
...Я работаю антинаучным аферистом...
Обязательно начнём объединять сервера в AD, как только перепишем форум под ASP.Net
http://russian.joelonsoftware.com/Articles/Biculturalism.html
(Первый абзац вообще полный бред, остальное можно читать.)
Единомышленник нашелся:
Картина салом: открывает для себя (Первый абзац вообще полный бред, остальное можно читать.)
Стало быть этот Джоэл большой бугор, про которого я должен был знать сызмальства? Почему тогда он такую бредятину пишет в первом абзаце?
Не сызмальства, а почитавши форум, а точнее, этот раздел, где ты модератор.
Сцылка - почти в каждом holywar.
> Почему тогда он такую бредятину пишет в первом абзаце?
Ну такой вот он.
под Windows ошибки в чужих компонетнах? обратился за поддержкой к поставщику (компонет же купленный, а не краденный?)
хранение в реестре: в связи с развитием COM получилась такая нагрузка на реестр (кто не верит: сравните скорость поиска по реестру теже типы файлов просмотреть в связи с этим MS упростило (в .NET использование xml конфигов)
к томуже меня всегда радовало, что при копировании проги из одной системы в другую, все настройки могли оставаться старыми (ini в корне папки с программой)
Windows программисты начинаю разработку с GUI:
почему тогда такие гранды как Рихтер советуют: надо написать оконное приложение, отладьте логику в консольом
надо написать многопоточное приложение, отладьте каждый поток в однопоточном.
Почему, горка компонентов склеенная в IDE небольшими кусочками кода и заглушками должна считаться программой под windows?
Нет какого-то особого метода программирования для UNIX есть старая школа программирования.
и есть куча самородков под windows, которые изобретают велосипеды.
и еще есть создание коммерческих программ: много ли можно отладить? нет лицензии, нет компонентов с debug информацией, начинается тотже реверсеинжинеринг.
З.Ы. Q> почему unix сервера реже падают, чем сервера на основе NT 4.0?
A> Потому что чайники реже лезут конфигурить unix серверы.
З.З.Ы. я не пропогандирую идею, если чего не работает надо обратиться к специалисту.
ESR, Art of UNIX Programming:Маза Эрик не видел хвалёный WordML, когда писал это
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.
Оставить комментарий
Dasar
А зачем, вообще, нужен unix-way?у программ есть два взаимодействия:
1. программа <-> программа
2. программа <-> человек
Взаимодействие "программа <-> человек" почти всегда интерактивное. Я даже так сразу и не вспомню неинтерактивные задачи.
unix way и интерактивный режим - в целом несовместимы. Это стоит расписать подробнее?
Для взаимодействия "программа <-> программа" unix-way тоже не самый удобный вариант, т.к. взаимодействие через API получается намного качественнее (быстрее, менее ошибочное и т.д.)
т.е. в итоге получается, что unix-way удобен только программистам, которые думают только о себе, т.к. их вместо того, чтобы написать два интерфейса: человеческий (интерактивный) и программный (API) - хватает только на один unix-way-ный.
Я правильно понимаю ситуацию?
Что unix-way полезен только самим разработчикам программ, т.е. тем, кто не думает о том, как будут пользоваться их программами.