Глава 10 Эпилог
Глава 10
Эпилог
Операционной системе UNIX уже более десяти лет, а число использующих ее вычислительных машин растет сейчас быстрее, чем когда-либо. Для системы, сконструированной без коммерческих целей или даже намерений, это уникальный успех.
Главная причина популярности системы, вероятно, в ее переносимости свойстве, благодаря которому все, кроме небольших частей компиляторов и ядра, выполняется на любом компьютере без изменений. Поэтому разработчикам, запускающим программное обеспечение UNIX на своих машинах, достаточно лишь небольших усилий на ее адаптацию, чтобы успешно пользоваться все расширяющимся рынком программ для UNIX.
Система UNIX стала популярной задолго до того, как она приобрела коммерческое значение, и даже до того, как начала применяться не только на PDP-11, но и на других машинах. Статья Ритчи и Томпсона в CACM в 1974 г. вызвала интерес в академических кругах, а в 1975 г. шестая версия получила распространение и в университетах. В середине 70-х годов о UNIX заговорили: хотя система не поддерживалась и не имела гарантий, нашлись энтузиасты, которые работали с ней сами и рекомендовали ее другим. Еще одна причина успеха системы заключалась в том, что поколение программистов, использовавших академические системы UNIX, ныне ожидают найти среду UNIX в сфере своей деятельности.
Чем объясняется такой интерес к системе? Дело в том, что она была сконструирована и построена двумя очень талантливыми людьми, единственная цель которых состояла в создании среды, удобной для разработки программ. Свободные от давления рынка ранние системы были достаточно малы, чтобы в них мог разобраться один человек. Дж. Лайонс излагал шестую версию ядра в рамках курса по операционным системам для выпускников университета Нового Южного Уэльса в Австралии. В своих заметках он писал, что вся документация умещается в "студенческом портфеле" (это зафиксировано в недавних версиях).
Та ранняя версия базировалась на изобретениях в сфере приложений вычислительной науки, включающих обработку потоков (программные каналы), регулярные выражения, теорию языков (yacc, lex и т.п.) и ряд специальных вопросов типа алгоритма diff. Объединенные в одной системе, они стали ядром с такими возможностями, которыми не всегда располагают даже большие операционные системы. В качестве примера можно привести систему ввода-вывода, состоящую из иерархической файловой системы, редкой по тем временам, устройств, которым поставлены в соответствие имена в файловой системе, так что они не требовали применения специальных утилит, и дюжины основных системных вызовов, подобных примитивам open с двумя аргументами. Программное обеспечение, написанное на языке высокого уровня, поставлялось вместе с системой, так что его можно было изучать и модифицировать. На компьютерном рынке UNIX известна как одна из стандартных операционных систем. Размер ее ядра за последнее десятилетие вырос в 10 раз, хотя, к сожалению, качественно оно улучшается существенно медленнее. Увеличилось число труднопонимаемых программ, которые не созданы в существующей среде. Создаваемые средства обрастают командами с флагами, которые затемняют первоначальный замысел программ. Так как исходные тексты программ зачастую не распространяются вместе с системой, образцы хорошего стиля программирования становятся менее доступными.
Тем не менее последние версии все еще насыщены идеями,, сделавшими ранние версии столь популярными. Принципы, на которых основана UNIX простота структуры, отсутствие непропорциональных средств, использование существующих программ (вместо того, чтобы создавать их заново), программируемость командного языка, древовидная структура файловой системы и т.д. продолжают доминировать и вытесняют идеи "монолитных" предшествующих систем. Система UNIX, конечно, не может стать навсегда непревзойденной; однако те системы, которые рассчитывают ее "обойти", должны будут заимствовать многие из ее фундаментальных идей.
В предисловии отмечалось, что существует подход, или философия, UNIX, т.е. особый стиль программирования. Теперь, прочитав всю книгу, вы, должно быть, сможете оценить элементы этого стиля, проиллюстрированного многочисленными примерами.
Во первых, пусть машина работает. Используйте программы типа grep, wc и awk, чтобы автоматизировать задачи, которые бы вам пришлось делать вручную в других системах.
Во вторых, пусть работает и человек. Используйте программы, которые уже существуют как "строительные блоки" в ваших программах, с shell и программируемыми фильтрами, чтобы соединить их воедино. Пишите небольшие программы, обеспечивающие взаимодействие с имеющимися, которые решают реальные задачи, как мы сделали это в diff. Среда UNIX богата средствами, пригодными для самых разнообразных комбинаций, выберите из них единственно верную.
В третьих, выполняйте работу поэтапно. Постройте какую-нибудь простую полезную программу и, исходя из своего опыта, определите, что (если вообще что либо нужно) следует делать далее. Не добавляйте к ней средства, пока вы на практике не выясните, что именно необходимо.
В-четвертых, создавайте инструментарий. Пишите программы, которые "стыкуются" с существующей средой, усиливая их, а не просто расширяя их возможности. Хорошо построенные, такие программы сами становятся частью чьего либо инструментария.
Разумеется, система не вполне совершенна. Читая книгу, вы сталкивались со многими условностями, бессмысленными различиями в программах и произвольными ограничениями. Однако, несмотря на все свои недостатки, UNIX, в самом деле, хороша в том, для чего она предназначена: в обеспечении удобной среды программирования. И хотя система уже начала обнаруживать признаки "среднего возраста", она все еще жизнеспособна и все еще популярна. Это заслуга нескольких одаренных человек, которые в 1969 г. набросали на доске проект удобной среды программирования, получившей впоследствии высокую оценку целого поколения программистов.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Эпилог
Эпилог И тут в очередной раз обнаружилось, что приключения никогда не кончаются, по крайней мере – в мире Open Source (надеюсь, вы не забыли, что AtheOS распространялась по лицензии GPL?). Так вот, угасание проекта вызвало, видимо обиду не только у меня: на одном только SourceForge я
Глава 33 Эпилог
Глава 33 Эпилог Надеюсь, вы смогли разобраться в Ubuntu и освоить эту прекрасную операционную систему. Скорее всего у вас остались ещё вопросы, возможно даже очень много вопросов. Я не ставил целью описать всё до последнего винтика, это просто нереально, да и смысла не имеет.
Эпилог. Рецепт мечты
Эпилог. Рецепт мечты Можно попробовать поэлементно разложить слагаемые успеха «Яндекса» и главного героя повествования Аркадия Воложа. Вот что получается. В вольной последовательности. Кому как понравится.1. Оригинальность, а зачастую первенство всех разработок. В
Эпилог
Эпилог В этой книге подробно описаны четыре средства межпроцессного взаимодействия (IPC):1. Передача сообщений (именованные и неименованные каналы, очереди сообщений Posix и System V).2. Синхронизация (взаимные исключения и условные переменные, блокировки чтения-записи,
Эпилог
Эпилог Если быть кратким, написание этой книги явилось интересным опытом (а также работой, попортившей немало кровушки).В течение долгих лет я считал, что Delphi, Visual Basic, а теперь и Kylix, порождали, порождают и будут порождать программистов, которые не имеют ни малейшего
Эпилог Домой
На картах его нет – настоящие места никогда не отмечаются на картах. Герман Мелвилл И каким-то образом я догадался, что воображаемая реальность позади экранов компьютеров превратится в единую вселенную. Уильям Гибсон Вступление Вперед! В один очень холодный зимний
Эпилог
Эпилог Поздравляю! Вы прошли весь путь до конца. Что теперь?Во-первых, я рекомендую вам перечитать эту книгу. Повторенье — мать ученья. Если вы перечитаете (или хотя бы просмотрите) книгу, пока она еще свежа в вашей памяти, положительный эффект усилится.Во-вторых, мы лучше
Эпилог Год спустя
Эпилог Год спустя Через год после того как эта книга увидела свет, приватность стала одним из ключевых вопросов, волнующих жителей Соединенных Штатов. Правительственные деятели и бизнесмены теперь осознают, что боязнь клиентов потерять контроль над своей персональной
Эпилог
Эпилог Астроном Карл Саган любил говорить, что понимание чего-либо не уменьшает его интересность и загадочность. Множество людей боятся, что научное понимание повлечет за собой компромисс с удивительностью, как если бы знание высасывало бы вкус и цвет жизни. Но Саган был
Чертов Ублюдок Оператор — Эпилог
Чертов Ублюдок Оператор — Эпилог Я вернулся из Англии и получил назначение на должность программиста–аналитика… В этом качестве я должен работать по восемь часов, и я решил посмотреть, на что похожи смены с 9 до 5.Мне это не понравилось.Я решил зайти в старую добрую