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

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

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

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΎΠ΄Π½Π°ΠΊΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ слишком строгим ΠΈ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ появлСнию ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ. Π”ΠΎΠΊΠ°Π·Π°Π½ΠΎ [33], Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ построСнии Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ плотности Π΄Π΅Ρ„Π΅ΠΊΡ‚ΠΎΠ² ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° модуля, кривая становится U-ΠΎΠ±Ρ€Π°Π·Π½ΠΎΠΉ, Π° Π΅Π΅ Π»ΡƒΡ‡ΠΈ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ Π²Π²Π΅Ρ€Ρ… (см. рис. 4.1). ΠžΡ‡Π΅Π½ΡŒ большиС ΠΈ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ°Π»Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ слуТат ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ возникновСния Π³ΠΎΡ€Π°Π·Π΄ΠΎ большСго количСства ошибок, Ρ‡Π΅ΠΌ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ срСднСго Ρ€Π°Π·ΠΌΠ΅Ρ€Π°. Π”Ρ€ΡƒΠ³ΠΈΠΌ способом рассмотрСния Ρ‚Π΅Ρ… ΠΆΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… являСтся построСниС Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ количСства строк ΠΊΠΎΠ΄Π° Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±Ρ‰Π΅Π³ΠΎ количСства ошибок. ΠšΡ€ΠΈΠ²Π°Ρ Π² Ρ‚Π°ΠΊΠΎΠΌ случаС ΠΏΠΎΠ΄ΠΎΠ±Π½Π° логарифмичСской ΠΊΡ€ΠΈΠ²ΠΎΠΉ Π΄ΠΎ Π·ΠΎΠ½Ρ‹ "Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ восприятия", Π³Π΄Π΅ ΠΎΠ½Π° сглаТиваСтся (соотвСтствСнно с ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΠΎΠΌ ΠΊΡ€ΠΈΠ²ΠΎΠΉ плотности Π΄Π΅Ρ„Π΅ΠΊΡ‚ΠΎΠ²), ΠΈ послС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½Π° направляСтся Π²Π²Π΅Ρ€Ρ… (ΠΊΠ°ΠΊ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ числа, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ количСству строк ΠΊΠΎΠ΄Π°, Ρ‚.Π΅. Π½Π°Π±Π»ΡŽΠ΄Π°Π΅Ρ‚ΡΡ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ, согласно Π·Π°ΠΊΠΎΠ½Ρƒ Брукса[40], ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ для всСй ΠΊΡ€ΠΈΠ²ΠΎΠΉ).

Рис. 4.1. ΠšΠ°Ρ‡Π΅ΡΡ‚Π²Π΅Π½Π½Π°Ρ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° количСства ΠΈ плотности Π΄Π΅Ρ„Π΅ΠΊΡ‚ΠΎΠ² ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° модуля

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

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

4.2. ΠšΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΈ ΠΎΡ€Ρ‚ΠΎΠ³ΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ

Код Π½Π΅ являСтся СдинствСнным ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ своСго элСмСнта. Π―Π·Ρ‹ΠΊΠΈ программирования ΠΈ API-интСрфСйсы (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅Ρ‡Π½Ρ‹Ρ… ΠΈΠ»ΠΈ систСмных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ²) ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с Ρ‚Π΅ΠΌΠΈ ΠΆΠ΅ ограничСниями чСловСчСского восприятия, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ U-ΠΎΠ±Ρ€Π°Π·Π½ΡƒΡŽ ΠΊΡ€ΠΈΠ²ΡƒΡŽ Π₯Π°Ρ‚Ρ‚ΠΎΠ½Π°.

Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Unix-программисты Π½Π°ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒ вСсьма Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΌΡ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ API-интСрфСйсов, Π½Π°Π±ΠΎΡ€ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄, ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… способов ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ эффСктивности Π΄Π²Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ свойства: ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΈ ΠΎΡ€Ρ‚ΠΎΠ³ΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

4.2.1. ΠšΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒ

ΠšΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒ β€” свойство, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ позволяСт конструкции "ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒΡΡ" Π² памяти Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ практичСский тСст: Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, нуТдаСтся Π»ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π² руководствС для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ. Если Π½Π΅Ρ‚, Ρ‚ΠΎ конструкция (ΠΈΠ»ΠΈ, ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, Π΅Π΅ подмноТСство, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ΅ использованиС) являСтся ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎΠΉ.

ΠšΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ срСдства ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ всСми достоинствами ΡƒΠ΄ΠΎΠ±Π½Ρ‹Ρ… физичСских инструмСнтов. Π˜Ρ… приятно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, ΠΎΠ½ΠΈ Π½Π΅ ΠΏΡ€Π΅ΠΏΡΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Π΅, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ.

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

ΠšΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΉ Π½Π΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ "ΠΌΠ°Π»Ρ‹ΠΉ". Если Ρ‡Π΅Ρ‚ΠΊΠΎ спроСктированная систСма являСтся прСдсказуСмой ΠΈ "ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎΠΉ" для ΠΎΠΏΡ‹Ρ‚Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Ρ‚ΠΎ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ довольно ΠΌΠ½ΠΎΠ³ΠΎ частСй.

КСн ΠΡ€Π½ΠΎΠ»ΡŒΠ΄.

ΠžΡ‡Π΅Π½ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ конструкции ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΌΠΈ Π² Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠΌ смыслС, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΌΠΈ Π² Π±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΎΠΌ смыслС. Они ΠΈΠΌΠ΅ΡŽΡ‚ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ Π½Π°Π±ΠΎΡ€, подмноТСство возмоТностСй, подходящСС

для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ 80-Ρ‚ΠΈ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΎΠ² Ρ‚Π΅Ρ… Π·Π°Π΄Π°Ρ‡, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΡ… ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ. На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ для Ρ‚Π°ΠΊΠΈΡ… конструкций ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ трСбуСтся справочная ΠΊΠ°Ρ€Ρ‚Π° ΠΈΠ»ΠΈ памятка, Π½ΠΎ Π½Π΅ руководство. ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ конструкции Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΠΎΠ»ΡƒΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΌΠΈ Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ строго ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΌ конструкциям.

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

Π‘Ρ‚Π°Ρ‚ΡŒΡ "The Magical Number Seven, Plus or Minus Two: Some Limits on Our Capacity for Processing Information" [54] являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· основных Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΏΠΎ ΠΊΠΎΠ³Π½ΠΈΡ‚ΠΈΠ²Π½ΠΎΠΉ психологии (ΠΈ ΠΊ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ особой ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π² Π‘ΠΎΠ΅Π΄ΠΈΠ½Π΅Π½Π½Ρ‹Ρ… Π¨Ρ‚Π°Ρ‚Π°Ρ… мСстныС Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π½Ρ‹Π΅ Π½ΠΎΠΌΠ΅Ρ€Π° состоят ΠΈΠ· сСми Ρ†ΠΈΡ„Ρ€). Π‘Ρ‚Π°Ρ‚ΡŒΡ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ количСство дискрСтных Π±Π»ΠΎΠΊΠΎΠ² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ способСн ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π² краткосрочной памяти, Ρ€Π°Π²Π½ΠΎ сСми плюс-минус Π΄Π²Π°. Из этого слСдуСт Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π΅ практичСскоС ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ для ΠΎΡ†Π΅Π½ΠΊΠΈ компактности API-интСрфСйсов: Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π»ΠΈ программисту ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ сСми Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Ρ‚ΠΎΡ‡Π΅ΠΊ? Π›ΡŽΠ±ΡƒΡŽ Π±ΠΎΠ»Π΅Π΅ ΠΊΡ€ΡƒΠΏΠ½ΡƒΡŽ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ Π΅Π΄Π²Π° Π»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎΠΉ.

Π‘Ρ€Π΅Π΄ΠΈ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… срСдств Unix ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎΠΉ являСтся ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° make(1), a autoconf(1) ΠΈ automake(1) ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΌΠΈ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ. Π§Ρ‚ΠΎ касаСтся языков Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ: HTML β€” ΠΏΠΎΠ»ΡƒΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΉ язык, a DocBook (язык Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π² Π³Π»Π°Π²Π΅ 18) Ρ‚Π°ΠΊΠΎΠ²Ρ‹ΠΌ Π½Π΅ являСтся. ΠœΠ°ΠΊΡ€ΠΎΡΡ‹ man(7) ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹, Π° Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ° troff(1) β€” Π½Π΅Ρ‚.

Π‘Ρ€Π΅Π΄ΠΈ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Ρ… языков программирования Π‘ ΠΈ Python ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠΎΠ»ΡƒΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΌΠΈ, a Perl, Java, Emacs Lisp ΠΈ shell β€” Π½Π΅Ρ‚ (особСнно Π²Π²ΠΈΠ΄Ρƒ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎΠ΅ shell-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΎΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π·Π½Π°Π½ΠΈΠΉ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… срСдств, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ sed(1) ΠΈ awk(1)). Π‘++ β€” Π°Π½Ρ‚ΠΈΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΉ язык β€” Π΅Π³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΏΡ€ΠΈΠ·Π½Π°Π», Ρ‡Ρ‚ΠΎ вряд Π»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΎΠ΄ΠΈΠ½ программист ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΏΠΎΠΉΠΌΠ΅Ρ‚ Π΅Π³ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ.

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

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