Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π˜ΡΠΊΡƒΡΡΡ‚Π²ΠΎ программирования для UnixΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 159

Автор Π­Ρ€ΠΈΠΊ Π Π΅ΠΉΠΌΠΎΠ½Π΄

81

Однако Π½Π΅ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ XSLT ΠΌΠΎΠ³ Π±Ρ‹ Π±Ρ‹Ρ‚ΡŒ нСсколько ΠΏΡ€ΠΎΡ‰Π΅ ΠΏΡ€ΠΈ Ρ‚Π΅Ρ… ΠΆΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… возмоТностях, поэтому Π΅Π³ΠΎ нСльзя ΠΎΡ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΏΠ»ΠΎΡ…ΡƒΡŽ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ.

82

ΠšΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ ΠΈ практичСскоС ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ XSL <http://nwalsh.com/docs/tutorials/xsl/xsl/slides.html>.

83

http://www.netlib.org/

84

Π’ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ собствСнныС ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° Ρ‚Π°ΠΊΠΆΠ΅ вСсьма Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎ для ΠΊΠ½ΠΈΠ³ ΠΏΠΎ Unix, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… описываСтся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° pic(1).

85

# Π¦ΠΈΡ‚Π°Ρ‚Π° ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ Алану ΠŸΠ΅Ρ€Π»ΠΈΡΡƒ (Alan Perils), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΎΠ²Π΅Π» ряд ΠΏΠ΅Ρ€Π΅Π΄ΠΎΠ²Ρ‹Ρ… Ρ€Π°Π±ΠΎΡ‚ ΠΏΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π² 1970 Π³ΠΎΠ΄Ρƒ. Π”Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ Π² Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΎΠ·Π½Π°Ρ‡Π°Π»ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ ΠΈΠ»ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠΎΡ‚ΠΎΠΌΠΊΠ°Ρ… языка Algol, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Pascal ΠΈ Π‘.

86

Для Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»Π΅ΠΉ, Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π²ΡˆΠΈΡ… Π½Π° соврСмСнных языках сцСнариСв: ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ прСдставляСт собой Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ поиска связСй ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, часто Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌΡƒΡŽ посрСдством Ρ…ΡΡˆ-Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. C-программисты тратят Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ кодирования, рСализуя словари Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ слоТными способами.

87

Когда-Ρ‚ΠΎ я сам Π±Ρ‹Π» мастСром awk, Π½ΠΎ ΠΊΡ‚ΠΎ-Ρ‚ΠΎ Π½Π°ΠΏΠΎΠΌΠ½ΠΈΠ» ΠΌΠ½Π΅, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹ΠΉ язык ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ ΠΊ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ создания HTML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², поэтому СдинствСнный awk-ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ связан ΠΈΠΌΠ΅Π½Π½ΠΎ с Π½Π΅ΠΉ.

88

БущСствуСт сайт ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° GhostScript <http://www.cs.wise.edu/~ghost/>.

89

ΠŸΠ΅Ρ€Π²ΠΎΠ΅ руководство ΠΏΠΎ PostScript <http://www.cs.indiana.edu/docproject/programming/postscript/postscript.html>.

90

Π Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ JavaScript с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌΠΈ исходными ΠΊΠΎΠ΄Π°ΠΌΠΈ Π½Π° Π‘ ΠΈ Java доступны Π½Π° сайтС <http://www.mozilla.org/js/>.

91

16 20 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² β€” сдСрТанная ΠΎΡ†Π΅Π½ΠΊΠ°, основанная Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ°Ρ… Linux Counter ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… источниках ΠΏΠΎ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ Π½Π° сСрСдину 2003 Π³ΠΎΠ΄Π°.

92

17 ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Kmail, которая Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Π»Π°ΡΡŒ Π² Π³Π»Π°Π²Π΅ 6, ΠΏΠΎ этой ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ Π΄Π°ΠΆΠ΅ Π½Π΅ отслСТиваСт внСшниС ссылки Π² HTML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ….

93

Π”Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅Π΅ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ этой Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΎ Π² ΠΊΠ½ΠΈΠ³Π΅ [3].

94

Π―Π·Ρ‹ΠΊΠΈ сцСнариСв часто Ρ€Π΅ΡˆΠ°ΡŽΡ‚ Π΄Π°Π½Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Π±ΠΎΠ»Π΅Π΅ изящно, Ρ‡Π΅ΠΌ Π‘. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½ΠΈ это Π΄Π΅Π»Π°ΡŽΡ‚, слСдуСт ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΡƒ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²Ρ‹Ρ… Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² (here documents) Π² shell ΠΈ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ Ρ‚Ρ€ΠΎΠΉΠ½Ρ‹Ρ… ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ Π² Python.

95

Π—Π΄Π΅ΡΡŒ CGI ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π½Π΅ Computer Graphic Imagery, Π° Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡŽ Common Gateway Interface (интСрфСйс ΠΎΠ±Ρ‰Π΅Π³ΠΎ шлюза), которая примСняСтся для создания ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… Web-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².

96

Для отобраТСния скрытых Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ -Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ ls(1).

97

Буффикс "rc" связан с систСмой, ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Unix, CTSS. Π’ Π½Π΅ΠΉ присутствовала функция сцСнария ΠΊΠΎΠΌΠ°Π½Π΄, которая Π½Π°Π·Ρ‹Π²Π°Π»Π°ΡΡŒ "runcom". Π’ Ρ€Π°Π½Π½ΠΈΡ… Unix-систСмах имя "rc" использовалось для Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½ΠΎΠ³ΠΎ сцСнария ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы ΠΊΠ°ΠΊ дань runcom Π² CTSS.

98

Никто Π½Π΅ Π·Π½Π°Π΅Ρ‚ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ изящного способа ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ эти распрСдСлСнныС Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ настройках. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ срСды, вСроятно, Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ этим способом, ΠΎΠ΄Π½Π°ΠΊΠΎ для всСх извСстных Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ² Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ нСприятныС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹.

99

4 Π’ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Unix-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π²Π½Π°Ρ‡Π°Π»Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ VISUAL, ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли ΠΎΠ½Π° Π½Π΅ установлСна, ΠΎΠ±Ρ€Π°Ρ‰Π°ΡŽΡ‚ΡΡ ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ EDITOR. Π­Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅ΠΆΠΈΡ‚ΠΎΠΊ Ρ‚ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΈΠΌΠ΅Π»ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ настройки для строковых ΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ².

100

Π‘ΠΌ. стандарты GNU-программирования Π½Π° страницС <http://www.gnu.org/prep/standards.html>.

101

Π€Π°ΠΉΠ» .xinitrc являСтся Π°Π½Π°Π»ΠΎΠ³ΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² Windows ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах.

102

ДиспСтчСр ΠΎΠΊΠΎΠ½ (window manager) ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ связи ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠΊΠ½Π°ΠΌΠΈ Π½Π° экранС ΠΈ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹ΠΌΠΈ заданиями. ДиспСтчСр ΠΎΠΊΠΎΠ½ управляСт Ρ‚Π°ΠΊΠΈΠΌΠΈ функциями, ΠΊΠ°ΠΊ располоТСниС, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ², свСртываниС, Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² ΠΈ Π·Π°Ρ‚Π΅Π½Π΅Π½ΠΈΠ΅ ΠΎΠΊΠΎΠ½.

103

Π’Π°ΠΊΠΎΠΉ взгляд Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π΅Π½ для нСтСхничСского ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

104

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠΎΠ΄Ρ‹ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π΅Ρ€ΠΎΠ² с ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌΠΈ интСрфСйсами доступны Π½Π° страницС <http://ww.cdrom.com/pub/png>.

105

Π£ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° (harness programm) прСдставляСт собой ΡƒΠΏΠ°ΠΊΠΎΠ²Ρ‰ΠΈΠΊ, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΌ ΠΈΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌ доступ ΠΊ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ рСсурсу. Π”Π°Π½Π½Ρ‹ΠΉ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ часто употрСбляСтся ΠΏΡ€ΠΈ характСристикС срСдств тСстирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ тСстовыС Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈ (часто) ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π° для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ фактичСского Π²Ρ‹Π²ΠΎΠ΄Π° тСстируСмых ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

106

Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π°Script-Fu <http://www.xcf.Berkeley.edu/~gimp/script-fu/script-fu.html>.

107

Если Π² систСмС ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ подсвСчиваСмыС Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ ΠΎΠΊΠ½Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ "ΠΌΠ°Π»ΠΎ Π²Ρ‚ΠΎΡ€Π³Π°ΡŽΡ‚ΡΡ" ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΈΡ….

108

Для Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»Π΅ΠΉ, Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌΡ‹Ρ… с О-Π½ΠΎΡ‚Π°Ρ†ΠΈΠ΅ΠΉ: ΠΎΠ½Π° прСдставляСт собой способ указания зависимости ΠΌΠ΅ΠΆΠ΄Ρƒ срСдним Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ выполнСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌΠΈ Π΅Π³ΠΎ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. Алгоритм O(1) выполняСтся Π·Π° постоянноС врСмя. Алгоритм О(n) выполняСтся Π·Π° врСмя, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅: An + Π‘, Π³Π΄Π΅ А β€” Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ нСизвСстный постоянный коэффициСнт ΠΏΡ€ΠΎΠΏΠΎΡ€Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Π° Π‘ β€” нСизвСстная константа, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ врСмя установки. Π›ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΉ поиск ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ значСния Π² спискС прСдставляСт собой Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ‚ΠΈΠΏΠ° О(n). Алгоритм О(nΒ²) выполняСтся Π·Π° врСмя AnΒ² плюс Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π° Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ порядка (которая ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Π»ΠΈΠ±ΠΎ логарифмичСской ΠΈΠ»ΠΈ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ Π½ΠΈΠΆΠ΅ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΈΡ‡Π½ΠΎΠΉ). Поиск ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² спискС (ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ, Π±Π΅Π· сортировки списка) являСтся Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠΌ О(nΒ²). Аналогично, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ порядка О(nΒ³) ΠΈΠΌΠ΅ΡŽΡ‚ срСднСС врСмя выполнСния, вычисляСмоС ΠΏΠΎ кубичСской Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅. Π’Π°ΠΊΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ часто слишком ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ для практичСского примСнСния. ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ O(log n) Ρ‚ΠΈΠΏΠΈΡ‡Π΅Π½ для поиска ΠΏΠΎ Π΄Π΅Ρ€Π΅Π²Ρƒ. Π’Π·Π²Π΅ΡˆΠ΅Π½Π½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° часто ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ врСмя выполнСния с O(ΠΏΒ²) Π΄ΠΎ О(log n). Иногда, ΠΊΠΎΠ³Π΄Π° трСбуСтся Ρ€Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ использованиС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠΌ памяти, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΎ измСняСтся ΠΊΠ°ΠΊ O(1) ΠΈΠ»ΠΈ О(n), ΠΈΠ»ΠΈ O(nΒ²). Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ с использованиСм памяти О(nΒ²) ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ высокого порядка ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½Π΅ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½Ρ‹ΠΌΠΈ.

109

Π£Π΄Π²ΠΎΠ΅Π½ΠΈΠ΅ мощности Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄Ρ‹Ρ… 18 мСсяцСв, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ†ΠΈΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ΅ Π² контСкстС Π·Π°ΠΊΠΎΠ½Π° ΠœΡƒΡ€Π°, ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ 26% прироста ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ просто ΠΏΡƒΡ‚Π΅ΠΌ приобрСтСния Π½ΠΎΠ²ΠΎΠ³ΠΎ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ обСспСчСния Ρ‡Π΅Ρ€Π΅Π· 6 мСсяцСв.

110

Π’Π΅Ρ€ΠΌΠΈΠ½Ρ‹, Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ здСсь для обозначСния ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ проСктирования, происходят ΠΈΠ· ΡƒΡΡ‚ΠΎΡΠ²ΡˆΠ΅Π³ΠΎΡΡ ΠΆΠ°Ρ€Π³ΠΎΠ½Π° Ρ…Π°ΠΊΠ΅Ρ€ΠΎΠ², описанного Π² ΠΊΠ½ΠΈΠ³Π΅ [66].

111

Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ случайной ΠΈ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ слоТности ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ рассматриваСмыС здСсь ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‚Π΅ΠΌ ΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ ΠΈ ΡΠ»ΡƒΡ‡Π°ΠΉΠ½ΠΎΡΡ‚ΡŒ Π² ΠΎΡ‡Π΅Ρ€ΠΊΠ΅ Π€Ρ€Π΅Π΄Π° Брукса "No Silver Bullet" [8], ΠΎΠ΄Π½Π°ΠΊΠΎ Π² философском смыслС ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅ происхоТдСниС.

112

ΠœΠΎΠ»ΠΎΠ΄Ρ‹Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅ Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π½ΡŒΡˆΠ΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Ρ‹ ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π»ΠΈ (Π½Π° Π±ΡƒΠΌΠ°Π³Π΅ ΠΈ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ).

113

http://plan9.bell-labs.com/sys/doc/sam/sam.html

114

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ Emacs Π±Ρ‹Π»ΠΈ Π ΠΈΡ‡Π°Ρ€Π΄ М. Π‘Ρ‚ΠΎΠ»Π»ΠΌΠ΅Π½ (Richard М. Stallman) ΠΈ Π‘Π΅Ρ€Π½ΠΈ Π“Ρ€ΠΈΠ½Π±Π΅Ρ€Π³ (Bernie Greenberg). ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Emacs Π±Ρ‹Π» ΠΈΠ·ΠΎΠ±Ρ€Π΅Ρ‚Π΅Π½ΠΈΠ΅ΠΌ Π‘Ρ‚ΠΎΠ»Π»ΠΌΠ΅Π½Π°, пСрвая вСрсия со встроСнным языком Lisp Π±Ρ‹Π»Π° создана Π“Ρ€ΠΈΠ½Π±Π΅Ρ€Π³ΠΎΠΌ, Π° ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ Π½Π° сСгодняшний дСнь вСрсия создана Π‘Ρ‚ΠΎΠ»Π»ΠΌΠ΅Π½ΠΎΠΌ Π½Π° основС вСрсии Π“Ρ€ΠΈΠ½Π±Π΅Ρ€Π³Π°. К 2003 Π³ΠΎΠ΄Ρƒ Π½Π΅Ρ‚ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ излоТСния истории Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°, Π½ΠΎ эту Ρ‚Π΅ΠΌΡƒ освСщаСт ΡΡ‚Π°Ρ‚ΡŒΡ Π“Ρ€ΠΈΠ½Π±Π΅Ρ€Π³Π° "Multics Emacs: The History, Design, and Implementation", ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² Web ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словам.

115

http://www.cs.yorku.ca/~oz/wily

116

http://plan9.bell-labs.com/sys/doc/acme/acme.html

117

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ Π½Π° страницС <ftp://ftp.idiom.com/pub/compilers-list/free-compilers> (Бписок бСсплатных компиляторов ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠ²).

118

Π—Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ ΠΌΠΈΡ€Π° Unix этот прирост Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π½Π° Ρ‚Ρ€ΠΈ порядка Π² Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ΅Ρ€Π΅ затмСваСтся ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΏΠΎΠ½ΠΈΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

119

Π‘Π΅Ρ€ΡŒΠ΅Π·Π½ΠΎΡΡ‚ΡŒ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ подтвСрТдаСтся Π±ΠΎΠ³Π°Ρ‚Ρ‹ΠΌ слСнгом, Π²Ρ‹Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΌ Unix-программистами для описания Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π΅Π΅ разновидностСй: "псСвдонимная ошибка" (aliasing bug), "Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ области памяти" (arena corruption), "ΡƒΡ‚Π΅Ρ‡ΠΊΠ° памяти" (memory leak), "ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π±ΡƒΡ„Π΅Ρ€Π°" (buffer overflow), "Ρ€Π°Π·Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ стСка" (stack smash), "ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ указатСля" (fandango on core), "Π½Π΅Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ" (stale pointer), "ΠΏΠΎΠ΄ΠΊΠ°Ρ‡ΠΊΠ° памяти" (heap trashing), Π° Ρ‚Π°ΠΊΠΆΠ΅ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ справСдливыС опасСния "Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½ΠΎΠ΅ ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅" (secondary damage). ПояснСния ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π² Π‘Π»ΠΎΠ²Π°Ρ€Π΅ Ρ…Π°ΠΊΠ΅Ρ€Π° <http://www.catb.org/~esr/jargon>.