Искусство программирования для Unix - Эрик Реймонд
Шрифт:
Интервал:
Закладка:
API
Application Programming Interface. Программный интерфейс приложений. Набор процедурных вызовов, который обменивается данными со связываемой библиотекой процедур или ядром операционной системы, или их комбинацией.
BSD
Berkeley System Distribution, или Berkeley Software Distribution. Дистрибутив системы Беркли, или дистрибутив программного обеспечения Беркли. Документальные свидетельства неоднозначны. Общее название дистрибутивов Unix, выпущенных Computer Science Research Group в Калифорнийском университете в Беркли в период между 1976 и 1994 годами, а также Unix-систем с открытым исходным кодом, генетически происходящих от данных дистрибутивов.
CLI
Command Line Interface. Интерфейс командной строки. Считается некоторыми архаичным, но остается весьма полезным в мире Unix.
CPAN
Comprehensive Perl Archive Network. Полный сетевой архив Perl-программ. Центральный Web-репозиторий Perl-модулей и расширений <http://cpan.org>.
GNU
GNU's Not Unix! GNU — не Unix! Рекурсивная аббревиатура для проекта фонда свободного программного обеспечения (Free Software Foundation) по созданию клона Unix с полностью свободным программным обеспечением. Данный проект не достиг абсолютного успеха, однако в его рамках создано множество основных инструментов современной Unix-разработки, включая редактор Emacs и коллекцию компиляторов GNU (GNU Compiler Collection).
GUI
Graphical User Interface. Графический пользовательский интерфейс. Современный стиль интерфейса приложений, использующих мышь, окна и пиктограммы, созданный в лаборатории Xerox PARC в 1970-х годах как противоположность более старым CLI- или rogue-подобным стилям.
IDE
Integrated Development Environment. Интегрированная среда разработки. Автоматизированные инструментальные средства разработки с GUI-интерфейсом для создания кода, описания средств и быстрого просмотра структур данных. В Unix данные средства не получили широкого распространения по причинам, описанным в главе 15.
IETF
Internet Engineering Task Force. Инженерная группа по решению конкретной задачи в Internet. Орган, ответственный за определение Internet-протоколов, таких как TCP/IP. Свободная, коллегиальная организация, главным образом состоящая из технических специалистов.
IPC
Inter-Process Communication. Межпроцессное взаимодействие. Любой метод передачи данных между процессами, запущенными в отдельных адресных пространствах.
MIME
Multipurpose Internet Mail Extensions. Многоцелевые расширения почтового стандарта в Internet. Ряд документов RFC, которые описывают стандарты для внедрения двоичных и многокомпонентных сообщений в почту стандарта RFC-822. Кроме использования для передачи почты, MIME-формат используется в качестве нижнего уровня для важных протоколов уровня приложений, включая HTTP и ВЕЕР.
OO
Object Oriented. Объектно-ориентированный. Стиль программирования, при котором код и управляемые им данные инкапсулируются в изолированные (теоретически) контейнеры — объекты. В противоположность данному стилю, в необъектно-ориентированном программировании внутреннее устройство структур данных и кода отображается более свободно объектно-ориентированное.
OS
Operating System. Операционная система. Базовое программное обеспечение машины. Именно оно управляет задачами, распределяет пространство памяти и предоставляет пользователю стандартный интерфейс для управления приложениями. Средства, предоставляемые операционной системой, и ее общая философия проектирования чрезвычайно сильно оказывают влияние на стиль программирования и техническую культуру, которая формируется вокруг машин, поддерживающих данную систему.
Portable Document Format. Переносимый формат документов. PostScript-язык для управления принтерами и другими устройствами, формирующими изображение. PDF представляет собой последовательность PostScript-страниц, упакованных с аннотациями таким образом, что его можно легко использовать в качестве формата отображения.
PDP-11
Programmable Data Processor 11. Программируемый процессор данных 11. Вероятно, единственная наиболее успешная конструкция мини-компьютера в истории; непосредственный предшественник компьютеров VAX. Впервые был представлен в 1970 году, последний PDP-11 появился в 1990 году. Данный мини-компьютер был первой крупной Unix-платформой.
PNG
Portable Network Graphics. Формат переносимой сетевой графики. Стандарт Консорциума WWW (The World Wide Web Consortium), рекомендуемый формат для растровых графических изображений. Элегантно разработанный формат растровой графики, описанный в главе 5.
RFC
Request For Comment. Запрос на комментарии. Internet-стандарт. Название, которое возникло в то время, когда документы считались предложениями, представленными для рассмотрения в ходе тогда еще несуществующего, но ожидаемого формального процесса согласования. Формальный процесс согласования никогда не осуществлялся.
RPC
Remote Procedure Call. Удаленный вызов процедур. Использование IPC-методов, которые призваны создать иллюзию того, что процессы, обменивающиеся данными, работают в одном адресном пространстве и могут экономично (а) совместно использовать комплексные структуры и (b) вызывать друг друга как библиотеки функций, игнорирующие задержку и другие проблемы производительности. Общеизвестно, что эту иллюзию трудно поддерживать.
TCP/IP
Transmission Control Protocol/Internet Protocol. Протокол управления передачей/Internet-протокол. Базовый протокол Internet с момента преобразования NCP (Network Control Protocol — протокол управления сетью) в 1983 году. Обеспечивает гарантированную транспортировку потоков данных.
UDP/IP
Universal Datagram Protocol/Internet Protocol. Протокол универсальных дейтаграмм/Internet протокол. Обеспечивает негарантированную, но с малой задержкой, транспортировку небольших пакетов данных.
UI
User Interface. Пользовательский интерфейс.
VAX
Формально Virtual Address Extension — виртуальное расширение адреса. Название классической конструкции мини-компьютеров, разработанной Digital Equipment Corporation (позднее претерпевшей слияние с Compaq, которая в свою очередь впоследствии была поглощена Hewlett-Packard) на основе PDP-11. Первый мини-компьютер VAX был представлен в 1977 году. В течение десяти лет после 1980 года мини-компьютеры VAX были в числе важнейших Unix-платформ. Доработанные микропроцессоры поставляются и в настоящее время.
Б
Список литературы
Хронология индустрии Unix и GNU/Linux опубликована на страницах <http://snap.nlc.dcccd.edu/learn/drkelly/hst-hand.htm> и <http://www.robotwisdom.com/linux/timeline.html>. Историческая диаграмма версий операционной системы Unix также представлена на Web-странице <http://www.levenez.com/Unix/>.
1. Appleton R. Improving Context Switching Performance of Idle Tasks under Linux. 2001. - C. 188.
Статья доступна на Web-странице <http://cs.nmu.edu/~randy/Research/Papers/Scheduler/>.
2. Baldwin C., Clark K. Design Rules, Vol 1: The Power of Modularity. MIT Press, 2000. - C. 107.
3. Bentley J. Programming Pearls. (Второе издание). Addison-Wesley, 2000. — C. 245.
В третьем эссе данной книги "Data Structures Programs" обсуждается учебный пример, подобный примеру в главе 9. Некоторая часть книги доступна в Web <http://www.es.bell-labs.com/cm/cs/pearls/>.
4. Blaauw G. A., Brooks F. P. Computer Architecture: Concepts and Evolution. Addison-Wesley, 1997. — C. 122, 428.
5. Bolinger D., Bronson T. Applying RCS and SCCS. O'Reilly & Associates, 1995. - C. 398.
Данная книга — не просто "рецептурный" справочник, в ней исследуются проблемы конструкции систем управления версиями.
6. Brokken F. С++Annotations Version, 2002. - С. 358.
Книга также доступна в Web: <http://www.icce.rug.nl/documents/cplusplus/cplusplus.html>.
7. Brooks D. Converting a UNIX.COM Site to Windows. 2000. - C. 82.
Книга также доступна в Web: <http://www.securityoffice.net/mssec- rets/hotmail.html#_Toc491601819>.
8. Brooks F. P. The Mythical Man-Month, (двадцатое юбилейное издание). Addison-Wesley, 1995. - С. 39, 40, 334, 472.
9. Boehm H. Advantages and Disadvantages of Conservative Garbage Collection. — C. 352.
Исчерпывающий анализ компромиссов между средами "с уборкой мусора" и без нее. Статья доступна в Web <http://www.hpl.hp.com/personal/Hans_Boehm/gc/issues.html>
10. Cameron D., Rosenblatt В., Raymond E. Learning GNU Emacs, (второе издание). O'Reilly & Associates, 1996. - C. 382.
11. Cannon L. W., Elliot R. A., Kirchhoff L. W., Miller J. A., Milner J. M„ Mitzw R. W., Schan E. P., Whittington N. O., Spencer H., Keppel D., Brader M. Recommended С Style and Coding Standards, 1990. - C. 443.
Обновленная версия документа Indian Hill С Style and Coding Standards с изменениями, внесенными тремя последними авторами. В документе описан рекомендованный стандарт кодирования для С-программ. Документ доступен в Web <http://www.apocalypse.org/pub/u/paul/docs/cstyle/cstyle.htm>.
12. Christensen C. The Innovator's Dilemma. HarperBusiness, 2000. — C. 75.