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

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

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

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ инструмСнты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π΅ΡˆΠ°ΡŽΡ‚ Π΄Π°Π½Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ. Двумя ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΎ извСстных срСдств ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° Imake(1), связанная с систСмой X Window ΠΈ инструмСнт Configure, созданный Π›Π°Ρ€Ρ€ΠΈ Π£ΠΎΠ»Π»ΠΎΠΌ (Larry Wall, создавшим ΠΏΠΎΠ·Π΄Π½Π΅Π΅ язык Perl) ΠΈ приспособлСнный для ΠΌΠ½ΠΎΠ³ΠΈΡ… Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². ВсС ΠΎΠ½ΠΈ, ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ, Ρ‚Π°ΠΊΠΆΠ΅ слоТны ΠΊΠ°ΠΊ Π½Π°Π±ΠΎΡ€ autoconf, ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² настоящСС врСмя Π½Π΅ Ρ‡Π°Ρ‰Π΅. Они Π½Π΅ ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Ρ†Π΅Π»Π΅Π²Ρ‹Ρ… систСм ΠΊΠ°ΠΊ autoconf.

17.6. Π˜Π½Ρ‚Π΅Ρ€Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ

Π”Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ рассмотрСниС ΠΈΠ½Ρ‚Π΅Ρ€Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π° β€” Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π΅ интСрфСйс Π»Π΅Π³ΠΊΠΎ Π²ΠΌΠ΅Ρ‰Π°Π» Π² сСбя нСсколько языков ΠΈ справлялся с ΠΏΡ€ΠΈΡ‡ΡƒΠ΄Π°ΠΌΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π½Π°Π±ΠΎΡ€ΠΎΠ² символов β€” Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π·Π° Ρ€Π°ΠΌΠΊΠΈ Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ. Однако ΠΎΠΏΡ‹Ρ‚ Unix ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ нСсколько ΡƒΡ€ΠΎΠΊΠΎΠ² Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ.

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, рСкомСндуСтся Ρ€Π°Π·Π΄Π΅Π»ΡΡ‚ΡŒ Π±Π°Π·Ρƒ сообщСний ΠΈ ΠΊΠΎΠ΄. Π₯ΠΎΡ€ΠΎΡˆΠ°Ρ Unix-ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΎΡ‚Π΄Π΅Π»Π΅Π½ΠΈΠΈ строк сообщСний, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, ΠΎΡ‚ Π΅Π΅ ΠΊΠΎΠ΄Π° Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ словари сообщСний Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… языках ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π±Π΅Π· ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π°.

НаиболСС извСстным инструмСнтом для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ являСтся GNU-ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° gettext, которая Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ макрос строки исходного языка, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. ΠœΠ°ΠΊΡ€ΠΎΡ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ строку ΠΊΠ°ΠΊ ΠΊΠ»ΡŽΡ‡ Π² словарях всСх языков, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ². Если Ρ‚Π°ΠΊΠΈΠ΅ словари Π½Π΅ доступны (ΠΈΠ»ΠΈ доступны, Π½ΠΎ Π² процСссС поиска соотвСтствиС Π½Π΅ Π±Ρ‹Π»ΠΎ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ), Ρ‚ΠΎ макрос просто Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ свой Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚, Π±Π΅Π·ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΎΡ‡Π½ΠΎ отступая ΠΊ собствСнному языку Π² ΠΊΠΎΠ΄Π΅.

НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ сама ΠΏΠΎ сСбС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° gettext ΠΊ сСрСдинС 2003 Π³ΠΎΠ΄Π° являлась Ρ…Ρ€ΡƒΠΏΠΊΠΎΠΉ ΠΈ бСспорядочно ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ, Π΅Π΅ общая философия Π²ΠΏΠΎΠ»Π½Π΅ Π»ΠΎΠ³ΠΈΡ‡Π½Π°. Для ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π²ΠΏΠΎΠ»Π½Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π»Π΅Π³ΠΊΠΎΠ²Π΅ΡΠ½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Π΄Π°Π½Π½ΠΎΠΉ ΠΈΠ΄Π΅ΠΈ с Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌΠΈ.

Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, Π² соврСмСнных Unix-систСмах прослСТиваСтся отчСтливая тСндСнция ΠΈΠ·Π±Π°Π²Π»ΡΡ‚ΡŒΡΡ ΠΎΡ‚ всСго "историчСского мусора", связанного с мноТСством Ρ‚Π°Π±Π»ΠΈΡ† символов, ΠΈ Π΄Π΅Π»Π°Ρ‚ΡŒ СстСствСнным языком ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ UTF-8, 8-Π±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Unicode-символов со смСщСниСм (Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, использованию Π² качСствС Ρ‚Π°ΠΊΠΎΠ³ΠΎ языка 16-Π±ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΈΠ΅ символы). НиТниС 128 символов UTF-8 ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой символы ASCII, Π° Π½ΠΈΠΆΠ½ΠΈΠ΅ 256 символов β€” Latin-1, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с двумя Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ символов. Π­Ρ‚ΠΎΠΌΡƒ способствуСт Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ XML ΠΈ Java сдСлали Π΄Π°Π½Π½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€, Π½ΠΎ двиТущая сила ΡƒΠΆΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π°, Π΄Π°ΠΆΠ΅ Ссли Π±Ρ‹ Π½Π΅ Π±Ρ‹Π»ΠΎ XML ΠΈ Java.

Π’-Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈΡ…, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚ΡŒΡΡ ΠΊ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°ΠΌ символов Π² рСгулярных выраТСниях. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ [a-z] Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ всС строчныС Π±ΡƒΠΊΠ²Ρ‹, Ссли сцСнарий ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° разрабатываСтся, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для Π“Π΅Ρ€ΠΌΠ°Π½ΠΈΠΈ, Π³Π΄Π΅ острая Π±ΡƒΠΊΠ²Π° "s" ΠΈΠ»ΠΈ символ "Π " считаСтся строчным, Π½ΠΎ Π½Π΅ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Π΄Π°Π½Π½Ρ‹ΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½. ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ с французскими Π±ΡƒΠΊΠ²Π°ΠΌΠΈ ΠΏΠΎΠ΄ ΡƒΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ΠΌ. НадСТнСС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ элСмСнт [ [: lower: ] ] ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹, описанныС Π² стандартС POSIX.

17.7. ΠŸΠ΅Ρ€Π΅Π½ΠΎΡΠΈΠΌΠΎΡΡ‚ΡŒ, ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ стандарты ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ исходный ΠΊΠΎΠ΄

ΠŸΠ΅Ρ€Π΅Π½ΠΎΡΠΈΠΌΠΎΡΡ‚ΡŒ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ стандартов. Π­Ρ‚Π°Π»ΠΎΠ½Π½Ρ‹Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ эффСктивным ΠΈΠ· извСстных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΊΠ°ΠΊ для распространСния стандарта, Ρ‚Π°ΠΊ ΠΈ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π½ΡƒΠ΄ΠΈΡ‚ΡŒ коммСрчСских поставщиков ΡΠΎΠ³Π»Π°ΡΠΈΡ‚ΡŒΡΡ со стандартом. Для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° рСализация ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ стандарта Π² ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌ исходном ΠΊΠΎΠ΄Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΡΠΎΠΊΡ€Π°Ρ‰Π°Ρ‚ΡŒ объСм Ρ€Π°Π±ΠΎΡ‚ ΠΏΠΎ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΈ позволяСт создаваСмому ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρƒ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ прСимущСства (ΠΊΠ°ΠΊ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹Π΅, Ρ‚Π°ΠΊ ΠΈ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹Π΅) ΠΈΠ· Ρ‚Ρ€ΡƒΠ΄Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

Рассмотрим, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π·Π°Ρ…Π²Π°Ρ‚Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ для Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹. Π—Π°Ρ‡Π΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ собствСнный Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ для сохранСния ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ ΠΏΠΎΠΊΡƒΠΏΠ°Ρ‚ΡŒ коммСрчСский ΠΊΠΎΠ΄, ΠΊΠΎΠ³Π΄Π° (ΠΊΠ°ΠΊ Π±Ρ‹Π»ΠΎ сказано Π² Π³Π»Π°Π²Π΅ 5) сущСствуСт ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ провСрСнная, ΠΏΠΎΠ»Π½ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для записи PNG-ΠΈΠ·ΠΎΠ±Ρ€Π°-ΠΆΠ΅Π½ΠΈΠΉ, рСализованная Π² ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌ исходном ΠΊΠΎΠ΄Π΅?

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ (ΠΈΠ»ΠΈ воссозданиС) ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ исходного ΠΊΠΎΠ΄Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠΊΠ°Π·Π°Π»ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ влияниС Π½Π° процСсс стандартизации. НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ это Π½Π΅ являСтся ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, IETF ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ с 1997 Π³ΠΎΠ΄Π° всС большС сопротивляСтся ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π² стандарты Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ RFC, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅ ΠΎΠ΄Π½ΠΎΠΉ эталонной Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ. Π’ Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ каТСтся Π²ΠΏΠΎΠ»Π½Π΅ вСроятным, Ρ‡Ρ‚ΠΎ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ соотвСтствия Π»ΡŽΠ±ΠΎΠΌΡƒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ стандарту Π±ΡƒΠ΄Π΅Ρ‚ всС большС ΠΈΠ·ΠΌΠ΅Ρ€ΡΡ‚ΡŒΡΡ соотвСтствиСм рСализациям с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ ΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½Ρ‹ Π°Π²Ρ‚ΠΎΡ€Π°ΠΌΠΈ стандарта.

ΠžΠ±ΠΎΡ€ΠΎΡ‚Π½ΠΎΠΉ стороной этого являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ часто Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠΈΠΉ способ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ стандартом Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² распространСнии высококачСствСнной Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ.

Π“Π΅Π½Ρ€ΠΈ БпСнсСр.

Π’ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ слСдуСт ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠ½ΡƒΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ самый эффСктивный шаг, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ для обСспСчСния пСрСносимости Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Π½Π° Ρ‡Π°ΡΡ‚Π½ΡƒΡŽ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡŽ. НС извСстно, ΠΊΠΎΠ³Π΄Π° закрытая Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, инструмСнт, Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ сСтСвой ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ», ΠΎΡ‚ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ зависит ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚ΠΈΡ‚ сущСствованиС, ΠΈΠ»ΠΈ, ΠΊΠΎΠ³Π΄Π° интСрфСйс Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ нСсовмСстимым ΠΏΡƒΡ‚Π΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π·Ρ€ΡƒΡˆΠΈΡ‚ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ исходный ΠΊΠΎΠ΄, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅, Π΄Π°ΠΆΠ΅ Ссли вСдущая вСрсия измСнится Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Ρ€ΡƒΡˆΠΈΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚; Π²Π²ΠΈΠ΄Ρƒ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ сущСствуСт доступ ΠΊ исходному ΠΊΠΎΠ΄Ρƒ, ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π² случаС нСобходимости пСрСнСсти Π΅Π³ΠΎ Π½Π° Π½ΠΎΠ²ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ.

Π”ΠΎ ΠΊΠΎΠ½Ρ†Π° 90-Ρ… Π³ΠΎΠ΄ΠΎΠ² данная рСкомСндация Π±Ρ‹Π»Π° Π±Ρ‹ Π½Π΅Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌΠΎΠΉ. НСсколько Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ² частных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм ΠΈ срСдств Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±Ρ‹Π»ΠΈ "Π±Π»Π°Π³ΠΎΡ€ΠΎΠ΄Π½Ρ‹ΠΌΠΈ экспСримСнтами", подтвСрТдСниями акадСмичСских ΠΈΠ΄Π΅ΠΉ ΠΈΠ»ΠΈ "ΠΈΠ³Ρ€ΡƒΡˆΠΊΠ°ΠΌΠΈ". Но Internet ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» всС. Π’ сСрСдинС 2003 Π³ΠΎΠ΄Π° Linux ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Unix-систСмы с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ Π΄ΠΎΠΊΠ°Π·Π°Π»ΠΈ свою ΡΡ‚ΠΎΠΉΠΊΠΎΡΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ для создания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΎΠ³ΠΎ качСства. Π’ настоящСС врСмя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ Π»ΡƒΡ‡ΡˆΡƒΡŽ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρƒ, Ρ‡Π΅ΠΌ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ краткосрочных бизнСс-Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ, Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹Ρ… Π½Π° Π·Π°Ρ‰ΠΈΡ‚Ρƒ Ρ‡ΡƒΠΆΠΎΠΉ ΠΌΠΎΠ½ΠΎΠΏΠΎΠ»ΠΈΠΈ. ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠΉΡ‚Π΅ Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½Ρ‹Π΅ конструкции β€” создавайтС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° основС ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ исходного ΠΊΠΎΠ΄Π° ΠΈ Π²Ρ‹ Π½Π΅ ΠΏΠΎΠΏΠ°Π΄Π΅Ρ‚Π΅ Π² Π±Π΅Π·Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

18 ДокумСнтация: объяснСниС ΠΊΠΎΠ΄Π° Π² Web-сообщСствС

Π― Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ встрСчал Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹ ΠΏΡ€ΠΎΡ‡Π΅ΡΡ‚ΡŒ 17 000 страниц Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, Π° Ссли Π±Ρ‹ Ρ‚Π°ΠΊΠΎΠΉ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ Π±Ρ‹Π», я ΡƒΠ±ΠΈΠ» Π±Ρ‹ Π΅Π³ΠΎ для очистки Π³Π΅Π½ΠΎΡ„ΠΎΠ½Π΄Π°. β€”Π”ΠΆΠΎΠ·Π΅Ρ„ ΠšΠΎΡΡ‚Π΅Π»Π»ΠΎ 0osef Costello)

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Unix Π² 1971 Π³ΠΎΠ΄Ρƒ Π±Ρ‹Π»Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° для ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² β€” Bell Labs использовала Π΅Π΅ для ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ ΠΏΠ°Ρ‚Π΅Π½Ρ‚Π½Ρ‹Ρ… Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² цСлях составлСния ΠΊΠ°Ρ€Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ. Π€ΠΎΡ‚ΠΎΠ½Π°Π±ΠΎΡ€, управляСмый ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ, всС Π΅Ρ‰Π΅ оставался Ρ‚ΠΎΠ³Π΄Π° Π½ΠΎΠ²ΠΎΠΉ ΠΈΠ΄Π΅Π΅ΠΉ, ΠΈ Π½Π° нСсколько Π»Π΅Ρ‚ послС своСго Π΄Π΅Π±ΡŽΡ‚Π° Π² 1973 Π³ΠΎΠ΄Ρƒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ создал Π”ΠΆΠΎ Оссана (Joe Ossana), troff (1), ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ» ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ.

Π‘ Ρ‚Π΅Ρ… ΠΏΠΎΡ€ слоТныС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅Ρ€Ρ‹ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС для Π½Π°Π±ΠΎΡ€Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ макСтирования страниц Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ Π²Π°ΠΆΠ½ΠΎΠ΅ мСсто Π² традициях Unix. Π₯отя troff (1) Π΄ΠΎΠΊΠ°Π·Π°Π» свою ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π΄ΠΎΠ»Π³ΠΎΠ²Π΅Ρ‡Π½ΠΎΡΡ‚ΡŒ, Π² Unix Ρ‚Π°ΠΊΠΆΠ΅ поддСрТиваСтся Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ€Π°Π±ΠΎΡ‚Π° Π² Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ области. БСгодня Unix-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈ Unix-инструмСнты находятся Π½Π° ΠΏΠ΅Ρ€Π΅Π΄ΠΎΠ²ΠΎΠΌ Ρ€ΡƒΠ±Π΅ΠΆΠ΅ Π΄Π°Π»Π΅ΠΊΠΎ ΠΈΠ΄ΡƒΡ‰ΠΈΡ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½ Π² ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ создания Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², Π½Π°Ρ‡Π°Π»ΠΎΠΌ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ послуТило появлСниС World Wide Web.

На ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… прСдставлСний с сСрСдины 1990-Ρ… Π³ΠΎΠ΄ΠΎΠ² ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° сообщСства Unix быстро смСщаСтся Π² Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΈΠ΄Π΅ΠΈ "всС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ β€” HTML, всС ссылки β€” URL". Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, соврСмСнныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для просмотра справочной ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² Unix ΡΠ²Π»ΡΡŽΡ‚ΡΡ просто Web-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ способны ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ синтаксичСский Π°Π½Π°Π»ΠΈΠ· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π²ΠΈΠ΄ΠΎΠ² URL-адрСсов (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, URL "man:ls(l)" ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ шап-страницу ls(1) Π² HTML-страницу). Π­Ρ‚ΠΎ ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, Π²Ρ‹Π·Π²Π°Π½Π½Ρ‹Π΅ сущСствованиСм мноТСства Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² для Π³Π»Π°Π²Π½Ρ‹Ρ… Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², Π½ΠΎ Π½Π΅ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΈΡ… ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ. БоставитСли Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π΄ΠΎ сих ΠΏΠΎΡ€ Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½Ρ‹ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Π²Ρ‹Π±ΠΎΡ€Π° Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΠΈΡ‚ ΠΈΡ… спСцифичСскиС потрСбности.