Выбрать главу

Падучесть, искупление, погашение, доверие и другие заумные технические понятия

Линух не заточен под какие‑то централизованные политики, диктующие, как писать сообщения об ошибке и документацию, так что каждый программист пишет свои собственные. Обычно они на английском, даже если учесть, что до фига и больше линуховых программистов–европейцев. Часто они забавны (сообщения, а не программисты — прим. перев.). Но всегда честны. Если какая‑то бяка случилась, если программуля просто еще недоделана, или если пользователь что‑то воткнул не туда, об этом будет заявлено в лоб. Интерфейс командной строки облегчает программулям надоедание нам небольшими комментариями, предупреждениями, и сообщениями там и тут. Даже если приложение плющит как подбитую субмарину, оно обычно может все еще перебиваться небольшими сообщениями типа "S. O.S.". Иногда, когда вы кончаете работать с программой и закрываете его на фиг, вы обнаруживаете, что оно оставило серию некритичных замечаний и низкоуровневых сообщений об ошибах через окно терминала из которого вы его запустили. Как если бы программное обеспечение болтало с вами о том, как оно было, пока вы с ним работали.

Документация для Linux поступает в форме "человеческих страниц" (man pages — сокращение от manual ("Поручик молчать!" — прим. перев. — не от "рукосуйство", а от "руководство"). Вы можете иметь доступ к ним или через ГРАФИЧЕСКИЙ ИНТЕРФЕЙС ПОЛЬЗОВАТЕЛЯ (команда xman) или из командной строки (команда man). Вот образец со страницы руководства для программы вызывающей rsh: "Стоповые сигналы стопят только локальный процесс rsh; это возможно неправильно, но к настоящему времени слишком сложно, чтобы пофиксить, по причинам слишком заумным, чтобы объяснять здесь."

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

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

Коммерческие ОСи должны принять ту же официальную позицию по отношению к ошибкам, как коммунистические страны — к бедности. Исходя из доктрин, не возможно допустить, что бедность была серьезной проблемой в коммунистических странах, поскольку целью коммунизма являлась ликвидация бедности. Аналогично, коммерческие "осевые" компании, типа "Яблока" и "Мелкософта", не могут пройти мимо допущения, что их программное обеспечение "утараканено" и что оно разрушаеся все время, сколько‑нибудь изящнее, чем Disney, который может выпустить пресс–релиз о том, что Микки Маус — просто актер в костюме.

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