[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Изменение раскладки при помощи hal



On 2009.08.12 at 22:49:21 +0400, Alexander Galanin wrote:

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

Вообще говоря, можно определить "обычного пользователя" конструктивным
способом. И, по-моему, именно такое определение имели в виду авторы
собственно концепции Unix - Керниган, Пайк, Томсон etc.

Определение следующее: "пользователь" - это не человек, а РОЛЬ, которую
человек играет по отношению к определенному куску софта (системе в
целом, отдельному приложению, подсистеме etc). 

Эту роль человек играет тогда, когда его голова занята решением,
какой-то другой задачи, для которой функционирование данного куска софта
необходимо, но не является ЦЕЛЬЮ осуществляемой деятельности.

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

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

Он является УДОВЛЕТВОРИТЕЛЬНО устроенной системой. Обладая знанием языка
C и системы на уровне двух книжек Кернигана с соавторами (Язык С и Среда
программирования Unix) можно ДОБАВИТЬ в набор утилит свой компонент,
который будет не слишком выделяться среди стандартных, и может
использоваться совместно с ними. А вот переделать стандартные утилиты -
не так просто. Они внутри сложные, развесистые, обвешанные кучей
нетривиальных хаков с интернационализацией, учетом особенностей
буферизации ввода-вывода etc.

Если мы выходим за пределы стандартных утилит - все еще хуже.


> Из этих слов никоим образом не следует, что оператор (мне это слово
> нравится гораздо больше обесценившегося "пользователь") должен всё
> время проводить в окошке интерпретатора, клепая скрипты для чтения
> почты и прочих уже решённых задач.
> 
> -- 
> Alexander Galanin
> http://galanin.nnov.ru



Reply to: