From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Maksim Otstavnov X-Mailer: The Bat! (v1.46d) Educational Organization: home office X-Priority: 3 (Normal) Message-ID: <282238997.20010119142348@otstavnov.com> To: Mikhail Zabaluev Subject: Re[2]: [mdk-re] Logo for kernel In-reply-To: <20010119012105.C1599@localhost.localdomain> References: <2364647297.20010118175823@inbox.ru> <3A6766C2.48A741DE@logic.ru> <262867600.20010118213756@otstavnov.com> <20010119012105.C1599@localhost.localdomain> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Transfer-Encoding: 8bit Sender: mandrake-russian-admin@linuxteam.iplabs.ru Errors-To: mandrake-russian-admin@linuxteam.iplabs.ru X-BeenThere: mandrake-russian@linuxteam.iplabs.ru X-Mailman-Version: 2.0 Precedence: bulk Reply-To: mandrake-russian@linuxteam.iplabs.ru X-Reply-To: Maksim Otstavnov List-Help: List-Post: List-Subscribe: , List-Id: Mandrake/RE discussion list List-Unsubscribe: , List-Archive: Date: Fri Jan 19 14:24:01 2001 X-Original-Date: Fri, 19 Jan 2001 14:23:48 +0300 Archived-At: List-Archive: Friday, January 19, 2001, 1:21:05 AM, Mikhail Zabaluev wrote: >> Обратите внимание, что все это существует по отдельности. Ни один из >> десктопов (ни MacOS'овский, ни винды, ни GNOME с KDE) не смог сожрать >> это все. Так что простор для творчества еще есть ;) MZ> Хотите крутой во всех отношениях редактор с memory footprint'ом мегов на MZ> 50? http://jedit.sourceforge.net Речь шла о дестопах, а не о конкретных программах. Черт с ним, с Джейэдитом. См. соображения о RAD в Пресловутой Статье Вагнера (далее - [ПСВ]. См. тж. мой предыдущий вопрос о меташелле. Я писал: MZ> У меня по ходу дела возник совершенно чайницкий вопрос: а нельзя ли MZ> шелл использовать как меташелл? Т.е. заставить его не выполнять MZ> результирующий поток команд, а гнать их в трубу или сокет? (Почему MZ> возник такой вопрос, я думаю, понятно? :) ). Все же поясню. Предположим, вы разрабатываете какую-то интерактивную программу в обозначенной парадигме. Вы подумали, помоделировали, может быть, поэкспериментировали с кодом, и определили удачный уровень абстракции для интерфейсных команд (функций). Допустим, вы пишете текстовый редактор, и разработали язык, включающий команды OpenFile(string file), CloseFile, MoveCursor(int n), InsertChar(char c), DeleteChar, функции Boolean eof() и char currentChar(). (Доказательство теоремы о том, что это исчерпывающий набор для текстового редактора, опускаю). Допустим, вы написали прототип, который а) работает как поточный редактор, запущенный в одном окне, и б) (факультативно) осуществляет пошаговый рендеринг результатов редактирования в окне. Теперь, до того, как добавлять третье окно, в котором будут элементы GUI, нужно определить одну "мелочь". А именно, дополнить набор элементов языка, имеющих семантику текстового редактирования, другими элементами, которые и сделают его "правильным" в смысле [ПСВ]. Синтаксисом определения переменных, управляющих конструкций и т.п. ерундой. Всего-то. Теперь, смотрите, что делают разработчики. Столмен говорит: ага, есть такой язык ЛИСП, я его знаю и люблю, давайте-ка его интерпретатор засунем прямо в редактор. В MS ребята еще попроще, ЛИСП превышает предел их компетентности, поэтому говорят: а мы засунем бейсик, чтоб юзеру жизнь медом не казалась. Адаптируют свой бейсик-интерпретатор образца 81 г. (vb у них еще не было) и засовывают в Word, предварительно позаботившись о несовместимости. Ребята из StarDivision говорят: ага, а мы чем хуже, и придумывают свой StarBasic, или как он у них там называется... Вместе с тем, если вернуться от этого буйства фантазии к твердой почве проверенных и зрелых технологий, можно сообразить: а ведь у нас уже есть основа универсального языка: системный шелл. Осталось добавить в него ключ, отменяющий "исполнение" команд (задайте Кену вопрос, если кто-то с ним знаком, что такое "исполнение", ;) и откуда взялась в шелле абстракция системных вызовов, и почему шелл не является просто препроцессором к рапперу системного вызова "исполнить") и направляющий "команды" на стандартный вывод. Преимущества: - шелл _уже есть_, его не нужно писать - и это основное преимущество; - шелл _все знают_, его не придется учить - и это чуть ли не более важное преимущество; - это достаточно изящно. -- -- Maksim