ALT Linux Community general discussions
 help / color / mirror / Atom feed
From: Maksim Otstavnov <maksim@otstavnov.com>
To: Mikhail Zabaluev <mandrake-russian@linuxteam.iplabs.ru>
Subject: Re[2]: [mdk-re] Logo for kernel
Date: Fri Jan 19 14:24:01 2001
Message-ID: <282238997.20010119142348@otstavnov.com> (raw)
In-Reply-To: <20010119012105.C1599@localhost.localdomain>

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





  reply	other threads:[~2001-01-19 14:24 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-01-15 10:48 Re[5]: " denf
2001-01-15 20:38 ` Igor Solovyov
2001-01-16 15:50   ` [mdk-re] " Mikhail Zabaluev
2001-01-16 17:47     ` Serge Skorokhodov
2001-01-18 18:30   ` Re[7]: [mdk-re] " Sergey
2001-01-18 18:48     ` Igor Solovyov
2001-01-18 21:17       ` Roman S
2001-01-19 10:22       ` cornet
2001-01-19 11:38         ` Re[2]: " Maksim Otstavnov
2001-01-19 14:00         ` Sergey
2001-01-19 14:55           ` Re[3]: " Maksim Otstavnov
2001-01-22 14:34             ` Mikhail Zabaluev
2001-01-22 19:43               ` Re[2]: " Maksim Otstavnov
2001-01-21  9:31           ` Dmitry A. Povarov
2001-01-21 12:51             ` Re[4]: " Maksim Otstavnov
2001-01-18 20:25     ` Aleksey Novodvorsky
2001-01-18 22:18       ` Re[2]: " Maksim Otstavnov
2001-01-19 11:30         ` Mikhail Zabaluev
2001-01-19 14:24           ` Maksim Otstavnov [this message]
2001-01-22 14:36             ` [mdk-re] The Never-ending Thread Mikhail Zabaluev
2001-01-22 14:56               ` Aleksey Novodvorsky
2001-01-22 19:43               ` Re[2]: " Maksim Otstavnov
2001-01-22 22:26                 ` Aleksey Novodvorsky
2001-01-23  0:05                   ` Re[2]: " Maksim Otstavnov
2001-01-23  7:32               ` Alexey Voinov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=282238997.20010119142348@otstavnov.com \
    --to=maksim@otstavnov.com \
    --cc=mandrake-russian@linuxteam.iplabs.ru \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Community general discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
		mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
	public-inbox-index community

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.community


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git