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

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

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

Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, Ρ‚ΠΎΡ‚,.ΠΊΠΎΠΌΡƒ впослСдствии придСтся ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, вряд Π»ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ поставлСн Π² Ρ‚ΡƒΠΏΠΈΠΊ изящным ΠΈ ясным ΠΊΠΎΠ΄ΠΎΠΌ β€” Π±ΠΎΠ»Π΅Π΅ вСроятно, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ Π² Π½Π΅ΠΌ разбСрСтся. Π­Ρ‚ΠΎ особСнно Π²Π°ΠΆΠ½ΠΎ, Ссли спустя нСсколько Π»Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΊΡƒΡ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π±ΡƒΠ΄Π΅Ρ‚ сам ΡΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

НС ΠΏΡ‹Ρ‚Π°ΠΉΡ‚Π΅ΡΡŒ Ρ‚Ρ€ΠΈΠΆΠ΄Ρ‹ Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Ρ…ΠΈΡ‚Ρ€ΠΎΡƒΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄. ΠžΠ΄Π½Π°ΠΆΠ΄Ρ‹ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° нСповторимая ΡƒΠ΄Π°Ρ‡Π°, ΠΎΠ΄Π½Π°ΠΊΠΎ, Ссли придСтся Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ Π² ΠΊΠΎΠ΄Π΅ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Ρ€Π°Π·, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ΠΎΠ½ рассматривался слишком Π΄Π°Π²Π½ΠΎ ΠΈ Π΄Π΅Ρ‚Π°Π»ΠΈ ΠΏΠΎΠ·Π°Π±Ρ‹Ρ‚Ρ‹, Ρ‚ΠΎ это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ внСсти Π² ΠΊΠΎΠ΄ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ Ρ€Π°Π· Π±Ρ‹Π» ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π±Π΅Π·Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½Ρ‹ΠΌ.

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

1.6.3. ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ: слСдуСт Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ

Если Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ способны Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ, Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ создания слоТных ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

Врадиция Unix Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ способствуСт написанию ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ ΠΈ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ простыС тСкстовыС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π½Π° ΠΏΠΎΡ‚ΠΎΠΊΠΈ ΠΈ Π½Π΅ зависящиС ΠΎΡ‚ устройств. Π’ классичСской Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Unix ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ большС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ простых Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ² (filters), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π° Π²Ρ…ΠΎΠ΄Π΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ простой тСкстовый ΠΏΠΎΡ‚ΠΎΠΊ ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°ΡŽΡ‚ Π΅Π³ΠΎ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ простой тСкстовый ΠΏΠΎΡ‚ΠΎΠΊ Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅.

Π’ΠΎΠΏΡ€Π΅ΠΊΠΈ распространСнному ΠΌΠΈΡ„Ρƒ, такая ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° ΡˆΠΈΡ€ΠΎΠΊΠΎ распространСна Π½Π΅ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Unix-программисты нСнавидят графичСскиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ интСрфСйсы. Данная ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒΡŽ Unix-программистов, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΡΠ²ΡΠ·Ρ‹Π²Π°Ρ‚ΡŒ вмСстС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π½Π΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠ΅ ΠΈ Π½Π΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‰ΠΈΠ΅ Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ простыС тСкстовыС ΠΏΠΎΡ‚ΠΎΠΊΠΈ, Π³ΠΎΡ€Π°Π·Π΄ΠΎ Ρ‚Ρ€ΡƒΠ΄Π½Π΅Π΅.

ВСкстовыС ΠΏΠΎΡ‚ΠΎΠΊΠΈ для Unix-инструмСнтов ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‚Π΅ΠΌ ΠΆΠ΅, Ρ‡Π΅ΠΌ ΡΠ²Π»ΡΡŽΡ‚ΡΡ сообщСния для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ срСдС. ΠŸΡ€ΠΎΡΡ‚ΠΎΡ‚Π° интСрфСйса тСкстовых ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² усиливаСт ΠΈΠ½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡŽ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… срСдств. Π‘ΠΎΠ»Π΅Π΅ слоТныС Ρ„ΠΎΡ€ΠΌΡ‹ мСТпроцСссного взаимодСйствия, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ (remote procedure call), Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‚ Ρ‚Π΅Π½Π΄Π΅Π½Ρ†ΠΈΡŽ ΠΊ использованию ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ с ΡΠΈΠ»ΡŒΠ½Ρ‹ΠΌΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌΠΈ зависимостями Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°.

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½ΡƒΠ΅ΠΌΡ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΈΡ… слСдуСт Π΄Π΅Π»Π°Ρ‚ΡŒ нСзависимыми. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° с ΠΎΠ΄Π½ΠΎΠΉ стороны тСкстового ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ мСньшС Π΄ΠΎΠ»ΠΆΠ½Π° Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ сторонС. Π”ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ обСспСчСна Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°ΠΌΠ΅Π½Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с ΠΎΠ΄Π½ΠΎΠΉ стороны Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ Π±Π΅Π· Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²Ρ‚ΠΎΡ€ΠΎΠΉ стороны.

GUI-интСрфСйсы ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ Π½Π° вСсьма высоком ΡƒΡ€ΠΎΠ²Π½Π΅. Иногда просто Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ слоТных Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠ°ΠΊΠΈΠΌΠΈ-Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΡ‹ΠΌΠΈ способами. Однако ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ GUI-интСрфСйс, Ρ€Π°Π·ΡƒΠΌΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ выдСлСния частСй Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ со слоТным взаимодСйствиСм Π² ΠΎΠ΄ΠΈΠ½ Π±Π»ΠΎΠΊ, Π° основных Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² β€” Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ использования простого ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° для связи Π΄Π²ΡƒΡ… Π±Π»ΠΎΠΊΠΎΠ². ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΈΠ·ΠΎΠ±Ρ€Π΅Ρ‚Π°Ρ‚ΡŒ Π½Π΅Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ для распространСния Π΄Π°Π½Π½Ρ‹Ρ…, стоит ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡƒΡ‚Π΅ΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, имССтся Π»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ простой тСкстовый Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΈ ΡΠΎΠ³Π»Π°ΡΠΈΡ‚ΡŒΡΡ с нСбольшими Π·Π°Ρ‚Ρ€Π°Ρ‚Π°ΠΌΠΈ Π½Π° синтаксичСский Π°Π½Π°Π»ΠΈΠ· Π² ΠΎΠ±ΠΌΠ΅Π½ Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… срСдств.

Π’ ситуации, ΠΊΠΎΠ³Π΄Π° сСриализованный интСрфСйс, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρƒ, Π½Π΅ являСтся СстСствСнным для Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ прилоТСния, конструкция "Π² Π΄ΡƒΡ…Π΅ Unix" Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹, ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ большС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ² Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ с Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ API-интСрфСйсом. Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ΡΡ возмоТности Π²Ρ‹Π·ΠΎΠ²Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΡƒΡ‚Π΅ΠΌ связывания ΠΈΠ»ΠΈ привязки ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… интСрфСйсов для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡.

Данная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ обсуТдаСтся Π² Π³Π»Π°Π²Π΅ 7.

1.6.4. ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ раздСлСния: слСдуСт ΠΎΡ‚Π΄Π΅Π»ΡΡ‚ΡŒ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΡƒ ΠΎΡ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° ΠΈ интСрфСйсы ΠΎΡ‚ основных ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ

Π’ Ρ€Π°Π·Π΄Π΅Π»Π΅ "Π§Ρ‚ΠΎ Π² Unix дСлаСтся Π½Π΅Π²Π΅Ρ€Π½ΠΎ" ΠΎΡ‚ΠΌΠ΅Ρ‡Π°Π»ΠΎΡΡŒ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ систСмы X Window приняли основноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ "ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°, Π° Π½Π΅ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ". Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π±Ρ‹Π» Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ систСму X ΠΎΠ±Ρ‰ΠΈΠΌ сСрвСром ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎ стилС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса инстру-мСнтариям ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ уровням систСмы. Π­Ρ‚ΠΎ ΠΎΠΏΡ€Π°Π²Π΄Π°Π½Π½ΠΎ, Ссли ΡƒΡ‡Π΅ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ° ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ стрСмятся ΠΊ измСнСнию Π½Π° протяТСнии Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΎΠ² Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ° мСняСтся Π³ΠΎΡ€Π°Π·Π΄ΠΎ быстрСС, Ρ‡Π΅ΠΌ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ. Мода Π½Π° Π²ΠΈΠ΄ ΠΈ восприятиС GUI-инструмСнтариСв ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΉΡ‚ΠΈ ΠΈ ΡƒΠΉΡ‚ΠΈ, Π½ΠΎ растровыС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ° останутся.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ТСсткоС объСдинСниС ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π° ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… эффСкта. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ° становится Π½Π΅Π³ΠΈΠ±ΠΊΠΎΠΉ ΠΈ услоТняСтся Π΅Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ трСбования. Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° измСнСния ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ ΡΡ‚Ρ€ΠΎΠ³ΡƒΡŽ Ρ‚Π΅Π½Π΄Π΅Π½Ρ†ΠΈΡŽ ΠΊ дСстабилизации ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ².

Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΄Π²ΡƒΡ… этих элСмСнтов Π΄Π΅Π»Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ экспСримСнтированиС с Π½ΠΎΠ²ΠΎΠΉ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΎΠΉ Π±Π΅Π· Ρ€Π°Π·Ρ€ΡƒΡˆΠ΅Π½ΠΈΡ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ². ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, облСгчаСтся написаниС Ρ…ΠΎΡ€ΠΎΡˆΠΈΡ… тСстов для ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° (ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ°, Π²Π²ΠΈΠ΄Ρƒ своСго быстрого измСнСния, часто Π½Π΅ ΠΎΠΏΡ€Π°Π²Π΄Ρ‹Π²Π°Π΅Ρ‚ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ).

Π”Π°Π½Π½ΠΎΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ проСктирования ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠΎ Π²Π½Π΅ контСкста GUI-интСрфСйсов. Π’ Ρ†Π΅Π»ΠΎΠΌ ΠΎΠ½ΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ слСдуСт ΠΈΡΠΊΠ°Ρ‚ΡŒ способы раздСлСния интСрфСйсов ΠΈ основных ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ.

Одним ΠΈΠ· способов осущСствлСния Ρ‚Π°ΠΊΠΎΠ³ΠΎ раздСлСния, Π² частности, являСтся написаниС прилоТСния Π² Π²ΠΈΠ΄Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ слуТСбных ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° Π‘, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ приводятся Π² дСйствиС встроСнным языком сцСнариСв, Π° ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π°Ρ Π»ΠΎΠ³ΠΈΠΊΠ° прилоТСния вмСсто Π‘ написана Π½Π° языкС сцСнариСв. ΠšΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ Ρ‚Π°ΠΊΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ являСтся Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Emacs, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ для управлСния Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΌΠΈ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π°ΠΌΠΈ, написанными Π½Π° Π‘, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ встроСнный ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ языка Lisp. Π’Π°ΠΊΠΎΠΉ ΡΡ‚ΠΈΠ»ΡŒ программирования обсуТдаСтся Π² Π³Π»Π°Π²Π΅ 11.

Π”Ρ€ΡƒΠ³ΠΎΠΉ способ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠΈ прилоТСния Π½Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ процСссы ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° (front-end) ΠΈ сСрвСра (back-end), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Ρ‡Π΅Ρ€Π΅Π· спСциализированный ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ уровня посрСдством сокСтов. Π”Π°Π½Π½Ρ‹ΠΉ конструкторский ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ рассматриваСтся Π² Π³Π»Π°Π²Π°Ρ… 5 ΠΈ 7. Π’ΠΎ внСшнСй ΠΈΠ»ΠΈ клиСнтской части рСализуСтся ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ°, Π° Π²ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ ΠΈΠ»ΠΈ сСрвСрной β€” ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ. Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Π°Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΠ°Ρ€Ρ‹ часто являСтся Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ мСньшСй, Ρ‡Π΅ΠΌ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ³ΠΎ процСсса, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Ρ‚Π΅ ΠΆΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. ΠžΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ΡΡ ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ошибок ΠΈ ΡΠΎΠΊΡ€Π°Ρ‰Π°ΡŽΡ‚ΡΡ Π·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹ Π½Π° ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ».

1.6.5. ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ простоты: Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ простыС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ "Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ" Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π°ΠΌ, Π³Π΄Π΅ это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ

МногиС Ρ„Π°ΠΊΡ‚ΠΎΡ€Ρ‹ приводят ΠΊ ΡƒΡΠ»ΠΎΠΆΠ½Π΅Π½ΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ (Π° ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π΄Π΅Π»Π°ΡŽΡ‚ ΠΈΡ… Π±ΠΎΠ»Π΅Π΅ Π΄ΠΎΡ€ΠΎΠ³ΠΈΠΌΠΈ ΠΈ Π±ΠΎΠ»Π΅Π΅ уязвимыми ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ошибок). ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Ρ‹ β€” это Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ яркиС люди, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ гордятся (часто заслуТСнно) своСй ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒΡŽ ΡΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒΡΡ со слоТностями ΠΈ Π»ΠΎΠ²ΠΊΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ с абстракциями. Часто ΠΎΠ½ΠΈ ΡΠΎΡΡ‚ΡΠ·Π°ΡŽΡ‚ΡΡ Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ, ΠΏΡ‹Ρ‚Π°ΡΡΡŒ Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ, ΠΊΡ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ "самыС замысловатыС ΠΈ красивыС слоТности". Π‘Ρ‚ΠΎΠ»ΡŒ ΠΆΠ΅ часто ΠΈΡ… ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€Π΅Π²Π°Π»ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π°Π΄ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ ΠΈ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ, Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ являСтся дорогостоящий ΠΏΡ€ΠΎΠ²Π°Π».

МнСниС ΠΎ "замысловатой ΠΈ красивой слоТности" являСтся ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΎΠΊΡΡŽΠΌΠΎΡ€ΠΎΠ½ΠΎΠΌ. Unix-программисты ΡΠΎΠΏΠ΅Ρ€Π½ΠΈΡ‡Π°ΡŽΡ‚ Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ Π·Π° "простоту ΠΈ красоту". Π­Ρ‚Π° ΠΌΡ‹ΡΠ»ΡŒ нСявно присутствуСт Π² Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ…, Π½ΠΎ Π΅Π΅ стоит ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎΠΉ.

Π”ΡƒΠ³ ΠœΠ°ΠΊΠΈΠ»Ρ€ΠΎΠΉ.

Π•Ρ‰Π΅ Ρ‡Π°Ρ‰Π΅ (ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, Π² ΠΌΠΈΡ€Π΅ коммСрчСского ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния) излишняя ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ исходит ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π½Ρ‹Ρ… Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ скорСС основаны Π½Π° ΠΌΠ°Ρ€ΠΊΠ΅Ρ‚ΠΈΠ½Π³ΠΎΠ²ΠΎΠΉ ΠΏΡ€ΠΈΡ‡ΡƒΠ΄Π΅ мСсяца, Π° Π½Π΅ Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… поТСланиях Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠ° ΠΈΠ»ΠΈ фактичСских возмоТностях ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΈΡ… конструкций Π±Ρ‹Π»ΠΈ Ρ€Π°Π·Π΄Π°Π²Π»Π΅Π½Ρ‹ ΠΌΠ°Ρ€ΠΊΠ΅Ρ‚ΠΈΠ½Π³ΠΎΠ²Ρ‹ΠΌ Π½Π°Π³Ρ€ΠΎΠΌΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ "статСй ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ пСрСчня" β€” Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ часто Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ вострСбованы Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠΎΠΌ. ΠšΡ€ΡƒΠ³ замыкаСтся; сопСрники ΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΡ€Π΅Π²Π½ΠΎΠ²Π°Ρ‚ΡŒΡΡ с Ρ‡ΡƒΠΆΠΈΠΌΠΈ "ΡƒΠΊΡ€Π°ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π°ΠΌΠΈ" ΠΏΡƒΡ‚Π΅ΠΌ добавлСния собствСнных. Π”ΠΎΠ²ΠΎΠ»ΡŒΠ½ΠΎ скоро "массивная ΠΎΠΏΡƒΡ…ΠΎΠ»ΡŒ" становится ΠΈΠ½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ стандартом, ΠΈ всС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ большиС, ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹Π΅ ошибками ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ способны ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΠΈΡ‚ΡŒ Π΄Π°ΠΆΠ΅ ΠΈΡ… создатСлСй.