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

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

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

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

Аналогичный Π²Ρ‹Π±ΠΎΡ€ обнаруТиваСтся Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… ситуациях. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ разрабатываСтся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΡƒΠ·Ρ‹ΠΊΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ синтСзатора (MIDI sequencer). ΠžΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΠΊΡ€ΡƒΠ³ Π΅Π³ΠΎ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня (упорядочСниС Π΄ΠΎΡ€ΠΎΠΆΠ΅ΠΊ) ΠΈΠ»ΠΈ Π²ΠΎΠΊΡ€ΡƒΠ³ Π½ΠΈΠΆΠ½Π΅Π³ΠΎ уровня (ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈΠ»ΠΈ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΊ ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ ΠΊΠΎΠ»Π΅Π±Π°Π½ΠΈΠΉ).

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

Π’ качСствС Π±ΠΎΠ»Π΅Π΅ ΠΊΡ€ΡƒΠΏΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° рассмотрим Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Web-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π’Π΅Ρ€Ρ…Π½ΠΈΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ конструкции Web-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° являСтся спСцификация ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠ³ΠΎ повСдСния Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹: ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ URL-адрСсов (http: ΠΈΠ»ΠΈ ftp:, ΠΈΠ»ΠΈ file:) ΠΎΠ½Π° ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, ΠΊΠ°ΠΊΠΈΠ΅ Π²ΠΈΠ΄Ρ‹ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΎΠ½Π° способна Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, допускаСт Π»ΠΈ ΠΎΠ½Π° использованиС языков Java ΠΈΠ»ΠΈ JavaScript ΠΈ с ΠΊΠ°ΠΊΠΈΠΌΠΈ ограничСниями ΠΈ Ρ‚.Π΄. Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ соотвСтствуСт Π΄Π°Π½Π½ΠΎΠΌΡƒ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌΡƒ ΡƒΡ€ΠΎΠ²Π½ΡŽ, являСтся основным событийным Ρ†ΠΈΠΊΠ»ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Ρ†ΠΈΠΊΠ» ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚, Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°Π΅Ρ‚ ΠΈ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ дСйствия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ (Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ Web-ссылки ΠΈΠ»ΠΈ Π²Π²ΠΎΠ΄ символа Π² ΠΏΠΎΠ»Π΅).

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

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

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

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

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

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

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

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, созданиС Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° склоняСтся ΠΊ использованию ΠΊΠ°ΠΊ нисходящСго, Ρ‚Π°ΠΊ ΠΈ восходящСго ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ². НСрСдко нисходящий ΠΈ восходящий ΠΊΠΎΠ΄ являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ использования ΡΠ²ΡΠ·ΡƒΡŽΡ‰ΠΈΡ… ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ.

4.3.2. Π‘Π²ΡΠ·ΡƒΡŽΡ‰ΠΈΠ΅ ΡƒΡ€ΠΎΠ²Π½ΠΈ

Π”ΠΎΠ²ΠΎΠ»ΡŒΠ½ΠΎ часто столкновСниС нисходящСго ΠΈ восходящСго ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ² являСтся ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ бСспорядка. Π’Π΅Ρ€Ρ…Π½ΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π»ΠΎΠ³ΠΈΠΊΠΈ прилоТСния ΠΈ Π½ΠΈΠΆΠ½ΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ основных ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ² Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ уровня ΡΠ²ΡΠ·ΡƒΡŽΡ‰Π΅ΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ.

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

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

Π‘Π²ΡΠ·ΡƒΡŽΡ‰ΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Web-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΌ Π·Π²Π΅Π½ΠΎΠΌ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ спСцификациСй ΠΈ основными ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π°ΠΌΠΈ, Π½ΠΎ ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ нСсколькими Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ внСшними спСцификациями: Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ сСти, описанной Π² ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π΅ HTTP, структурой HTML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ графичСскими ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½Ρ‹ΠΌΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°ΠΌΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ повСдСнчСскими оТиданиями ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с GUI-интСрфСйсом.

Однако ΠΎΠ΄ΠΈΠ½ СдинствСнный Ρ‡Ρ€Π΅Π²Π°Ρ‚Ρ‹ΠΉ ошибками ΡΠ²ΡΠ·ΡƒΡŽΡ‰ΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π½Π΅ являСтся наибольшСй ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π½Π°Π΅Ρ‚ ΠΎ сущСствовании ΡΠ²ΡΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎ уровня ΠΈ пытаСтся ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² срСдний ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π²ΠΎΠΊΡ€ΡƒΠ³ собствСнного Π½Π°Π±ΠΎΡ€Π° структур Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΌΠΎΠΆΠ΅Ρ‚ Π² ΠΈΡ‚ΠΎΠ³Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Π²Π° ΡΠ²ΡΠ·ΡƒΡŽΡ‰ΠΈΡ… уровня β€” ΠΎΠ΄ΠΈΠ½ Π²Ρ‹ΡˆΠ΅ срСднСго уровня, Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π½ΠΈΠΆΠ΅. Π’Π°Π»Π°Π½Ρ‚Π»ΠΈΠ²Ρ‹Π΅, Π½ΠΎ Π½Π΅ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Π΅ программисты особСнно склонны ΠΏΠΎΠΏΠ°Π΄Π°Ρ‚ΡŒ Π² эту Π»ΠΎΠ²ΡƒΡˆΠΊΡƒ. Они ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ всС основныС Π½Π°Π±ΠΎΡ€Ρ‹ классов (Π»ΠΎΠ³ΠΈΠΊΡƒ прилоТСния, срСдний ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΈ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Ρ‹ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области) ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π΅Π»Ρ‹Π²Π°ΡŽΡ‚ ΠΈΡ… ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌ ΠΈΠ· ΡƒΡ‡Π΅Π±Π½ΠΈΠΊΠΎΠ², ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡΠ±ΠΈΠ²Π°ΡŽΡ‚ΡΡ с ΠΏΡƒΡ‚ΠΈ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΡΠ²ΡΠ·ΡƒΡŽΡ‰ΠΈΡ… ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ всСго ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, становится всС большС ΠΈ большС.