1995 | 1996 | 1997 | 1998 | 1999 | 2000 | 2001 | 2002 | 2003 | 2004 | Оглавление текущего номера /114, 1995 г./ | Бонус | Поиск  

Мнение

Почему "файл" – файл?

 


© 2004, Еженедельник «Компьютерра» | http://www.computerra.ru/offline
Этого материала на сайте "Компьютерры", к сожалению, нет

Слово "файл" вошло в компьютерный обиход очень давно, в эпоху перфокарт и магнитных лент. Современные PC на 90% используются как усовершенствованные пишущие машинки, а в те стародавние времена компьютеры почти не работали с текстами: странице распечатки соответствовала бы колода перфокарт толщиной около сантиметра.

Единственными текстами, с которыми тогда имели дело, были программы. Программа в 500 строк (перфокарт) считалась большой. Остальным, далеко превосходящим программы по объему, были данные, машинные аналоги таблиц, бланков, карточек. Их-то и складывали в файлы, что было вполне естественно, поскольку значение этого слова в английском языке – папка, приспособление для хранения множества однородных документов. Потом слово "файл" распространилось по свету, много раз меняло содержание и успешно дошло до наших дней.

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

У каждой фирмы свои слова. Если компания достаточно сильна, как, скажем, IBM, авторы ее документации формируют язык огромных масс инженеров и пользователей. Еще большее влияние могут оказывать публичные, то есть общественные, продукты и документы – что-то вроде компьютерного самиздата. Кстати, многие популярные американские программисты имеют хорошее гуманитарное образование и отлично пишут на человеческом языке.

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

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

А вспомните старые книжки – ну, хоть про Тиля Уленшпигеля, – там ведь то и дело обыгрываются слова и выражения из бесчисленных местных диалектов. Это, конечно, осложняет жизнь, но делает ее живой и динамичной. Слова ведь ничего не значат, они получают смысл только в силу частных соглашений об их толковании. Иногда смыслом слова является спор о нем. Приходится разбираться, кто, почему и как спорит.

Давайте вернемся к слову "файл" и посмотрим, что с ним случилось. В современных персоналках файлы обычно используются для хранения отдельных документов. Слово оторвалось от первоначального смысла. Файл теперь не папка, а сменная обложка или даже наклейка, на которой пишут сведения, относящиеся не к содержанию документа, а к его хранению. Американцев, кстати, это сбивает с толку гораздо больше, чем нас. Для них, понимающих язык, файл – это, скорее, оглавление (или директория).

Современные персональные системы устроены, как города. Есть старые районы, загадочные названия (Арбат, Яуза, Мневники), а есть новые, где все если не ясно, то, по крайней мере, еще не забыто. В "новых районах" – например, OS/2, Windows 95 – оглавление называется folder, то есть папка. В фолдерах хранятся другие фолдеры (почему бы и нет?) и документы.

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

Следует из этого вот что. Компьютерщики пользуются для общения не терминологией, а языком. Разбираться с отличиями файла от фолдера следует таким же способом, как, скажем, со словами "гражданин" и "мещанин", а заодно и "бюргер", которые значат вроде бы одно и то же (то есть "горожанин"), но настолько по-разному!

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

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

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

Изучая другую, но родственную культуру, мы нередко обходимся собственным языком. С компьютерами так не получается: у нас просто нет соответствующих слов. Приходится их заучивать, запоминать новый смысл, который они выражают. Но, еще раз, это слова, а не термины, и содержание их не может быть логически определено.

А это, как мне кажется, и есть главная трудность. Самое малое, начинающего надо честно предупредить: не ждите объяснений, вам не всегда удастся свести новые идеи к старому опыту. Учитесь, как дети, не умеющие говорить. Дальнейшее зависит от ученика. Я назвал бы два тесно связанных, но сугубо разнородных источника и, соответственно, подхода к обучению. Они вытекают из двух фундаментальных свойств компьютерного мира – его искусственности и целесообразности.

Искусственность

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

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

Все вместе напоминает организацию библиотеки или архива, но только целиком, включая разные виды хранимых объектов (книги, периодика, документы, рукописи), службу записи и допуска читателей, абонемент, филиалы и прочее. Полной аналогии, разумеется, нет, но я ручаюсь, что для любой функции файловой системы вы легко подберете прототип в библиотечной практике.

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

Так в чем же дело? Прежде всего, в сложности Файловая система (а это лишь одна из частей операционной системы, которая сама основывается на других системах и на которой, в свою очередь, строятся другие системы) достаточно сложна, чтобы не забивать ею голову без нужды. И необходимости действительно нет: читателю библиотеки вовсе не требуется знать, как она устроена, да его и не пустят внутрь.

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

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

Создатели систем сознательно выкладывают пирог так, чтобы вся сложность оставалась внутри слоев, а коллеги в соседних слоях видели ИНТЕРФЕЙС, образованный МЕТАФОРАМИ. И это вовсе не изобретение компьютерщиков. История промышленной революции и все общественное развитие последнего времени дают множество примеров на те же темы.

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

Так вот, интерфейс – это то, что мы используем по многу раз на дню, входя в соприкосновение со сложными системами. Не буду комментировать водогазоэлектроснабжение или, скажем, лифт. Это элементарно. Транспорт чуть похитрее: надо встать в определенном месте, дождаться автобуса с нужным номером (который не всегда легко распознать), войти, применить один из нескольких существующих ПРОТОКОЛОВ (процедур) оплаты и так далее.

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

Главный и, вероятно, первоначальный интерфейс – это наш способ общения с другими людьми. Мы привычно говорим, мол, чужая душа потемки. Это значит, что внутренности системы нам недоступны, они ИНКАПСУЛИРОВАНЫ. Есть только интерфейс, через который мы пытаемся чего-то друг от друга добиться.

Метафоры тоже широко распространены в нашей жизни, да и в технике это не новость. Метафора – это по сути акт подражания. Например, первые автомобили выглядели, как кареты без лошадей, пароходы – как парусники, телефоны имитировали переговорные трубы, кино притворялось театром и так далее. Историки техники долго приписывали этот эффект человеческому консерватизму изобретателей.

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

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

Знаменитый "Нортон Коммандер" относится к следующему поколению метафор. Разработчики осознали, что интерфейсы можно делать гораздо богаче и интереснее, но скудные возможности аппаратуры стимулировали полет фантазии. В области игр, которые всегда прокладывают дорогу инструментальным интерфейсам, были широко распространены решения наподобие "тетриса" – условные, но богатые возможностями. Некий интерфейсный кубизм или конструктивизм современной театральной сцены. Экран "Нортона", сделанный из букв и специальных значков, напоминает много привычных вещей – раскрытую книгу, разграфленный журнал, дерево. Но все это упрощенное, проявляющее неожиданные свойства, и при умелом исполнении получается очень здорово.

Еще позже появился письменный стол. Сопоставляя даты, я вынужден заметить, чтобы Вас не дезориентировать, что на PC все внедрялось в последнюю очередь, и до настоящего времени персоналки внесли очень мало своего в компьютерную культуру. PC – это церковно-приходская начальная школа. Так вот, графический интерфейс и письменный стол были разработаны в 1975-80 годах и внедрены в большинстве массовых систем в 1985-88-х, а на PC – только сейчас, с появлением Windows 95.

Я, конечно, не стал бы поносить лишний раз ваших любимцев, если бы в "Компьютерре" и во многих других местах не были зафиксированы восхищенные возгласы пользователей Windows 95 – мол, надо же, совсем как письменный стол. Далеко не первым, я сам год назад опубликовал аналогичные наблюдения за пользователями Windows 3.x, знакомящимися с UNIX. Примите это как скромный намек на то, что компьютерный мир далеко не так прост, как его рисуют некоторые ваши консультанты. Интерфейс классической Windows был одной из многих неудачных попыток сделать что-нибудь особенное, лишь бы не как у других. Если подсказать, что экран Windows представляет из себя письменный стол (DeskTop), то вы, несомненно, это поймете. На столе лежат бумаги. Одна из них, с которой вы сейчас работаете, всегда сверху. Кроме того, есть указатель(указательный палец) – мышка или что-то вроде этого (иногда пальцев несколько, но тенденция – обходиться одним). Объекты (куски текстов, картинки и прочее) можно собирать в особый "карман" и переносить с места на место. Еще есть панели, наподобие приборных, с кнопками, индикаторами и дисплейчиками. Они хранятся где-то, откуда их можно волшебным образом вытаскивать.

Здесь я хотел бы вернуться и повторить еще раз: интерфейс состоит из метафор. Всегда – по крайней мере, если мы говорим о технических, искусственных системах, интерфейс которых если не используется, то уж наверняка создается людьми. Метафоры – это способ новому притвориться привычным, сложному – простым, разному – одинаковым. И всегда, когда мы, люди, с помощью метафоры осуществляем одно из таких приведений, мы попросту пытаемся упростить жизнь и освободить свои интеллектуальные ресурсы для новых задач.

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

Целесообразность

Чем дальше продвигается компьютерное дело, тем более становится очевидно: не техника, не инженерная его часть сопротивляется и тормозит. Технические возможности, прежде всего программ, уже давно сдерживаются тем, что потребители не успевают их осознавать и приспосабливаться. Но вдобавок и качество потребителей меняется.

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

Деятельность же таких фирм, как Microsoft, находится вообще не в инженерии, а где-то в области массового сознания, в поп-культуре. Критиковать их продукты с технической точки зрения – недоразумение. В сущности, этот феномен понятен уже несколько лет, но последний "запуск" Windows 95 продемонстрировал разницу с полной ясностью.

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

Итак, цели компьютерного бизнеса далеко отклоняются от чисто инженерных. В результате, когда люди спрашивают, например, что такое рабочая станция, можно дать как минимум три очень разных ответа – и все три будут иметь рыночно-политический, а не технический смысл.

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

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

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

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

Я наметил начальную и конечную стадии эволюции: от чисто профессиональной к массовой культуре. Но между ними есть еще множество промежуточных. По ходу движения в компьютерное дело вовлекались профессиональные элиты других областей. Сначала они переходили в компьютерную команду (у меня, как и у Вас, есть много знакомых, проделавших в жизни такой маневр; один даже превратился из биолога в начальника информационной системы банка). Затем постепенно возникла прослойка так называемых программирующих непрофессионалов и непрограммирующих профессионалов, а потом и нынешних грамотных пользователей, которые блестяще владеют очень сложными прикладными системами (Word, Excel и их конкуренты гораздо круче большинства систем разработки былых времен). Эти люди никуда не делись – они остаются заинтересованными участниками нынешнего процесса массовой компьютеризации и зачастую самым неожиданным образом влияют на потребительское поведение корпораций.

Так что ж такое файл, черт побери?

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

Файл можно определить в духе архивных и библиотечных работников – как единицу хранения. Допустим, что-то вроде коробки, в которую можно положить что угодно. Но именно что-то вроде, поскольку, как обычно, мы имеем дело с метафорами, а не с модельными аналогами.

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

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

Начинающему имеет смысл полюбоваться, как работает программа обслуживания диска, например, DEF-RAG, которая перешла в современные издания DOS из пакета Norton Utilities. Она "перетасовывает" файлы, делая их снова целыми и размещая друг за другом по порядку, и все это отображает на экране. Понимать детали не обязательно; важно уловить общий смысл происходящего.

Между прочим, сказанное выше относится к файловой системе типа UNIX, некое подобие которой реализовано и на PC. В истории были и до сих пор попадаются другие конструкции. Кроме того, есть все основания полагать, что файловые системы находятся на пороге больших перемен. Но пока понятие "файл" остается в центре всех операций с внешними устройствами.

Разработчики прикладных систем (для работы с текстами, картинками, для расчетов и т.д.) помещают в файлы программы и данные. Они могут сделать так, чтобы человеку, работающему с программой, были видны не файлы, а документы. Но ни один из них в отдельности не может отменить файлы вообще. Пока в системе остаются командные средства низкого уровня (DOS'овский COMMAND, Norton Commander и т.п.) и пока на уровне файлов происходят административные действия (проверка и "ремонт" дисков, отлов вирусов, защитное копирование), пользователям приходится иметь дело с файлами.

Проблема, следовательно, находится в области ответственности создателя операционной системы. Было сделано немало попыток перестроить и упростить архитектуру и интерфейс, чтобы счистить исторические наслоения. Реально существуют такие системы, как Macintosh, NeXT. Одним из центральных пунктов начатой Apple контрпропагандистской кампании как раз и является тот факт, что в Windows 95 старый DOS сохранился в полном объеме.

Итак, IBM PC, даже в самой современной упаковке Windows 95, нельзя использовать самостоятельно, не понимая его внутреннего устройства и эволюции на глубину нескольких поколений. Однако, поясняя, почему Мае не представляет опасности для PC, один 1ВМ'овский начальник в свое время произнес удивительную фразу. "Люди, – сказал он, – хотят иметь компьютер, похожий на компьютер, а не на игрушку". Это один из ключевых парадоксов рынка персоналок.

 


1995 | 1996 | 1997 | 1998 | 1999 | 2000 | 2001 | 2002 | 2003 | 2004 | Оглавление текущего номера /114, 1995 г./ | Бонус | Поиск  

© 2004, Издательский дом «Компьютерра» | http://www.computerra.ru
Телефон редакции: (095) 232-22-61
E-mail редакции: inform@computerra.ru