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

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

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

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

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

4.3.3. Π£Ρ‡Π΅Π±Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€: язык Π‘ считаСтся Ρ‚ΠΎΠ½ΠΊΠΈΠΌ ΡΠ²ΡΠ·ΡƒΡŽΡ‰ΠΈΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ

Π―Π·Ρ‹ΠΊ Π‘ являСтся Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ эффСктивности Ρ‚ΠΎΠ½ΠΊΠΎΠ³ΠΎ ΡΠ²ΡΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎ уровня.

Π’ ΠΊΠΎΠ½Ρ†Π΅ 90-Ρ… Π³ΠΎΠ΄ΠΎΠ² Π”ΠΆΠ΅Ρ€Ρ€ΠΈΡ‚ Π‘Π»Π°Π°Ρƒ (Gerrit Blaauw) ΠΈ Π€Ρ€Π΅Π΄ Брукс (Fred Brooks) Π² ΠΊΠ½ΠΈΠ³Π΅ "Computer Architecture: Concepts and Evolution" [4] ΠΎΡ‚ΠΌΠ΅Ρ‡Π°Π»ΠΈ, Ρ‡Ρ‚ΠΎ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° всСх ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² (ΠΎΡ‚ Ρ€Π°Π½Π½ΠΈΡ… мэйнфрСймов, ΠΌΠΈΠ½ΠΈ-ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² ΠΈ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… станций Π΄ΠΎ PC) ΡΡ‚Ρ€Π΅ΠΌΠΈΠ»Π°ΡΡŒ ΠΊ ΠΊΠΎΠ½Π²Π΅Ρ€Π³Π΅Π½Ρ†ΠΈΠΈ. Π§Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½Π΅ΠΉ Π±Ρ‹Π»Π° конструкция Π² своСм тСхнологичСском ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠΈ, Ρ‚Π΅ΠΌ ΠΏΠ»ΠΎΡ‚Π½Π΅Π΅ ΠΎΠ½Π° приблиТался ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π‘Π»Π°Π°Ρƒ ΠΈ Брукс Π½Π°Π·Π²Π°Π»ΠΈ "классичСской Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ" (classical architecture): Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ΅ прСдставлСниС, Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ΅ адрСсноС пространство, Ρ€Π°Π·Π³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ памяти ΠΈ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° (рСгистров), ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Π΅ рСгистры, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ адрСса, Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‰Π΅Π³ΠΎ фиксированноС число Π±Π°ΠΉΡ‚ΠΎΠ², двухадрСсныС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, порядок слСдования Π±Π°ΠΉΡ‚ΠΎΠ²[45] ΠΈ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠ°ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ мноТСство с Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌΠΈ, ΠΊΡ€Π°Ρ‚Π½Ρ‹ΠΌΠΈ 4, Π»ΠΈΠ±ΠΎ 6 (6-Π±ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ сСмСйства Π² настоящСС врСмя устарСло).

Вомпсон ΠΈ Π ΠΈΡ‚Ρ‡ΠΈ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π»ΠΈ язык Π‘ ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ структурированного ассСмблСра для ΠΈΠ΄Π΅Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ процСссора ΠΈ памяти, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΎΠΆΠΈΠ΄Π°Π»ΠΈ, ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΡΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ². По счастливой случайности, ΠΈΡ… модСлью для ΠΈΠ΄Π΅Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ процСссора Π±Ρ‹Π» ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ PDP-11, вСсьма продуманная ΠΈ изящная конструкция ΠΌΠΈΠ½ΠΈ-ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, которая Π²ΠΏΠ»ΠΎΡ‚Π½ΡƒΡŽ ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ°Π»Π°ΡΡŒ ΠΊ классичСской Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ Π‘Π»Π°Π°Ρƒ ΠΈ Брукса. Π—Π΄Ρ€Π°Π²ΠΎ рассуТдая, Вомпсон ΠΈ Π ΠΈΡ‚Ρ‡ΠΈ ΠΎΡ‚ΠΊΠ°Π·Π°Π»ΠΈΡΡŒ Π²Π½Π΅Π΄Ρ€ΡΡ‚ΡŒ Π² Π‘ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹Ρ… особСнностСй (Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ порядок Π±Π°ΠΉΡ‚ΠΎΠ²) Ρ‚Π°ΠΌ, Π³Π΄Π΅ PDP-11 Π΅ΠΌΡƒ Π½Π΅ соотвСтствовал[46].

PDP-11 стал Π²Π°ΠΆΠ½ΠΎΠΉ модСлью для ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠΉ микропроцСссоров. Оказалось, Ρ‡Ρ‚ΠΎ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ абстракции Π‘ вСсьма Ρ‡Π΅Ρ‚ΠΊΠΎ ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ ΠΊΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π‘ начинался ΠΊΠ°ΠΊ Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π΅ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ для микропроцСссоров ΠΈ, вмСсто Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΡ‚Π°Ρ‚ΡŒ Π½Π΅ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½Ρ‹ΠΌ Π² связи с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ прСдполоТСния устарСли, фактичСски становился Π»ΡƒΡ‡ΡˆΠ΅, ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ΅ обСспСчСниС всС Π±ΠΎΠ»Π΅Π΅ сильно сливалось с классичСской Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ. Одним ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ этой ΠΊΠΎΠ½Π²Π΅Ρ€Π³Π΅Π½Ρ†ΠΈΠΈ Π±Ρ‹Π»Π° Π·Π°ΠΌΠ΅Π½Π° Π² 1985 Π³ΠΎΠ΄Ρƒ процСссора Intel 286 с Π½Π΅ΡƒΠΊΠ»ΡŽΠΆΠ΅ΠΉ сСгмСнтной адрСсациСй памяти процСссором сСрии 386 с большим простым адрСсным пространством памяти. Чистый язык Π‘ Π±Ρ‹Π» Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π»ΡƒΡ‡ΡˆΠΈΠΌ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ для процСссоров 386, Ρ‡Π΅ΠΌ для процСссоров 286-ΠΉ сСрии.

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

Π­Ρ‚Ρƒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ стоит Π²ΡΠΏΠΎΠΌΠΈΠ½Π°Ρ‚ΡŒ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΎΡΠΌΡ‹ΡΠ»ΠΈΠ²Π°Ρ‚ΡŒ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ языка Π‘ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, насколько ΠΌΠΎΡ‰Π½ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ чСткая, минималистская конструкция. Если Π±Ρ‹ Вомпсон ΠΈ Π ΠΈΡ‚Ρ‡ΠΈ Π±Ρ‹Π»ΠΈ ΠΌΠ΅Π½Π΅Π΅ Π΄Π°Π»ΡŒΠ½ΠΎΠ²ΠΈΠ΄Π½Ρ‹ΠΌΠΈ, Ρ‚ΠΎ ΠΎΠ½ΠΈ создали Π±Ρ‹ язык, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π΅Π»Π°Π» Π±Ρ‹ Π³ΠΎΡ€Π°Π·Π΄ΠΎ большС, опирался Π±Ρ‹ Π½Π° Π±ΠΎΠ»Π΅Π΅ строгиС прСдполоТСния, Π½ΠΈΠΊΠΎΠ³Π΄Π° ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ пСрСносился Π±Ρ‹ с исходной Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ исчСз Π±Ρ‹ вмСстС с Π½Π΅ΠΉ. Напротив, язык Π‘ расцвСл, ΠΈ с Ρ‚Π΅Ρ… ΠΏΠΎΡ€ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Вомпсона ΠΈ Π ΠΈΡ‚Ρ‡ΠΈ влияСт Π½Π° ΡΡ‚ΠΈΠ»ΡŒ Unix-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. ΠžΠ΄Π½Π°ΠΆΠ΄Ρ‹ Π² бСсСдС ΠΎ конструировании самолСтов, ΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ, ΠΈΡΠΊΠ°Ρ‚Π΅Π»ΡŒ ΠΏΡ€ΠΈΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ, Ρ…ΡƒΠ΄ΠΎΠΆΠ½ΠΈΠΊ ΠΈ Π°Π²ΠΈΠ°ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ Антуан Π΄Π΅ Π‘Π΅Π½Ρ‚-Π­ΠΊΠ·ΡŽΠΏΠ΅Ρ€ΠΈ ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠ½ΡƒΠ»: "Π‘ΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎ достигаСтся Π½Π΅ Π² Ρ‚ΠΎΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΊΠΎΠ³Π΄Π° Π±ΠΎΠ»Π΅Π΅ Π½Π΅Ρ‡Π΅Π³ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ, Π° Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π½Π΅Ρ‡Π΅Π³ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ".

Π ΠΈΡ‚Ρ‡ΠΈ ΠΈ Вомпсон ΠΆΠΈΠ»ΠΈ ΠΏΠΎ этому ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ. Π”ΠΎΠ»Π³ΠΎΠ΅ врСмя послС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ рСсурсныС ограничСния Π½Π° Ρ€Π°Π½Π½ΠΈΡ… Unix-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… Π±Ρ‹Π»ΠΈ смягчСны, ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ Π½Π°Π΄ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π‘ Π² Π²ΠΈΠ΄Π΅ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ½ΠΊΠΎΠ³ΠΎ уровня Π½Π°Π΄ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΌ обСспСчСниСм, насколько это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.

Когда я просил ΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ особСнно экстравагантной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Π‘, ДСннис ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ» ΠΌΠ½Π΅: "Если Ρ‚Π΅Π±Π΅ Π½ΡƒΠΆΠ΅Π½ PL/1, Ρ‚Ρ‹ знаСшь, Π³Π΄Π΅ Π΅Π³ΠΎ Π²Π·ΡΡ‚ΡŒ". Π•ΠΌΡƒ Π½Π΅ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ ΠΎΠ±Ρ‰Π°Ρ‚ΡŒΡΡ с ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ ΠΌΠ°Ρ€ΠΊΠ΅Ρ‚ΠΎΠ»ΠΎΠ³ΠΎΠΌ, ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°ΡŽΡ‰ΠΈΠΌ: "На Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ ΠΏΡ€ΠΎΠ΄Π°ΠΆ Π½Π°ΠΌ Π½ΡƒΠΆΠ½Π° Π³Π°Π»ΠΎΡ‡ΠΊΠ° Π² Ρ€Π°ΠΌΠΎΡ‡ΠΊΠ΅!".

Майк Π›Π΅cΠΊ.

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ Π‘ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅Ρ‚ Π²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ сущСствования Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΉ эталонной Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄ΠΎ стандартизации. ΠŸΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ данная Ρ‚Π΅ΠΌΠ° затрагиваСтся Π² Π³Π»Π°Π²Π΅ 17, Π³Π΄Π΅ рассматриваСтся Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ стандартов Π‘ ΠΈ Unix.

4.4. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ

Одним ΠΈΠ· послСдствий Ρ‚ΠΎΠ³ΠΎ влияния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΡΡ‚ΠΈΠ»ΡŒ Unix-программирования ΠΎΠΊΠ°Π·Π°Π» Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ Ρ‡Π΅Ρ‚ΠΊΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ API-интСрфСйсы, являСтся устойчивая тСндСнция ΠΊ Ρ€Π°Π·Π»ΠΎΠΆΠ΅Π½ΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ ΡΠ²ΡΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎ уровня, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰Π΅Π³ΠΎ сСмСйства Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, особСнно ΠΎΠ±Ρ‰ΠΈΡ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ (эквивалСнтов структур, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² Windows ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ динамичСски ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹ΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ ΠΈΠ»ΠΈ DLL (Dynamically-Linked Libraries)).

Если ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈ ΠΎΠ±Π΄ΡƒΠΌΠ°Π½Π½ΠΎ, Ρ‚ΠΎ часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½Π° состояла ΠΈΠ· Π³Π»Π°Π²Π½ΠΎΠΉ части ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса (Ρ‚.Π΅. ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ) ΠΈ совокупности слуТСбных ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ (Ρ‚.Π΅. ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°) Π±Π΅Π· ΡΠ²ΡΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎ уровня Π²ΠΎΠΎΠ±Ρ‰Π΅. Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ прСдставляСтся особСнно цСлСсообразным Π² ситуации, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ большоС количСство ΡƒΠ·ΠΊΠΎΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с Ρ‚Π°ΠΊΠΈΠΌΠΈ структурами Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠ°ΠΊ графичСскиС изобраТСния, ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ сСтСвых ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² ΠΈΠ»ΠΈ Π±Π»ΠΎΠΊΠΈ управлСния Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ интСрфСйса. Π’ ΡΡ‚Π°Ρ‚ΡŒΠ΅ "The Discipline and Method Architecture for Reusable Libraries" [87] собрано нСсколько ΠΎΠ±Ρ‰ΠΈΡ… ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ…, конструктивных совСтов, исходящих ΠΈΠ· Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΉ Unix, особСнно ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ управлСния рСсурсами Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ… Ρ‚Π°ΠΊΠΎΠ³ΠΎ Π²ΠΈΠ΄Π°.

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

БущСствуСт оборотная сторона Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. Π’ ΠΌΠΈΡ€Π΅ Unix Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, поставляСмыС ΠΊΠ°ΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°Ρ‚ΡŒΡΡ тСстовыми ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ.

API-интСрфСйсы Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠΏΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌ ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚. API, для использования ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ C-ΠΊΠΎΠ΄ ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±Π΅Π· Ρ‚Ρ€ΡƒΠ΄Π° Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, ΠΎΡ‡Π΅Π½ΡŒ тяТСло ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. И Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, нСвСроятно слоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ интСрфСйсы, СдинствСнной ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠΎΠΉ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… являСтся какая-Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ просто Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Π‘, β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, route(1) Π² ΠΏΡ€Π΅ΠΆΠ½ΠΈΡ… Linux-систСмах.

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

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