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

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ «ЧСловСчСский Ρ„Π°ΠΊΡ‚ΠΎΡ€ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 43

Автор Π›Π°Ρ€Ρ€ΠΈ ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚ΠΈΠ½

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

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

БСзусловно, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ инструмСнты проСктирования частично ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Ρ‚Π°ΠΊΠΎΠΉ ракурсный ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, ΠΎΠ΄Π½Π°ΠΊΠΎ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ инструмСнт Π½Π΅ способСн ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ Π² ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΌΠ΅Ρ€Π΅. Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· инструмСнтов Π΅ΡΡ‚ΡŒ свои нСдостатки. Π“Π»Π°Π²Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΎΠ½ΠΈ ΠΏΡ€ΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Π² Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ мостов ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌΠΈ ситуациями ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΌΠΈ модСлями с ΠΎΠ΄Π½ΠΎΠΉ стороны ΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π΄ΠΈΠ·Π°ΠΉΠ½ΠΎΠΌ ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ интСрфСйсом β€” с Π΄Ρ€ΡƒΠ³ΠΎΠΉ. Π­Ρ‚ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ шов, Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ ΠΏΡ€ΠΈ создании ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΈ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. ΠŸΠΎΡ€Π° этот шов Ρ€Π°Π·Π³Π»Π°Π΄ΠΈΡ‚ΡŒ.

Из ΠΆΡƒΡ€Π½Π°Π»Π° Object Magazine, Π΄Π΅ΠΊΠ°Π±Ρ€ΡŒ, 1997 Π³.

V

Π‘ΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½ΠΈΠ΅ процСсса

26

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° видимости

Помню, ΠΊΠ°ΠΊ я писал свою ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. Π­Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠ΅ ΠΏΠΎ Π€ΠΎΡ€Ρ‚Ρ€Π°Π½Ρƒ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… курса, извСстного ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ 6.41. Π’ Ρ‚Π΅ Π΄Π½ΠΈ Π² Мас-сачусСтском тСхнологичСском институтС всС шло ΠΏΠΎΠ΄ своими Π½ΠΎΠΌΠ΅Ρ€Π°ΠΌΠΈ, Π² Ρ‚ΠΎΠΌ числС ΠΈ моя ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°. ΠΠ°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΅Π΅ Π½Π΅ составило Ρ‚Ρ€ΡƒΠ΄Π° β€” ΠΎΠ½Π° всСго лишь Π½Π΅ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π»Π°ΡΡŒ с ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Ρ€Π°Π·Π°. Или со Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ. Π― Π±Ρ‹Π» ΠΏΠΎΠ΄Π°Π²Π»Π΅Π½ ΠΈ ΠΎΠΏΡƒΡΡ‚ΠΎΡˆΠ΅Π½. Когда ΠΌΠ½Π΅ всС-Ρ‚Π°ΠΊΠΈ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π΅Π΅ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, я Π±Ρ‹Π» просто ΡˆΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π»Π°. Π― Π½Π΅ ΠΌΠΎΠ³ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ β€” ΠΌΠ½Π΅ казалось, Ρ‡Ρ‚ΠΎ всС написано ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ. Π― ΠΏΠΎΠΊΠ°Π·Π°Π» Π΅Π΅ своСму сосСду ΠΏΠΎ ΠΊΠΎΠΌΠ½Π°Ρ‚Π΅. ΠœΠ°Ρ€ΡˆΠ°Π»Π» спСциализировался Π½Π° ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π― Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π½Π°Ρ‡Π°Π» ΠΏΠΈΡΠ°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Π΅Ρ‰Π΅ Π΄ΠΎ появлСния ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ², Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ.

«Никак Π½Π΅ ΠΌΠΎΠ³Ρƒ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Π³Π΄Π΅ ошибка Π² этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈ, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, это…» Он Ρ…Π²Π°Ρ‚Π°Π» распСчатки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ с любовью Π½Π°Π·Ρ‹Π²Π°Π»ΠΈ листингами 80–80 (Ρ‚Π΅, ΠΊΡ‚ΠΎ помнят, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠ΅Ρ€Ρ„ΠΎΠΊΠ°Ρ€Ρ‚Ρ‹, мСня ΠΏΠΎΠΉΠΌΡƒΡ‚).

«А это Ρ‡Ρ‚ΠΎ?Β» β€” ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°Π» ΠœΠ°Ρ€ΡˆΠ°Π»Π», Ρ‚Ρ‹Ρ‡Π° своим корявым бруклинским ΠΏΠ°Π»ΡŒΡ†Π΅ΠΌ.

Β«ΠŸΠΎΡ…ΠΎΠΆΠ΅, Ρ‡Ρ‚ΠΎ Π‘.Β»

Β«Π—Π΄Π΅ΡΡŒ это Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ.Β» И ΠΎΠ½ Π±Ρ‹Π» ΠΏΡ€Π°Π². Π­Ρ‚ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ компилировался, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Ρ‹Π²Π°Π» Π΅Π³ΠΎ Π½Π΅ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ я ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π». ΠœΠ°Ρ€ΡˆΠ°Π»Π» возвращался ΠΊ Ρ‡Π΅ΠΌΡƒ-Ρ‚ΠΎ, связанному с Π³Ρ€Π°Π΄ΠΈΠ΅Π½Ρ‚Π°ΠΌΠΈ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ Π“Π°ΠΌΠΈΠ»ΡŒΡ‚ΠΎΠ½Π°, ΠΈ ΠΎΡ‚Ρ‚Π°Ρ‡ΠΈΠ²Π°Π» свою ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΡŽ пСсни ΠœΠ°Ρ€Π»ΠΎΠ½Π° Π‘Ρ€Π°Π½Π΄ΠΎ (Marlon Brando) ΠΈΠ· «А Streetcar Named DesireΒ». Из всСго этого я уяснил, Ρ‡Ρ‚ΠΎ ΠœΠ°Ρ€ΡˆΠ°Π»Π»Ρƒ Π½ΠΈΠΊΠΎΠ³Π΄Π° нСльзя ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ я написал, особСнно Ссли это ΠΊΠΎΠ΄. Он всСгда Π½Π°ΠΉΠ΄Π΅Ρ‚ Π² Π½Π΅ΠΌ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅, Π° ΠΌΠ½Π΅ придСтся Π½Π°-Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π² сСбС силы, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚Π½Π΅ΡΡ‚ΠΈΡΡŒ ΠΊ этому, ΠΊΠ°ΠΊ ΠΊ одолТСнию. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, это Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Π»ΠΎ Ρƒ Π½Π΅Π³ΠΎ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ приступ ΠΌΡƒΠ·Ρ‹ΠΊΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ мычания: Β«Π‘Ρ‚Π΅Π»Π»Π°! Π‘Ρ‚Π΅Π»Π»Π°!Β». Π‘ΠΊΠΎΡ€ΠΎ Π½Π°Ρ‡Π°Π»ΠΎ занятий, Π° я всС Π΅Ρ‰Π΅ Π½Π΅ Π±Ρ‹Π» Π³ΠΎΡ‚ΠΎΠ². ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ я понял, Ρ‡Ρ‚ΠΎ обсуТдСниС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с приятСлСм-программистом часто оказываСтся самым эффСктивным способом обнаруТСния ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π½Π΅Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎΠ³ΠΎ Π±Π°Π³Π° ΠΈΠ»ΠΈ составлСния ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΌΡƒΠ΄Ρ€Π΅Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. На самом Π΄Π΅Π»Π΅ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· нас Π·Π½Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ своих ΠΈΠ΄Π΅ΠΉ ΠΊΠΎΠ»Π»Π΅Π³Π΅, ΠΈΠ³Ρ€Π°ΡŽΡ‰Π΅ΠΌΡƒ Ρ€ΠΎΠ»ΡŒ Β«Π·Π²ΡƒΠΊΠΎΠ²ΠΎΠ³ΠΎ экрана», ΠΈΠ»ΠΈ выяснСниС Π΅Π³ΠΎ мнСния ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρƒ Ρ‡Π΅Π³ΠΎ-Ρ‚ΠΎ нСясного ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ ΠΈ Ρ†Π΅Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΎΠΉ для ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°, Π½ΠΎ ΠΈ вСсСлым занятиСм, ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‰ΠΈΠΌ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ.

ДинамичСскиС дуэты

П. Π”ΠΆ. ΠŸΠ»ΠΎΠ΄ΠΆΠ΅Ρ€Ρƒ (P. J. Plauger) всС ΠΆΠ΅ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ силы, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒ мСня ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ прСимущСствами видимости. ВскорС послС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΎΠ½ создал компанию Whitesmith, Ltd., я стал ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π² Π΅Π³ΠΎ нью-ΠΉΠΎΡ€ΠΊΡΠΊΡƒΡŽ Β«ΡˆΡ‚Π°Π±-ΠΊΠ²Π°Ρ€Ρ‚ΠΈΡ€ΡƒΒ» β€” Π½Π΅Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΊΠ²Π°Ρ€Ρ‚ΠΈΡ€Ρƒ Π½Π° ΠœΠ°Π½Ρ…ΡΡ‚Ρ‚Π΅Π½Π΅. Π’ ΡƒΠ³Π»Ρƒ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΊΠΎΠΌΠ½Π°Ρ‚ стоял ΠΌΠΈΠ½ΠΈ-ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€, ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€ Π±Ρ‹Π» засунут Π² ΡˆΠΊΠ°Ρ„, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π±Ρ‹Π»ΠΎ ΡˆΡƒΠΌΠ°, Π° ΠΏΠΎ всСй ΠΊΠΎΠΌΠ½Π°Ρ‚Π΅, которая ΡΡ‡ΠΈΡ‚Π°Π»Π°ΡΡŒ «гостиной», Π±Ρ‹Π»ΠΈ расставлСны нСсколько Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΎΠ². И Π·Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΎΠΌ Π½Π°Ρ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ ΠΏΠΎ Π΄Π²Π° программиста!

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π·Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€ΠΎΠΉ ΠΌΠΎΠ³ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ программист, Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ заглядывали Π΅ΠΌΡƒ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ»Π΅Ρ‡ΠΎ ΠΈ Π΄Π°Π²Π°Π»ΠΈ Π½Π°Π΄ΠΎΠ΅Π΄Π»ΠΈΠ²Ρ‹Π΅ совСты (нью-ΠΉΠΎΡ€ΠΊΡ†Ρ‹, особСнно школьники, Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ это kibitzing[34]). Π’ ΠΊΠΎΠΌΠ½Π°Ρ‚Π΅ стоял Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½Ρ‹ΠΉ Π³ΡƒΠ». Π‘Ρ‹ΠΏΠ°Π»ΠΈΡΡŒ вопросы ΠΏΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌ ΠΈΠ»ΠΈ ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ значСния, Π²Ρ‹Π΄Π²ΠΈΠ³Π°Π»ΠΈΡΡŒ прСдлоТСния ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Π²Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· Ρ†ΠΈΠΊΠ»Π°, Ρ€Π°Π·Π΄Π°Π²Π°Π»ΠΈΡΡŒ ΠΏΡ€ΠΈΠ·Ρ‹Π²Ρ‹ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΈΠ½Ρ‚Π°ΠΊΡΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠΈΠ»ΠΈ Π½Π° тСст, выполняСмый Π² Π½Π΅Π²Π΅Ρ€Π½ΠΎΠΌ порядкС, ΠΈΠ»ΠΈ Π½Π° Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ рСгистр. ВрСмя ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π΄Π²Π° программиста мСнялись мСстами, ΠΈ Ρ‚ΠΎΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сидСл Π·Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€ΠΎΠΉ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ становился ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ Β«Ρ€Π°Π·Π΄Ρ€Π°ΠΆΠΈΡ‚Π΅Π»Π΅ΠΌΒ».

Π― ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠ», Ρ‡Ρ‚ΠΎ нСдостаток оборудования связан с Π½Π΅Ρ…Π²Π°Ρ‚ΠΊΠΎΠΉ Π΄Π΅Π½Π΅ΠΆΠ½Ρ‹Ρ… срСдств, Π½ΠΎ ΠŸΠ»ΠΎΠ΄ΠΆΠ΅Ρ€ Π·Π°Π²Π΅Ρ€ΠΈΠ» мСня, Ρ‡Ρ‚ΠΎ Π½Π° самом Π΄Π΅Π»Π΅ это Π±Ρ‹Π» особый Ρ€Π΅ΠΆΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π”ΠΎΠ²ΠΎΠ»ΡŒΠ½ΠΎ нСэффСктивный Ρ€Π΅ΠΆΠΈΠΌ, Π΄Π°? НСт. ΠŸΡ€ΠΈΠ½ΡΠ² Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, ΠΎΠ½ΠΈ стали ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½Ρ‹ΠΉ ΠΈ протСстированный ΠΊΠΎΠ΄ быстрСС, Ρ‡Π΅ΠΌ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ. ΠŸΡ€ΠΈ Π±Π»ΠΈΠ·ΠΊΠΎΠΌ рассмотрСнии становится понятно, ΠΏΠΎΡ‡Π΅ΠΌΡƒ. Код, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΠ» ΠΈΠ· этих Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΎΠ²-с-двумя-программис-Ρ‚Π°ΠΌΠΈ, Π±Ρ‹Π» ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π° 100 % свободСн ΠΎΡ‚ Π±Π°Π³ΠΎΠ². ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ содСрТала мСньшС ошибок, Π½ΠΎ ΠΈ Π±Ρ‹Π»Π° Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ, ΠΊΡ€Π°Ρ‚ΠΊΠΎΠΉ ΠΈ эффСк-Ρ‚ΠΈΠ²Π½ΠΎΠΉ благодаря Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π½Π°Π΄ Π΅Π΅ созданиСм Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ Π΄Π²Π΅ свСтлых Π³ΠΎΠ»ΠΎΠ²Ρ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅ благодаря Ρ†Π΅Π½Π½ΠΎΠΌΡƒ Π΄ΠΈΠ°Π»ΠΎΠ³Ρƒ, происходящСму ΠΌΠ΅ΠΆΠ΄Ρƒ сидящими Π·Π° Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΎΠΌ Π½Π°ΠΏΠ°Ρ€Π½ΠΈΠΊΠ°ΠΌΠΈ. Π’Π°ΠΊΡƒΡŽ модСль Ρ€Π°Π±ΠΎΡ‚Ρ‹ я стал Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ «динамичСским дуэтом». ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ здСсь Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, довольно ясСн: ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ видимости ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΡŽ качСства! Π”Π²Π° программиста, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ Π² Ρ‚Π°Π½Π΄Π΅ΠΌΠ΅, β€” это Π½Π΅ ΠΈΠ·Π»ΠΈΡˆΠ΅ΡΡ‚Π²ΠΎ, Π° прямой ΠΏΡƒΡ‚ΡŒ ΠΊ большСй эффСктивности ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ΠΌΡƒ качСству. (Об этом Π·Π½Π°ΡŽΡ‚ Ρ‚Π΅, ΠΊΡ‚ΠΎ занимаСтся Π₯Π  (extreme programming, ΡΠΊΡΡ‚Ρ€Π΅ΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅.)