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

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

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

Π―Π·Ρ‹ΠΊΠΎΠ²Ρ‹Π΅ систСмы дСрТатся Π½Π° Ρ‚Ρ€Π΅Ρ… ΠΊΠΈΡ‚Π°Ρ… - язык, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ инструмСнты. Π£ΡΠΏΠ΅ΡˆΠ½ΠΎΡΡ‚ΡŒ языка зависит ΠΎΡ‚ слоТного взаимодСйствия ΠΌΠ΅ΠΆΠ΄Ρƒ этими трСмя Π²Π΅Ρ‰Π°ΠΌΠΈ. Python - ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ язык, Ρƒ Π½Π΅Π³ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ практичСски Π½ΠΈΠΊΠ°ΠΊΠΈΡ… инструмСнтов.

Π‘Π΅ΠΉΠ±Π΅Π»: Под β€œΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈβ€ Π²Ρ‹ Π² Ρ‚ΠΎΠΌ числС ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚Π΅ ΠΈ Π½Π΅ΠΏΠΎΡΡ€Π΅Π΄ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ языка?

Π”ΠΎΠΉΡ‡: ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈ это сюда Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ. Лисп ΠΊΠ°ΠΊ язык фантастичСски Π³ΠΈΠ±ΠΎΠΊ, Π½ΠΎ Π΅Π³ΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ. НС знаю, ΠΊΠ°ΠΊ сСгодня обстоят Π΄Π΅Π»Π° с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ для Common Lisp, Π½ΠΎ ΠΌΠ½Π΅ каТСтся, Ρ‡Ρ‚ΠΎ синтаксис - это ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ.

Π‘Π΅ΠΉΠ±Π΅Π»: ΠšΠΎΠΌΡƒ-Ρ‚ΠΎ синтаксис Лиспа ΠΎΡ‡Π΅Π½ΡŒ нравится, ΠΊΡ‚ΠΎ-Ρ‚ΠΎ Π΅Π³ΠΎ Π½Π° Π΄ΡƒΡ… Π½Π΅ пСрСносит. ΠŸΠΎΡ‡Π΅ΠΌΡƒ Ρ‚Π°ΠΊ?

Π”ΠΎΠΉΡ‡: Π― Π³ΠΎΠ²ΠΎΡ€ΡŽ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π° сСбя. И ΠΌΠΎΠ³Ρƒ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ я большС Π½Π΅ Ρ…ΠΎΡ‡Ρƒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с синтаксисом Лиспа. На это Π΅ΡΡ‚ΡŒ Π΄Π²Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΈ я ΠΎΠ± этом ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ», Ρ‡Π΅ΠΌ ΡΡ‚Π°Ρ€ΡˆΠ΅ я ΡΡ‚Π°Π½ΠΎΠ²Π»ΡŽΡΡŒ, Ρ‚Π΅ΠΌ для мСня Π²Π°ΠΆΠ½Π΅Π΅ высокая ΠΏΠ»ΠΎΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π½Π° ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹ΠΉ дюйм экрана ΠΏΠ΅Ρ€Π΅Π΄ ΠΌΠΎΠΈΠΌΠΈ Π³Π»Π°Π·Π°ΠΌΠΈ. ΠŸΠ»ΠΎΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π½Π° ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹ΠΉ дюйм Π² инфиксных языках Π²Ρ‹ΡˆΠ΅, Ρ‡Π΅ΠΌ Π² ЛиспС.

Π‘Π΅ΠΉΠ±Π΅Π»: Но практичСски всС языки Π½Π° самом Π΄Π΅Π»Π΅ прСфиксныС, Π½Π΅ считая нСбольшого количСства арифмСтичСских ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ².

Π”ΠΎΠΉΡ‡: Π­Ρ‚ΠΎ Π½Π΅ совсСм Ρ‚Π°ΠΊ. Если Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ Python, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚ΠΎ это Π½Π΅Π²Π΅Ρ€Π½ΠΎ для создания списков, ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ ΠΈ словарСй. Π­Ρ‚ΠΎ дСлаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ скобок. ΠŸΠΎΡΡ‚Ρ€ΠΎΠΊΠΎΠ²ΠΎΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ - инфиксноС.

Π‘Π΅ΠΉΠ±Π΅Π»: Π’Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π² Common Lisp - с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ FORMAT.

Π”ΠΎΠΉΡ‡: Ну Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Π»Π°Π΄Π½ΠΎ. Но Π΅ΡΡ‚ΡŒ Π²Π΅Ρ‰ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π΄Π΅Π»Π°ΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ инфиксов; самыС простыС - Ρ†ΠΈΠΊΠ»Ρ‹ ΠΈ условныС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ - Π½Π΅ прСфиксныС. Они Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‡Π΅Ρ€Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ…ΡΡ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… слов ΠΈ Ρ‚ΠΎΠ³ΠΎ, ΠΊ Ρ‡Π΅ΠΌΡƒ ΠΎΠ½ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ. Π’ этом ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ ΠΎΠ½ΠΈ Π΄Π°ΠΆΠ΅ Π±ΠΎΠ»Π΅Π΅ многословны, Ρ‡Π΅ΠΌ Лисп. И здСсь я ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠΆΡƒ ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΉ части, Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠ½Π΅ большС нравится синтаксис Python, - Лисп ΠΎΡ‡Π΅Π½ΡŒ ΠΎΠ΄Π½ΠΎΠΎΠ±Ρ€Π°Π·Π΅Π½ Π² лСксичСском ΠΏΠ»Π°Π½Π΅.

Π‘Π΅ΠΉΠ±Π΅Π»: ΠšΠ°ΠΆΠ΅Ρ‚ΡΡ, Π›Π°Ρ€Ρ€ΠΈ Π£ΠΎΠ»Π» сравнил этот язык с Ρ‚Π°Ρ€Π΅Π»ΠΊΠΎΠΉ овсяных Ρ…Π»ΠΎΠΏΡŒΠ΅Π², ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠ°Π½Π½Ρ‹Ρ… с ΠΎΠ±Ρ€Π΅Π·ΠΊΠ°ΠΌΠΈ Π½ΠΎΠ³Ρ‚Π΅ΠΉ.

Π”ΠΎΠΉΡ‡: Ну, я Π±Ρ‹ описал ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Perl, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΅Ρ‰Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠ» Π±Ρ‹, Ρ‡Ρ‚ΠΎ всС это Π²Ρ‹ΡˆΠ»ΠΎ ΠΈΠ· собаки, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ понятно, ΠΎΡ‚ΠΊΡƒΠ΄Π° ΠΈΠΌΠ΅Π½Π½ΠΎ. На ΠΌΠΎΠΉ взгляд, силС Π΄ΡƒΡ…Π° Π›Π°Ρ€Ρ€ΠΈ Π£ΠΎΠ»Π» Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ·Π°Π²ΠΈΠ΄ΠΎΠ²Π°Ρ‚ΡŒ, Ссли ΠΎΠ½ Π΅Ρ‰Π΅ позволяСт сСбС Π²Ρ‹ΡΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ мысли ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ языков программирования, вСдь Perl - просто ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ язык. Но Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ ΠΎΠ± этом.

Если Π΅ΡΡ‚ΡŒ кусок ΠΊΠΎΠ΄Π° Π½Π° ЛиспС ΠΈ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²Π΅ Π²Π΅Ρ‰ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ Π² схоТСй ситуации ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с языком Π²Ρ€ΠΎΠ΄Π΅ Python.

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, придСтся ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ всС эти Ρ‡Π΅Ρ€Ρ‚ΠΎΠ²Ρ‹ скобки. Π­Ρ‚ΠΎ Π½Π΅ ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ Ρ€Π°Π±ΠΎΡ‚Π°, Π½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π² вашСм ΠΌΠΎΠ·Π³Π΅ происходит Π½Π° ΠΌΠ½ΠΎΠ³ΠΈΡ… уровнях, ΠΈ ΠΌΠ½Π΅ каТСтся, ΠΏΠ΅Ρ€Π²ΠΎΠ΅, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π΄Π΅Π»Π°Π΅Ρ‚, - это распознаваниС символов. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΎΠ½ воспринимаСт всС эти скобки, ΠΈ Π·Π°Ρ‚Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… ΡƒΠΆΠ΅ Π½Π° Π±ΠΎΠ»Π΅Π΅ высоком ΡƒΡ€ΠΎΠ²Π½Π΅. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡƒ распознавания символов ΠΌΠΎΠ·Π³Π° приходится Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ.

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, сСйчас арифмСтичСскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² ЛиспС Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΈΡ… общСпринятых Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΉ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π·Π½Π°ΠΊΠ° плюс, Π·Π½Π°ΠΊΠ° умноТСния ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

Π‘Π΅ΠΉΠ±Π΅Π»: Π”Π°, ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊ.

Π”ΠΎΠΉΡ‡: Π₯ΠΎΡ€ΠΎΡˆΠΎ, Π²Ρ‚ΠΎΡ€ΡƒΡŽ Π²Π΅Ρ‰ΡŒ, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ я Ρ…ΠΎΡ‚Π΅Π» ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, сСйчас ΡƒΠΆΠ΅ Π΄Π΅Π»Π°Ρ‚ΡŒ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ - ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ всС эти Π²Π΅Ρ‰ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ распознавания Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ², Π° Π½Π΅ символов, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ происходит Π½Π° Π±ΠΎΠ»Π΅Π΅ высоком ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΌΠΎΠ·Π³Π°.

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

Π‘Π΅ΠΉΠ±Π΅Π»: Но Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ синтаксис Лиспа, лСксичСский синтаксис, достаточно Π±Π»ΠΈΠ·ΠΎΠΊ абстрактному синтаксичСскому Π΄Π΅Ρ€Π΅Π²Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, позволяСт языку ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ макросы. И макросы ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ синтаксичСскиС абстракции, Π° это Π»ΡƒΡ‡ΡˆΠΈΠΉ способ ΡƒΠΏΠ»ΠΎΡ‚Π½ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ смотритС.

Π”ΠΎΠΉΡ‡: Π”Π°, это Ρ‚Π°ΠΊ.

Π‘Π΅ΠΉΠ±Π΅Π»: Π’ ΠΌΠΎΠ΅ΠΉ ΠΊΠ½ΠΈΠ³Π΅ ΠΎ ЛиспС Π΅ΡΡ‚ΡŒ Π³Π»Π°Π²Π°, посвящСнная синтаксичСскому Π°Π½Π°Π»ΠΈΠ·Ρƒ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΈ я ΠΏΡ€ΠΈΠ²ΠΎΠΆΡƒ Π² качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ID3-Ρ‚Π΅Π³ΠΈ Π² ΠœΠ Π—-Ρ„Π°ΠΉΠ»Π°Ρ…. Π§Ρ‚ΠΎ здСсь интСрСсно - ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ: Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚Π΅ ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ, Π² этом случаС ID3, ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚Π΅ Π΅Π΅ Π² скобки ΠΈ Π΄Π΅Π»Π°Π΅Ρ‚Π΅ ΠΈΠ· Π½Π΅Π΅ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Π°ΠΌ Π½ΡƒΠΆΠ΅Π½.

Π”ΠΎΠΉΡ‡: Π’Π΅Ρ€Π½ΠΎ.

Π‘Π΅ΠΉΠ±Π΅Π»: Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΌΠΎΠ΅ описаниС парсинга ID3-Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΏΠΎ сути содСрТит ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΆΠ΅ Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ², сколько ΠΈ спСцификация ID3-Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°.

Π”ΠΎΠΉΡ‡: ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎ я сдСлал Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚ΠΎ ΠΆΠ΅ самоС, работая с Python. МнС ΠΊΠ°ΠΊ-Ρ‚ΠΎ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΎΡ‡Π΅Π½ΡŒ слоТный Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ - ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ слоТных ΠΌΡƒΠ·Ρ‹ΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ². ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ я написал Π² Python Π½Π°Π±ΠΎΡ€ классов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚Π²Π΅Ρ‡Π°Π»ΠΈ ΠΈ Π·Π° парсинг, ΠΈ Π·Π° ΠΊΡ€Π°ΡΠΈΠ²ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ.

Бвязь ΠΌΠ΅ΠΆΠ΄Ρƒ созданиСм класса ΠΈ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° осущСствляСтся Π² ΠΎΠ±Ρ‰Π΅ΠΌ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅. Π’ΠΎ Π΅ΡΡ‚ΡŒ это всС дСлаСтся Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ стилС - макросы Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ. Π­Ρ‚ΠΎ выглядит Π½Π΅ Ρ‚Π°ΠΊ красиво, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ½Ρ‹ΠΌ способом, Π½ΠΎ Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ получаСтся ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎ, ΠΊΠ°ΠΊ ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹Π΅ макросы Лиспа. Π•ΡΡ‚ΡŒ Π²Π΅Ρ‰ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π° ЛиспС Π΄Π΅Π»Π°ΡŽΡ‚ΡΡ Π±ΠΎΠ»Π΅Π΅ Π³Π»Π°Π΄ΠΊΠΎ ΠΈ внятно. Π‘ этим я Π½Π΅ ΡΠΏΠΎΡ€ΡŽ.

Если Π²Ρ‹ взглянСтС Π½Π° ΠΊΠΎΠ΄ Ghostscript, ΠΎΠ½ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ написан Π½Π° Π‘ΠΈ. Но это Π‘ΠΈ, Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹ΠΉ сотнями макросов прСпроцСссора. Π’ ΠΈΡ‚ΠΎΠ³Π΅, поэтому, для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ станСт Ρ‡Π°ΡΡ‚ΡŒΡŽ Ghostscript, Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π‘ΠΈ, Π½ΠΎ ΠΈ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для создания Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠΉ вСрсии этого языка. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ Π² Π‘ΠΈ - ΠΈ Π΄Π΅Π»Π°Π΅Ρ‚Π΅ ΠΈΡ…, ΠΊΠΎΠ³Π΄Π° это Π½ΡƒΠΆΠ½ΠΎ. И ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ происходит Π²ΠΎ всСх языках.

Π§Ρ‚ΠΎ касаСтся Python, Ρ‚ΠΎ ΠΈ здСсь ΠΌΠ½Π΅ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ Π΄Π΅Π»Π°Ρ‚ΡŒ нСбольшиС дополнСния. Π­Ρ‚ΠΎ Π½Π΅ синтаксичСскиС дополнСния; это классы, примСси[70] - ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· этих примСсСй Π΄ΠΎΠΏΠΎΠ»Π½ΡΡŽΡ‚ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ людСй ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΠ»ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ сСмантикой языка. Π’ Python Π·Π° это ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ Π½Π°Π±ΠΎΡ€ инструмСнтов, Π² ЛиспС - Π΄Ρ€ΡƒΠ³ΠΎΠΉ. ΠšΠΎΠΌΡƒ-Ρ‚ΠΎ нравится ΠΎΠ΄Π½ΠΎ, ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

Π‘Π΅ΠΉΠ±Π΅Π»: Π§Ρ‚ΠΎ заставило вас ΠΎΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ программирования ΠΈ Π·Π°Π½ΡΡ‚ΡŒΡΡ сочинСниСм ΠΌΡƒΠ·Ρ‹ΠΊΠΈ?

Π”ΠΎΠΉΡ‡: По Π±ΠΎΠ»ΡŒΡˆΠΎΠΌΡƒ счСту, я β€œΠΏΠ΅Ρ€Π΅Π³ΠΎΡ€Π΅Π»β€ Π²ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Π΄ Ghostscript. Ghostscript Π±Ρ‹Π» ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΌΠΎΠΈΡ… основных тСхничСских интСрСсов с 1986 Π³ΠΎΠ΄Π°, Π° Π³Π΄Π΅-Ρ‚ΠΎ с 1992-1993 Π³ΠΎΠ΄Π° Π±Ρ‹Π» ΠΌΠΎΠΈΠΌ СдинствСнным ΠΊΡ€ΡƒΠΏΠ½Ρ‹ΠΌ тСхничСским ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π² 1998 Π³ΠΎΠ΄Ρƒ я почувствовал, Ρ‡Ρ‚ΠΎ ΡΠ³ΠΎΡ€Π°ΡŽ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π΅Π»Π°Π» всю Ρ‚Π΅Ρ…Π½ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ, Π½ΠΎ ΠΈ занимался всСй тСхничСской ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ, всСми административными вопросами. Π­Ρ‚ΠΎ Π±Ρ‹Π»Π° компания ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°, ΠΈ Ρ€Π°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΎ это Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΏΡ€Π΅Π²Ρ‹ΡΠΈΡ‚ΡŒ ΠΌΠΎΠΈ возмоТности. Π― нанял Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ компанию, ΠΈ ΠΎΠ½ стал Π½Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ².