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

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«ΠšΠΎΠ΄Π΅Ρ€Ρ‹ Π·Π° Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ. Π Π°Π·ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΡ ΠΎ рСмСслС программиста». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 45

Автор ΠŸΠΈΡ‚Π΅Ρ€ Π‘Π΅ΠΉΠ±Π΅Π»

Π― Ρ€Π°Π±ΠΎΡ‚Π°Π» Π² SGI с 1985 ΠΏΠΎ 1992 Π³. Π’ 1992 Π³. ΠΎΠ΄ΠΈΠ½ ΠΌΠΎΠΉ ΠΊΠΎΠ»Π»Π΅Π³Π° ΠΈΠ· SGI ΠΏΠ΅Ρ€Π΅ΡˆΠ΅Π» Π² MicroUnity. SGI ΠΌΠ½Π΅ ΠΊ Ρ‚ΠΎΠΌΡƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΡƒΠΆΠ΅ ΠΏΠΎΠ΄Π½Π°Π΄ΠΎΠ΅Π»Π° - ΠΎΠ½Π° всС распухала, скупая Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΠΈ постСпСнно ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠ»Π° ΠΏΠΎΠ΄ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΎΠ². Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ я оказался Π² MicroUnity, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π”ΠΆΠΎΡ€Π΄ΠΆ Π“ΠΈΠ»Π΄Π΅Ρ€ Ρ‚ΠΎΠ³Π΄Π° писал Π² ΠΆΡƒΡ€Π½Π°Π»Π΅ β€œForbes ASAP”, Ρ‡Ρ‚ΠΎ это Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹ΠΉ монстр. Но всС Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ»ΠΎΡΡŒ Π½ΠΈΡ‡Π΅ΠΌ - компания Π½Π°Π±Ρ€Π°Π»Π° ΠΊΡ€Π΅Π΄ΠΈΡ‚ΠΎΠ² Π½Π° 200 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² ΠΈ ΠΎΠ±Π°Π½ΠΊΡ€ΠΎΡ‚ΠΈΠ»Π°ΡΡŒ. Π­Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ ΠΏΠΎΡƒΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ. Π’Π°ΠΌ я занимался компилятором GCC ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΠ» свои Π½Π°Π²Ρ‹ΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с компиляторами. Π•Ρ‰Π΅ я писал нСбольшой язык для Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° Π²ΠΈΠ΄Π΅ΠΎΡ„Π°ΠΉΠ»ΠΎΠ² MPEG2, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ псСвдоспСцификации, ΠΏΠΎΡ…ΠΎΠΆΠΈΠ΅ Π½Π° стандарты ISO ΠΈΠ»ΠΈ IEC, ΠΈ ΠΎΠ½ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Π» тСстовыС Π±ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ ΠΏΠΎΡ‚ΠΎΠΊΠΈ с ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ синтаксисом.

Π‘Π΅ΠΉΠ±Π΅Π»: Из MicroUnity Π²Ρ‹ ΡƒΡˆΠ»ΠΈ Π² Netscape, ΠΈ дальшС всС Ρ…ΠΎΡ€ΠΎΡˆΠΎ извСстно. Π‘ΠΊΠ°ΠΆΠΈΡ‚Π΅, вас устраиваСт Ρ‚ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ, ΠΈΠ»ΠΈ Π½Π΅ совсСм?

Айк: Π― ΠΌΠ½ΠΎΠ³ΠΎ занимался Ρ„ΠΈΠ·ΠΈΠΊΠΎΠΉ, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ обратился ΠΊ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹ΠΌ Π½Π°ΡƒΠΊΠ°ΠΌ. Π― довольно ΠΌΠ½ΠΎΠ³ΠΎ занимался ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΎΠΉ, получая Ρ‡Π΅Ρ€Π΅Π· это знания ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ·ΡƒΡ‡Π°Π» ΠΊΠΎΠ΅-Ρ‡Ρ‚ΠΎ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈ поэтому Π½Π° занятиях сидСл Π² Π·Π°Π΄Π½ΠΈΡ… рядах - скучал, Π΅Ρ€Π·Π°Π», Π΄Π΅Π»Π°Π» Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ своС. ΠžΡ‚ этого сильно страдала самодисциплина, ΠΈ я, вСроятно, пропустил ΠΊΠΎΠ΅-Ρ‡Ρ‚ΠΎ Π²Π°ΠΆΠ½ΠΎΠ΅.

Разговаривая с Ρ‚Π΅ΠΌΠΈ, ΠΊΡ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» PhD, я ΠΏΠΎΠ½ΠΈΠΌΠ°Π»: ΠΊΠΎΠ΅-Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π·Π½Π°ΡŽΡ‚ Π»ΡƒΡ‡ΡˆΠ΅ мСня. И я Π΄ΡƒΠΌΠ°Π» ΠΎΠ± ΡƒΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Ρ… возмоТностях, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡƒΠΆΠ΅ Π½Π΅ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ. МоТно ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ благодаря Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Ρƒ, Π½ΠΎ Ρ€Π°Π·Π²Π΅ это Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ прСподаватСля ΠΈ систСматичСский курс обучСния? ΠŸΡ€Π°Π²Π΄Π°, я Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ ТалСю ΠΎΠ± этом.

Π§Ρ‚ΠΎ касаСтся программирования, Ρ‚ΠΎ я всСгда Π³ΠΎΠ²ΠΎΡ€ΠΈΠ», Ρ‡Ρ‚ΠΎ занимаюсь Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ проСктирования - это Π½Π΅ для мСня. Π― Ρ‚Π°ΠΊ ΠΈ Π½Π΅ ΠΊΡƒΠΏΠΈΠ» ΠΊΠ½ΠΈΠ³Ρƒ Π­Ρ€ΠΈΡ…Π° Π“Π°ΠΌΠΌΡ‹. КоС-ΠΊΡ‚ΠΎ Π² Netscape потрясал этой ΠΊΠ½ΠΈΠ³ΠΎΠΉ ΠΊΠ°ΠΊ Π‘ΠΈΠ±Π»ΠΈΠ΅ΠΉ - наши с Π”ΠΆΠ΅ΠΉΠΌΠΈ Завински Π²Ρ€Π°Π³ΠΈ-ΠΊΠΎΠ»Π»Π΅Π³ΠΈ, ΠΏΡ€ΠΈΡˆΠ΅Π΄ΡˆΠΈΠ΅ Π² компанию послС Π΅Π΅ ΠΏΠΎΠΊΡƒΠΏΠΊΠΈ. ΠŸΡ€ΠΎΡΡ‚ΠΎ нСвыносимо, учитывая, Ρ‡Ρ‚ΠΎ это Π±Ρ‹Π»ΠΈ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ Π»ΡƒΡ‡ΡˆΠΈΠ΅ программисты.

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

Π― Ρ‚Π°ΠΊΠΆΠ΅ стоял Π·Π° ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² статичСский Π°Π½Π°Π»ΠΈΠ·, ΠΈ это оказалось ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ, хотя сама ΠΏΠΎ сСбС ΡˆΡ‚ΡƒΠΊΠ° довольно тСмная. Но ΠΌΡ‹ наняли Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π² Π½Π΅ΠΌ разбирался.

Π‘Π΅ΠΉΠ±Π΅Π»: БтатичСский Π°Π½Π°Π»ΠΈΠ· ΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π²ΠΈΠ΄Π°?

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

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

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

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΡΠ½Π°Π±Π΄ΠΈΡ‚ΡŒ наш C++ аннотациями, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡ€Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈ консСрвативном статичСском Π°Π½Π°Π»ΠΈΠ·Π΅. ИмСнно ΠΏΡ€ΠΈ консСрвативном, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π΅ зависаСт, Π΄ΠΎ бСсконСчности ΠΏΡ‹Ρ‚Π°ΡΡΡŒ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ свойства. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΌ с ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ бСзопасности сборщика мусора ΠΈΠ»ΠΈ с Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π½Π° Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ· скриптов, ΠΈ Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ скриптам, ΠΈΠ»ΠΈ с восстановлСниСм стСка ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π½ΠΎΡΠΈΡ‚ΡŒ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΎ бСзопасности. ΠœΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ бСзопасности, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ смоТСм ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ. МногиС ΠΈΠ· Π½ΠΈΡ… - это высокоуровнСвыС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΈ относятся Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ бСзопасности памяти. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ Π±ΠΎΡ€ΡŒΠ±Ρƒ Π½Π° этом ΠΏΠΎΠ»Π΅.

Π‘Π΅ΠΉΠ±Π΅Π»: Π”Π°, это вСсьма высокий ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ программирования. Как ΠΏΠΎ-Π²Π°ΡˆΠ΅ΠΌΡƒ, насколько Π±Π»ΠΈΠ·ΠΊΠΎ сСгодняшниС программисты Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΡ‚ΠΎΡΡ‚ΡŒ ΠΊ β€œΠΆΠ΅Π»Π΅Π·Ρƒβ€? НуТно Π»ΠΈ Ρ‚ΠΎΠΌΡƒ, ΠΊΡ‚ΠΎ Π² основном ΠΏΠΈΡˆΠ΅Ρ‚ прилоТСния Π½Π° JavaScript, Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ Π² языкС ассСмблСра?

Айк: МногиС Π·Π½Π°ΠΊΠΎΠΌΡ‹Π΅ ΠΌΠ½Π΅ JavaScript-программисты ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠΌΠ½Ρ‹, ΠΈ Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΈΠ· Π½ΠΈΡ… Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с экономичСскими расчСтами. По ΠΌΠ΅Ρ€Π΅ написания ΠΊΠΎΠ΄Π° ΠΎΠ½ΠΈ ΠΈΠ·ΠΌΠ΅Ρ€ΡΡŽΡ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΡƒΡŽΡ‚, дСлая всС Π½Π° высоком ΡƒΡ€ΠΎΠ²Π½Π΅. Им Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΏΠΈΡˆΡƒΡ‚ΡΡ инструкции для ΠΌΠ°ΡˆΠΈΠ½Ρ‹.

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