20  За исключением системы Multics, которая в основном оказывала влияние в период между опубликованием се спецификаций в 1965 году и ее фактической поставкой в 1969 году.

21 1° Возвращаясь к вопросу о части технологии Amiga, IBM предоставила компании Commodore лицензию на свой язык сценариев REXX. Данная сделка описана на странице http://wvnm.os2bbs.com/ os2news/OS2Warp. html.

22  В качестве примера рекомендуются сайты OS Voice <http://www.os2voice.org/> и OS/2 BBS.COM .

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

24 http: //security. tombom. со .uk/shatter .html

25  Корпорация Microsoft в марте 2003 года фактически публично признала, что NT-безопасность невозможна. См. Web-страпицу http://www.microsoft. com/technet/treeview/default .asp?url=/ technet/security/bulletin/MS03 -010.asp.

26  Технология Cygwin в значительной мере согласована с Единым стандартом Unix (Single Unix Specification), однако программы, требующие непосредственного доступа к аппаратным ресурсам, запускаются с ограничениями в ядре поддерживающей их Windows-системы. Так, широко известны проблемы с Ethernet-платами.

http: / /www. cbttape. org/cdrom.htm

27  Результаты Linux-стратегии эмуляции и поглощения заметно отличаются от практики захвата и расширения, характерной для некоторых се конкурентов. Для начинающих: Linux не нарушает совместимости с тем, что эмулирует, и таким образом не привязывает клиентов к "расширенной" версии.

28  Закон Брукса гласит, что подключение к запаздывающему проекту новых программистов еще больше замедляет работу, В более широком смысле рост затрат и количества ошибок можно выразить квадратом числа, соответствующего количеству программистов, которые были задействованы в проекте.

29  Согласно модели Хаттона, небольшие различия в максимальном размере элемента кода, который программист может держать в краткосрочной памяти, непосредственно влияют на эффективность работы программиста.

30  В основном труде по рассматриваемой теме, а именно "Refactoring" [21], автор фактически указывает, что принципиальная цель рефакторинга состоит в усилении ортогональности. Однако ввиду недостаточно развитой концепции он может только аппроксимировать данную идею из необходимости устранения дублирования кода и других нежелательных явлений, многие из которых являются следствием нарушения ортогональности.

31 < Типичным примером плохой организации кэширования является директива rehash в csh(1)\ введите man 1 csh для получения более подробных сведений. Другой пример приведен в разделе 12.4.3.

32  Последний пример "переплетения" Unix и Дзэн приведен в приложении Г.

33  Архитектурный выбор порядка интерпретации битов в машинном слове — "обратный" и "прямой" (big-endian и little-endian). Хотя канонический адрес отсутствует, поиск в Web по фразе "On Holy Wan and a Plea for Peace" позволит найти классическую и интересную статью по данной теме.

34  Широко распространенное мнение о том, что автоинкрементная и автодекрементная функции вошли в С, поскольку они представляли машинные команды PDP-11, - это не более чем миф. Согласно воспоминаниям Денниса Ритчи, данные операции были предусмотрены в предшествующем языке В еще до появления PDP-11.

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

35  Много лет назад я узнал из книги Кернигаиа и Плоджера "The Elements of Programming Style" полезное правило: писать однострочный комментарий немедленно после прототипа функции, причем для вся без исключения функций.

36  Простейший способ сбора данных сведений заключается в анализе тег-файлов, сгенерированных с помощью таких утилит, как etags(1) или ctags( 1).

Пример 5.5. XML-формат

Перейти на страницу:

Похожие книги