ΠŸΡƒΡ‚ Π΄ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅ Ρ‚ΠΈΠΏΠΎΠ²Π° 4 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° линија ΠŸΠΈΡ‚Ρ…ΠΎΠ½ ΠΊΠΎΠ΄Π°. Π”Π΅ΠΎ 1

Данас Π²Π°ΠΌ прСдстављамо ΠΏΡ€Π²ΠΈ Π΄Π΅ΠΎ ΠΏΡ€Π΅Π²ΠΎΠ΄Π° ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»Π° ΠΎ Ρ‚ΠΎΠΌΠ΅ ΠΊΠ°ΠΊΠΎ сС Π”Ρ€ΠΎΠΏΠ±ΠΎΠΊ Π±Π°Π²ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΠΌ Ρ‚ΠΈΠΏΠΎΠ²Π° ΠŸΠΈΡ‚Ρ…ΠΎΠ½ ΠΊΠΎΠ΄Π°.

ΠŸΡƒΡ‚ Π΄ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅ Ρ‚ΠΈΠΏΠΎΠ²Π° 4 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° линија ΠŸΠΈΡ‚Ρ…ΠΎΠ½ ΠΊΠΎΠ΄Π°. Π”Π΅ΠΎ 1

Π”Ρ€ΠΎΠΏΠ±ΠΎΠΊ пишС ΠΌΠ½ΠΎΠ³ΠΎ Ρƒ ΠŸΠΈΡ‚Ρ…ΠΎΠ½-Ρƒ. Π’ΠΎ јС јСзик који користимо ΠΈΠ·ΡƒΠ·Π΅Ρ‚Π½ΠΎ ΡˆΠΈΡ€ΠΎΠΊΠΎ, ΠΊΠ°ΠΊΠΎ Π·Π° позадинскС услугС Ρ‚Π°ΠΊΠΎ ΠΈ Π·Π° дСсктоп ΠΊΠ»ΠΈΡ˜Π΅Π½Ρ‚ΡΠΊΠ΅ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π΅. Π’Π°ΠΊΠΎΡ’Π΅ ΠΌΠ½ΠΎΠ³ΠΎ користимо Π“ΠΎ, Π’ΠΈΠΏΠ΅Π‘Ρ†Ρ€ΠΈΠΏΡ‚ ΠΈ Руст, Π°Π»ΠΈ ΠŸΠΈΡ‚Ρ…ΠΎΠ½ јС наш Π³Π»Π°Π²Π½ΠΈ јСзик. Π‘ ΠΎΠ±Π·ΠΈΡ€ΠΎΠΌ Π½Π° нашС Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅, Π° Ρ€Π΅Ρ‡ јС ΠΎ ΠΌΠΈΠ»ΠΈΠΎΠ½ΠΈΠΌΠ° линија ΠŸΠΈΡ‚Ρ…ΠΎΠ½ ΠΊΠΎΠ΄Π°, ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΎ сС Π΄Π° јС Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡ΠΊΠΎ ΠΊΡƒΡ†Π°ΡšΠ΅ Ρ‚Π°ΠΊΠ²ΠΎΠ³ ΠΊΠΎΠ΄Π° Π½Π΅ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ Π·Π°ΠΊΠΎΠΌΠΏΠ»ΠΈΠΊΠΎΠ²Π°Π»ΠΎ њСгово Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°ΡšΠ΅ ΠΈ ΠΏΠΎΡ‡Π΅Π»ΠΎ ΠΎΠ·Π±ΠΈΡ™Π½ΠΎ Π΄Π° ΡƒΡ‚ΠΈΡ‡Π΅ Π½Π° продуктивност Ρ€Π°Π΄Π°. Π”Π° бисмо ΡƒΠ±Π»Π°ΠΆΠΈΠ»ΠΈ овај ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, ΠΏΠΎΡ‡Π΅Π»ΠΈ смо Π΄Π° постСпСно ΠΏΡ€Π΅Π»Π°Π·ΠΈΠΌΠΎ наш ΠΊΠΎΠ΄ Π½Π° статичку ΠΏΡ€ΠΎΠ²Π΅Ρ€Ρƒ Ρ‚ΠΈΠΏΠ° користСћи ΠΌΠΈΠΏΠΈ. Ово јС Π²Π΅Ρ€ΠΎΠ²Π°Ρ‚Π½ΠΎ Π½Π°Ρ˜ΠΏΠΎΠΏΡƒΠ»Π°Ρ€Π½ΠΈΡ˜ΠΈ самостални систСм Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€Ρƒ Ρ‚ΠΈΠΏΠ° Π·Π° ΠŸΠΈΡ‚Ρ…ΠΎΠ½. Мипи јС ΠΏΡ€ΠΎΡ˜Π΅ΠΊΠ°Ρ‚ ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ΠΎΠ³ ΠΊΠΎΠ΄Π°, њСгови Π³Π»Π°Π²Π½ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈ Ρ€Π°Π΄Π΅ Ρƒ Π”Ρ€ΠΎΠΏΠ±ΠΎΠΊ-Ρƒ.

Π”Ρ€ΠΎΠΏΠ±ΠΎΠΊ јС Π±ΠΈΠ»Π° јСдна ΠΎΠ΄ ΠΏΡ€Π²ΠΈΡ… компанија која јС ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Π»Π° статичку ΠΏΡ€ΠΎΠ²Π΅Ρ€Ρƒ Ρ‚ΠΈΠΏΠ° Ρƒ ΠŸΠΈΡ‚Ρ…ΠΎΠ½ ΠΊΠΎΠ΄Ρƒ Π½Π° ΠΎΠ²ΠΎΠΌ Π½ΠΈΠ²ΠΎΡƒ. Мипи сС ΠΎΠ²ΠΈΡ… Π΄Π°Π½Π° користи Ρƒ Ρ…ΠΈΡ™Π°Π΄Π°ΠΌΠ° ΠΏΡ€ΠΎΡ˜Π΅ΠΊΠ°Ρ‚Π°. Овај Π°Π»Π°Ρ‚ јС Π±Π΅Π·Π±Ρ€ΠΎΡ˜ ΠΏΡƒΡ‚Π°, ΠΊΠ°ΠΊΠΎ ΠΊΠ°ΠΆΡƒ, "тСстиран Ρƒ Π±ΠΎΡ€Π±ΠΈ". ΠŸΡ€Π΅ΡˆΠ»ΠΈ смо Π΄ΡƒΠ³ ΠΏΡƒΡ‚ Π΄Π° стигнСмо Ρ‚Π°ΠΌΠΎ Π³Π΄Π΅ смо сада. На Ρ‚ΠΎΠΌ ΠΏΡƒΡ‚Ρƒ Π±ΠΈΠ»ΠΎ јС ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅ΡƒΡΠΏΠ΅ΡˆΠ½ΠΈΡ… ΠΏΠΎΠ΄ΡƒΡ…Π²Π°Ρ‚Π° ΠΈ Π½Π΅ΡƒΡΠΏΠ΅ΡˆΠ½ΠΈΡ… СкспСримСната. Овај пост ΠΏΠΎΠΊΡ€ΠΈΠ²Π° ΠΈΡΡ‚ΠΎΡ€ΠΈΡ˜Ρƒ статичкС ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅ Ρ‚ΠΈΠΏΠΎΠ²Π° Ρƒ ΠŸΠΈΡ‚Ρ…ΠΎΠ½-Ρƒ, ΠΎΠ΄ ΡšΠ΅Π³ΠΎΠ²ΠΈΡ… ΠΊΠ°ΠΌΠ΅Π½ΠΈΡ… ΠΏΠΎΡ‡Π΅Ρ‚Π°ΠΊΠ° ΠΊΠ°ΠΎ Π΄Π΅Π»Π° ΠΌΠΎΠ³ истраТивачког ΠΏΡ€ΠΎΡ˜Π΅ΠΊΡ‚Π°, Π΄ΠΎ данас, ΠΊΠ°Π΄Π° су ΠΏΡ€ΠΎΠ²Π΅Ρ€Π° Ρ‚ΠΈΠΏΠ° ΠΈ Π½Π°Π³ΠΎΠ²Π΅ΡˆΡ‚Π°Π²Π°ΡšΠ΅ Ρ‚ΠΈΠΏΠΎΠ²Π° постали ΡƒΠΎΠ±ΠΈΡ‡Π°Ρ˜Π΅Π½ΠΈ Π·Π° Π±Π΅Π·Π±Ρ€ΠΎΡ˜ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€Π° који ΠΏΠΈΡˆΡƒ Ρƒ ΠŸΠΈΡ‚Ρ…ΠΎΠ½-Ρƒ. ОвС ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ΅ сада ΠΏΠΎΠ΄Ρ€ΠΆΠ°Π²Π°Ρ˜Ρƒ ΠΌΠ½ΠΎΠ³ΠΈ Π°Π»Π°Ρ‚ΠΈ ΠΊΠ°ΠΎ ΡˆΡ‚ΠΎ су Π˜Π”Π• ΠΈ Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΈ ΠΊΠΎΠ΄Π°.

β†’ ΠŸΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ˜Ρ‚Π΅ Π΄Ρ€ΡƒΠ³ΠΈ Π΄Π΅ΠΎ

Π—Π°ΡˆΡ‚ΠΎ јС ΠΏΡ€ΠΎΠ²Π΅Ρ€Π° Ρ‚ΠΈΠΏΠ° Π½Π΅ΠΎΠΏΡ…ΠΎΠ΄Π½Π°?

Ако стС ΠΈΠΊΠ°Π΄Π° користили Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡ΠΊΠΈ ΠΊΡƒΡ†Π°Π½ΠΈ ΠŸΠΈΡ‚Ρ…ΠΎΠ½, ΠΌΠΎΠΆΠ΄Π° Ρ›Π΅Ρ‚Π΅ ΠΈΠΌΠ°Ρ‚ΠΈ Π·Π°Π±ΡƒΠ½Ρƒ Π·Π°ΡˆΡ‚ΠΎ сС Ρƒ послСдњС Π²Ρ€Π΅ΠΌΠ΅ Π΄ΠΈΠ³Π»Π° Ρ‚ΠΎΠ»ΠΈΠΊΠ° Π³ΡƒΠΆΠ²Π° ΠΎΠΊΠΎ статичког ΠΊΡƒΡ†Π°ΡšΠ° ΠΈ ΠΌΠΈΠΏΠΈ-ја. Или ΠΌΠΎΠΆΠ΄Π° Π²ΠΎΠ»ΠΈΡ‚Π΅ ΠŸΠΈΡ‚Ρ…ΠΎΠ½ ΡƒΠΏΡ€Π°Π²ΠΎ Π·Π±ΠΎΠ³ њСговог Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡ΠΊΠΎΠ³ ΠΊΡƒΡ†Π°ΡšΠ°, Π° ΠΎΠ²ΠΎ ΡˆΡ‚ΠΎ сС дСшава вас Ρ˜Π΅Π΄Π½ΠΎΡΡ‚Π°Π²Π½ΠΎ ΡƒΠ·Π½Π΅ΠΌΠΈΡ€ΠΈ. ΠšΡ™ΡƒΡ‡ врСдности статичког ΠΊΡƒΡ†Π°ΡšΠ° јС ΠΎΠ±ΠΈΠΌ Ρ€Π΅ΡˆΠ΅ΡšΠ°: ΡˆΡ‚ΠΎ јС ваш ΠΏΡ€ΠΎΡ˜Π΅ΠΊΠ°Ρ‚ Π²Π΅Ρ›ΠΈ, вишС сС Π½Π°Π³ΠΈΡšΠ΅Ρ‚Π΅ статичком ΠΊΡƒΡ†Π°ΡšΡƒ, ΠΈ Π½Π° ΠΊΡ€Π°Ρ˜Ρƒ, Ρ‚ΠΎ Π²Π°ΠΌ јС вишС ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ.

ΠŸΡ€Π΅Ρ‚ΠΏΠΎΡΡ‚Π°Π²ΠΈΠΌΠΎ Π΄Π° јС ΠΎΠ΄Ρ€Π΅Ρ’Π΅Π½ΠΈ ΠΏΡ€ΠΎΡ˜Π΅ΠΊΠ°Ρ‚ достигао Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ дСсСтина Ρ…ΠΈΡ™Π°Π΄Π° линија, Π° испоставило сС Π΄Π° Π½Π° ΡšΠ΅ΠΌΡƒ Ρ€Π°Π΄ΠΈ Π½Π΅ΠΊΠΎΠ»ΠΈΠΊΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€Π°. Π“Π»Π΅Π΄Π°Ρ˜ΡƒΡ›ΠΈ сличан ΠΏΡ€ΠΎΡ˜Π΅ΠΊΠ°Ρ‚, Π½Π° основу нашСг искуства, ΠΌΠΎΠΆΠ΅ΠΌΠΎ Ρ€Π΅Ρ›ΠΈ Π΄Π° Ρ›Π΅ Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°ΡšΠ΅ њСговог ΠΊΠΎΠ΄Π° Π±ΠΈΡ‚ΠΈ ΠΊΡ™ΡƒΡ‡ Π·Π° ΠΎΠ΄Ρ€ΠΆΠ°Π²Π°ΡšΠ΅ продуктивности ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€Π°. Π‘Π΅Π· Π½Π°ΠΏΠΎΠΌΠ΅Π½Π° Ρ‚ΠΈΠΏΠ°, ΠΌΠΎΠΆΠ΅ Π±ΠΈΡ‚ΠΈ Ρ‚Π΅ΡˆΠΊΠΎ схватити, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, којС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π΅ Ρ‚Ρ€Π΅Π±Π° прослСдити Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜ΠΈ ΠΈΠ»ΠΈ којС Ρ‚ΠΈΠΏΠΎΠ²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π²Ρ€Π°Ρ‚ΠΈ. Π•Π²ΠΎ Ρ‚ΠΈΠΏΠΈΡ‡Π½ΠΈΡ… ΠΏΠΈΡ‚Π°ΡšΠ° Π½Π° која јС чСсто Ρ‚Π΅ΡˆΠΊΠΎ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΠΈ Π±Π΅Π· ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π΅ Π½Π°ΠΏΠΎΠΌΠ΅Π½Π° ΠΎ Ρ‚ΠΈΠΏΡƒ:

  • МоТС Π»ΠΈ сС ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π° Π²Ρ€Π°Ρ‚ΠΈΡ‚ΠΈ None?
  • Π¨Ρ‚Π° Π±ΠΈ Ρ‚Ρ€Π΅Π±Π°Π»ΠΎ Π΄Π° Π±ΡƒΠ΄Π΅ овај Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚? items?
  • Који јС Ρ‚ΠΈΠΏ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° id: int Ја сСдим, str, ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΄Π° Π½Π΅ΠΊΠΈ ΠΏΡ€ΠΈΠ»Π°Π³ΠΎΡ’Π΅Π½ΠΈ Ρ‚ΠΈΠΏ?
  • Π”Π° Π»ΠΈ овај Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π±ΡƒΠ΄Π΅ листа? Π”Π° Π»ΠΈ јС ΠΌΠΎΠ³ΡƒΡ›Π΅ ΠΏΡ€Π΅Π½Π΅Ρ‚ΠΈ Ρ‚ΡƒΠΏΠ»Π΅ Π½Π° њСга?

Ако ΠΏΠΎΠ³Π»Π΅Π΄Π°Ρ‚Π΅ слСдСћи исСчак ΠΊΠΎΠ΄Π° са ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΌΠ° ΠΈ ΠΏΠΎΠΊΡƒΡˆΠ°Ρ‚Π΅ Π΄Π° ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚Π΅ Π½Π° слична ΠΏΠΈΡ‚Π°ΡšΠ°, испоставићС сС Π΄Π° јС ΠΎΠ²ΠΎ Π½Π°Ρ˜Ρ˜Π΅Π΄Π½ΠΎΡΡ‚Π°Π²Π½ΠΈΡ˜ΠΈ Π·Π°Π΄Π°Ρ‚Π°ΠΊ:

class Resource:
    id: bytes
    ...
    def read_metadata(self, 
                      items: Sequence[str]) -> Dict[str, MetadataItem]:
        ...

  • read_metadata Π½Π΅ Π²Ρ€Π°Ρ›Π° сС None, ΠΏΠΎΡˆΡ‚ΠΎ Ρ‚ΠΈΠΏ Π²Ρ€Π°Ρ›Π°ΡšΠ° нијС Optional[…].
  • Расправа items јС Π½ΠΈΠ· линија. НС ΠΌΠΎΠΆΠ΅ сС насумично ΠΏΠΎΠ½Π°Π²Ρ™Π°Ρ‚ΠΈ.
  • Атрибут id јС Π½ΠΈΠ· Π±Π°Ρ˜Ρ‚ΠΎΠ²Π°.

Π£ ΠΈΠ΄Π΅Π°Π»Π½ΠΎΠΌ свСту, ΠΎΡ‡Π΅ΠΊΠΈΠ²Π°Π»ΠΎ Π±ΠΈ сС Π΄Π° Ρ›Π΅ свС Ρ‚Π°ΠΊΠ²Π΅ суптилности Π±ΠΈΡ‚ΠΈ описанС Ρƒ ΡƒΠ³Ρ€Π°Ρ’Π΅Π½ΠΎΡ˜ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜ΠΈ (доцстринг). Али искуство дајС ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π΄Π° сС Ρ‚Π°ΠΊΠ²Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π° чСсто Π½Π΅ ΠΏΠΎΡˆΡ‚ΡƒΡ˜Π΅ Ρƒ ΠΊΠΎΠ΄Ρƒ са којим ΠΌΠΎΡ€Π°Ρ‚Π΅ Π΄Π° Ρ€Π°Π΄ΠΈΡ‚Π΅. Π§Π°ΠΊ ΠΈ Π°ΠΊΠΎ Ρ‚Π°ΠΊΠ²Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π° ΠΏΠΎΡΡ‚ΠΎΡ˜ΠΈ Ρƒ ΠΊΠΎΠ΄Ρƒ, Π½Π΅ ΠΌΠΎΠΆΠ΅ сС Ρ€Π°Ρ‡ΡƒΠ½Π°Ρ‚ΠΈ Π½Π° ΡšΠ΅Π³ΠΎΠ²Ρƒ апсолутну исправност. Ова Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π° ΠΌΠΎΠΆΠ΅ Π±ΠΈΡ‚ΠΈ нСјасна, Π½Π΅Ρ‚Π°Ρ‡Π½Π° ΠΈ ΠΎΡ‚Π²ΠΎΡ€Π΅Π½Π° Π·Π° нСспоразумС. Π£ Π²Π΅Π»ΠΈΠΊΠΈΠΌ Ρ‚ΠΈΠΌΠΎΠ²ΠΈΠΌΠ° ΠΈΠ»ΠΈ Π²Π΅Π»ΠΈΠΊΠΈΠΌ ΠΏΡ€ΠΎΡ˜Π΅ΠΊΡ‚ΠΈΠΌΠ°, овај ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΌΠΎΠΆΠ΅ постати ΠΈΠ·ΡƒΠ·Π΅Ρ‚Π½ΠΎ Π°ΠΊΡƒΡ‚Π°Π½.

Π”ΠΎΠΊ сС ΠŸΠΈΡ‚Ρ…ΠΎΠ½ истичС Ρƒ Ρ€Π°Π½ΠΈΠΌ ΠΈΠ»ΠΈ ΡΡ€Π΅Π΄ΡšΠΈΠΌ Ρ„Π°Π·Π°ΠΌΠ° ΠΏΡ€ΠΎΡ˜Π΅ΠΊΠ°Ρ‚Π°, Ρƒ Π½Π΅ΠΊΠΎΠΌ Ρ‚Ρ€Π΅Π½ΡƒΡ‚ΠΊΡƒ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΈ ΠΏΡ€ΠΎΡ˜Π΅ΠΊΡ‚ΠΈ ΠΈ компанијС којС користС ΠŸΠΈΡ‚Ρ…ΠΎΠ½ ΠΌΠΎΠ³Ρƒ сС суочити са Π²ΠΈΡ‚Π°Π»Π½ΠΈΠΌ ΠΏΠΈΡ‚Π°ΡšΠ΅ΠΌ: β€žΠ”Π° Π»ΠΈ Ρ‚Ρ€Π΅Π±Π° Π΄Π° ΠΏΡ€Π΅ΠΏΠΈΡˆΠ΅ΠΌΠΎ свС Π½Π° статички ΠΎΡ‚ΠΊΡƒΡ†Π°Π½ΠΎΠΌ Ρ˜Π΅Π·ΠΈΠΊΡƒ?β€œ.

БистСми Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€Ρƒ Ρ‚ΠΈΠΏΠΎΠ²Π° ΠΊΠ°ΠΎ ΡˆΡ‚ΠΎ јС ΠΌΠΈΠΏΠΈ Ρ€Π΅ΡˆΠ°Π²Π°Ρ˜Ρƒ Π³ΠΎΡ€ΡšΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΎΠ±Π΅Π·Π±Π΅Ρ’ΡƒΡ˜ΡƒΡ›ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€Ρƒ Ρ„ΠΎΡ€ΠΌΠ°Π»Π½ΠΈ јСзик Π·Π° описивањС Ρ‚ΠΈΠΏΠΎΠ²Π° ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΌ Π΄Π° Π»ΠΈ Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ†ΠΈΡ˜Π΅ Ρ‚ΠΈΠΏΠ° ΠΎΠ΄Π³ΠΎΠ²Π°Ρ€Π°Ρ˜Ρƒ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° (ΠΈ, ΠΎΠΏΡ†ΠΈΠΎΠ½ΠΎ, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΌ ΡšΠΈΡ…ΠΎΠ²ΠΎΠ³ ΠΏΠΎΡΡ‚ΠΎΡ˜Π°ΡšΠ°). Π“Π΅Π½Π΅Ρ€Π°Π»Π½ΠΎ, ΠΌΠΎΠΆΠ΅ΠΌΠΎ Ρ€Π΅Ρ›ΠΈ Π΄Π° су Π½Π°ΠΌ ΠΎΠ²ΠΈ систСми ставили Π½Π° Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡšΠ΅ Π½Π΅ΡˆΡ‚ΠΎ ΠΏΠΎΠΏΡƒΡ‚ ΠΏΠ°ΠΆΡ™ΠΈΠ²ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π΅.

Π£ΠΏΠΎΡ‚Ρ€Π΅Π±Π° Ρ‚Π°ΠΊΠ²ΠΈΡ… систСма ΠΈΠΌΠ° ΠΈ Π΄Ρ€ΡƒΠ³Π΅ прСдности, Π° ΠΎΠ½Π΅ су Π²Π΅Ρ› ΠΏΠΎΡ‚ΠΏΡƒΠ½ΠΎ Π½Π΅Ρ‚Ρ€ΠΈΠ²ΠΈΡ˜Π°Π»Π½Π΅:

  • БистСм Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€Ρƒ Ρ‚ΠΈΠΏΠ° ΠΌΠΎΠΆΠ΅ ΠΎΡ‚ΠΊΡ€ΠΈΡ‚ΠΈ Π½Π΅ΠΊΠ΅ ΠΌΠ°Π»Π΅ (ΠΈ Π½Π΅ Ρ‚Π°ΠΊΠΎ ΠΌΠ°Π»Π΅) Π³Ρ€Π΅ΡˆΠΊΠ΅. Π’ΠΈΠΏΠΈΡ‡Π°Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ јС ΠΊΠ°Π΄Π° Π·Π°Π±ΠΎΡ€Π°Π²Π΅ Π΄Π° ΠΎΠ±Ρ€Π°Ρ’ΡƒΡ˜Ρƒ врСдност None ΠΈΠ»ΠΈ Π½Π΅ΠΊΠΈ Π΄Ρ€ΡƒΠ³ΠΈ посСбан услов.
  • Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΡΠ°ΡšΠ΅ ΠΊΠΎΠ΄Π° јС Ρƒ вСликој ΠΌΠ΅Ρ€ΠΈ ΠΏΠΎΡ˜Π΅Π΄Π½ΠΎΡΡ‚Π°Π²Ρ™Π΅Π½ΠΎ Ρ˜Π΅Ρ€ јС систСм ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅ Ρ‚ΠΈΠΏΠ° чСсто Π²Π΅ΠΎΠΌΠ° ΠΏΡ€Π΅Ρ†ΠΈΠ·Π°Π½ ΠΎ Ρ‚ΠΎΠΌΠ΅ који ΠΊΠΎΠ΄ Ρ‚Ρ€Π΅Π±Π° Π΄Π° сС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ. Π£ исто Π²Ρ€Π΅ΠΌΠ΅, Π½Π΅ Ρ‚Ρ€Π΅Π±Π° Π΄Π° сС Π½Π°Π΄Π°ΠΌΠΎ 100% покривСности ΠΊΠΎΠ΄Π° тСстовима, ΡˆΡ‚ΠΎ, Ρƒ сваком ΡΠ»ΡƒΡ‡Π°Ρ˜Ρƒ, ΠΎΠ±ΠΈΡ‡Π½ΠΎ нијС ΠΈΠ·Π²ΠΎΠ΄Ρ™ΠΈΠ²ΠΎ. НС ΠΌΠΎΡ€Π°ΠΌΠΎ Π΄Π° ΡƒΠ»Π°Π·ΠΈΠΌΠΎ Ρƒ Π΄ΡƒΠ±ΠΈΠ½Ρƒ ΠΏΡ€Π°Ρ›Π΅ΡšΠ° стСка Π΄Π° бисмо ΠΎΡ‚ΠΊΡ€ΠΈΠ»ΠΈ ΡƒΠ·Ρ€ΠΎΠΊ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°.
  • Π§Π°ΠΊ ΠΈ Π½Π° Π²Π΅Π»ΠΈΠΊΠΈΠΌ ΠΏΡ€ΠΎΡ˜Π΅ΠΊΡ‚ΠΈΠΌΠ°, ΠΌΠΈΠΏΠΈ чСсто ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π²Ρ€ΡˆΠΈ ΠΏΡƒΠ½Ρƒ ΠΏΡ€ΠΎΠ²Π΅Ρ€Ρƒ Ρ‚ΠΈΠΏΠ° Ρƒ Π΄Π΅Π»ΠΈΡ›Ρƒ сСкундС. А ΠΈΠ·Π²ΠΎΡ’Π΅ΡšΠ΅ тСстова ΠΎΠ±ΠΈΡ‡Π½ΠΎ Ρ‚Ρ€Π°Ρ˜Π΅ дСсСтинС сСкунди ΠΈΠ»ΠΈ Ρ‡Π°ΠΊ ΠΌΠΈΠ½ΡƒΡ‚Π°. БистСм Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€Ρƒ Ρ‚ΠΈΠΏΠ° дајС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€Ρƒ Ρ‚Ρ€Π΅Π½ΡƒΡ‚Π½Ρƒ ΠΏΠΎΠ²Ρ€Π°Ρ‚Π½Ρƒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ˜Ρƒ ΠΈ ΠΎΠΌΠΎΠ³ΡƒΡ›Π°Π²Π° ΠΌΡƒ Π΄Π° Π±Ρ€ΠΆΠ΅ Ρ€Π°Π΄ΠΈ свој посао. Он вишС Π½Π΅ ΠΌΠΎΡ€Π° Π΄Π° пишС ΠΊΡ€Ρ…ΠΊΠ΅ ΠΈ Ρ‚Π΅ΡˆΠΊΠ΅ Π·Π° ΠΎΠ΄Ρ€ΠΆΠ°Π²Π°ΡšΠ΅ Ρ˜Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½ΠΈΡ… тСстова који Π·Π°ΠΌΠ΅ΡšΡƒΡ˜Ρƒ стварнС Π΅Π½Ρ‚ΠΈΡ‚Π΅Ρ‚Π΅ ΠΈΠΌΠΈΡ‚Π°Ρ†ΠΈΡ˜Π°ΠΌΠ° ΠΈ Π·Π°ΠΊΡ€ΠΏΠ°ΠΌΠ° само Π΄Π° Π±ΠΈ Π±Ρ€ΠΆΠ΅ Π΄ΠΎΠ±ΠΈΠΎ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚Π΅ тСстова ΠΊΠΎΠ΄Π°.

Π˜Π”Π• ΠΈ ΡƒΡ€Π΅Ρ’ΠΈΠ²Π°Ρ‡ΠΈ ΠΊΠ°ΠΎ ΡˆΡ‚ΠΎ су ΠŸΠΈΠ¦Ρ…Π°Ρ€ΠΌ ΠΈΠ»ΠΈ Висуал Π‘Ρ‚ΡƒΠ΄ΠΈΠΎ Π¦ΠΎΠ΄Π΅ користС ΠΌΠΎΡ› Π½Π°ΠΏΠΎΠΌΠ΅Π½Π° Ρ‚ΠΈΠΏΠ° Π΄Π° Π±ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈΠΌΠ° ΠΏΡ€ΡƒΠΆΠΈΠ»ΠΈ Π΄ΠΎΠ²Ρ€ΡˆΠ°Π²Π°ΡšΠ΅ ΠΊΠΎΠ΄Π°, ΠΈΡΡ‚ΠΈΡ†Π°ΡšΠ΅ Π³Ρ€Π΅ΡˆΠ°ΠΊΠ° ΠΈ ΠΏΠΎΠ΄Ρ€ΡˆΠΊΡƒ Π·Π° Π½Π°Ρ˜Ρ‡Π΅ΡˆΡ›Π΅ ΠΊΠΎΡ€ΠΈΡˆΡ›Π΅Π½Π΅ Ρ˜Π΅Π·ΠΈΡ‡ΠΊΠ΅ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ˜Π΅. А ΠΎΠ²ΠΎ су само Π½Π΅ΠΊΠ΅ ΠΎΠ΄ прСдности ΠΊΡƒΡ†Π°ΡšΠ°. Π—Π° Π½Π΅ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€Π΅, свС јС ΠΎΠ²ΠΎ Π³Π»Π°Π²Π½ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Ρƒ корист ΠΊΡƒΡ†Π°ΡšΠ°. Ово јС Π½Π΅ΡˆΡ‚ΠΎ ΡˆΡ‚ΠΎ користи ΠΎΠ΄ΠΌΠ°Ρ… Π½Π°ΠΊΠΎΠ½ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π΅. Овај ΡΠ»ΡƒΡ‡Π°Ρ˜ ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π΅ Π·Π° Ρ‚ΠΈΠΏΠΎΠ²Π΅ Π½Π΅ Π·Π°Ρ…Ρ‚Π΅Π²Π° посСбан систСм Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€Ρƒ Ρ‚ΠΈΠΏΠ° ΠΊΠ°ΠΎ ΡˆΡ‚ΠΎ јС ΠΌΠΈΠΏΠΈ, ΠΈΠ°ΠΊΠΎ Ρ‚Ρ€Π΅Π±Π° Π½Π°ΠΏΠΎΠΌΠ΅Π½ΡƒΡ‚ΠΈ Π΄Π° ΠΌΠΈΠΏΠΈ ΠΏΠΎΠΌΠ°ΠΆΠ΅ Π΄Π° сС Π½Π°ΠΏΠΎΠΌΠ΅Π½Π΅ Ρ‚ΠΈΠΏΠ° ΠΎΠ΄Ρ€ΠΆΠ°Π²Π°Ρ˜Ρƒ Ρƒ складу са ΠΊΠΎΠ΄ΠΎΠΌ.

Позадина мипи

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ˜Π° ΠΌΠΈΠΏΠΈ-ја ΠΏΠΎΡ‡Π΅Π»Π° јС Ρƒ Π’Π΅Π»ΠΈΠΊΠΎΡ˜ Π‘Ρ€ΠΈΡ‚Π°Π½ΠΈΡ˜ΠΈ, Ρƒ ΠšΠ΅ΠΌΠ±Ρ€ΠΈΡŸΡƒ, Π½Π΅ΠΊΠΎΠ»ΠΈΠΊΠΎ Π³ΠΎΠ΄ΠΈΠ½Π° ΠΏΡ€Π΅ Π½Π΅Π³ΠΎ ΡˆΡ‚ΠΎ сам сС ΠΏΡ€ΠΈΠ΄Ρ€ΡƒΠΆΠΈΠΎ Π”Ρ€ΠΎΠΏΠ±ΠΎΠΊ-Ρƒ. Π‘Π°Π²ΠΈΠΎ сам сС, Ρƒ ΠΎΠΊΠ²ΠΈΡ€Ρƒ свог докторског ΠΈΡΡ‚Ρ€Π°ΠΆΠΈΠ²Π°ΡšΠ°, објСдињавањСм статички ΠΊΡƒΡ†Π°Π½ΠΈΡ… ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡ΠΊΠΈΡ… јСзика. Π˜Π½ΡΠΏΠΈΡ€ΠΈΡΠ°ΠΎ ΠΌΠ΅ јС Ρ‡Π»Π°Π½Π°ΠΊ ΠΎ ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π°Π»Π½ΠΎΠΌ ΠΊΡƒΡ†Π°ΡšΡƒ ΠΠ΅Ρ€Π΅ΠΌΠΈΡ˜Π° Π‘ΠΈΠΊΠ° ΠΈ Π’Π°Π»ΠΈΠ΄Π° Π’Π°Ρ…Π΅ ΠΈ ΠΏΡ€ΠΎΡ˜Π΅ΠΊΠ°Ρ‚ Π’ΠΈΠΏΠ΅Π΄ Π Π°Ρ†ΠΊΠ΅Ρ‚. ΠŸΠΎΠΊΡƒΡˆΠ°ΠΎ сам Π΄Π° ΠΏΡ€ΠΎΠ½Π°Ρ’Π΅ΠΌ Π½Π°Ρ‡ΠΈΠ½Π΅ Π΄Π° користим исти програмски јСзик Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΡ˜Π΅ΠΊΡ‚Π΅ – ΠΎΠ΄ ΠΌΠ°Π»ΠΈΡ… скрипти Π΄ΠΎ Π±Π°Π·Π° ΠΊΠΎΠ΄Π° којС сС ΡΠ°ΡΡ‚ΠΎΡ˜Π΅ ΠΎΠ΄ ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠΈΠ»ΠΈΠΎΠ½Π° линија. Π˜ΡΡ‚ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½ΠΎ, ΠΆΠ΅Π»Π΅ΠΎ сам Π΄Π° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈΠΌ Π΄Π° сС Ρƒ ΠΏΡ€ΠΎΡ˜Π΅ΠΊΡ‚Ρƒ Π±ΠΈΠ»ΠΎ ΠΊΠΎΠ³ ΠΎΠ±ΠΈΠΌΠ° Π½Π΅Ρ›Π΅ ΠΏΡ€Π°Π²ΠΈΡ‚ΠΈ ΠΏΡ€Π΅Π²Π΅Π»ΠΈΠΊΠΈ компромиси. Π’Π°ΠΆΠ°Π½ Π΄Π΅ΠΎ свСга ΠΎΠ²ΠΎΠ³Π° Π±ΠΈΠ»Π° јС идСја ΠΎ постСпСном прСласку са Π½Π΅Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€Π°Π½ΠΎΠ³ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠ° ΠΏΡ€ΠΎΡ˜Π΅ΠΊΡ‚Π° Π½Π° свСобухватно тСстиран статички ΠΎΡ‚ΠΊΡƒΡ†Π°Π½ΠΈ Π³ΠΎΡ‚ΠΎΠ² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄. ΠžΠ²ΠΈΡ… Π΄Π°Π½Π° сС ΠΎΠ²Π΅ идСјС ΡƒΠ³Π»Π°Π²Π½ΠΎΠΌ ΡƒΠ·ΠΈΠΌΠ°Ρ˜Ρƒ Π·Π΄Ρ€Π°Π²ΠΎ Π·Π° Π³ΠΎΡ‚ΠΎΠ²ΠΎ, Π°Π»ΠΈ 2010. јС Ρ‚ΠΎ Π±ΠΈΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ који сС још ΡƒΠ²Π΅ΠΊ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΡΡ‚Ρ€Π°ΠΆΡƒΡ˜Π΅.

Мој ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈ Ρ€Π°Π΄ Ρƒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈ Ρ‚ΠΈΠΏΠ° нијС Π±ΠΈΠΎ усмСрСн Π½Π° ΠŸΠΈΡ‚Ρ…ΠΎΠ½. УмСсто Ρ‚ΠΎΠ³Π°, користио сам ΠΌΠ°Π»ΠΈ β€žΠ΄ΠΎΠΌΠ°Ρ›ΠΈβ€œ јСзик АлорС. Π•Π²ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° који Ρ›Π΅ Π²Π°ΠΌ ΠΎΠΌΠΎΠ³ΡƒΡ›ΠΈΡ‚ΠΈ Π΄Π° Ρ€Π°Π·ΡƒΠΌΠ΅Ρ‚Π΅ ΠΎ Ρ‡Π΅ΠΌΡƒ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌΠΎ (Π½Π°ΠΏΠΎΠΌΠ΅Π½Π΅ Ρ‚ΠΈΠΏΠ° ΠΎΠ²Π΄Π΅ су ΠΎΠΏΡ†ΠΈΠΎΠ½Π΅):

def Fib(n as Int) as Int
  if n <= 1
    return n
  else
    return Fib(n - 1) + Fib(n - 2)
  end
end

ΠšΠΎΡ€ΠΈΡˆΡ›Π΅ΡšΠ΅ ΠΏΠΎΡ˜Π΅Π΄Π½ΠΎΡΡ‚Π°Π²Ρ™Π΅Π½ΠΎΠ³ ΠΌΠ°Ρ‚Π΅Ρ€ΡšΠ΅Π³ јСзика јС ΡƒΠΎΠ±ΠΈΡ‡Π°Ρ˜Π΅Π½ приступ који сС користи Ρƒ Π½Π°ΡƒΡ‡Π½ΠΈΠΌ ΠΈΡΡ‚Ρ€Π°ΠΆΠΈΠ²Π°ΡšΠΈΠΌΠ°. Π’ΠΎ јС Ρ‚Π°ΠΊΠΎ, Π½Π΅ само Π·Π°Ρ‚ΠΎ ΡˆΡ‚ΠΎ Π²Π°ΠΌ ΠΎΠΌΠΎΠ³ΡƒΡ›Π°Π²Π° Π±Ρ€Π·ΠΎ ΡΠΏΡ€ΠΎΠ²ΠΎΡ’Π΅ΡšΠ΅ СкспСримСната, Π° Ρ‚Π°ΠΊΠΎΡ’Π΅ ΠΈ Π·Π±ΠΎΠ³ Ρ‡ΠΈΡšΠ΅Π½ΠΈΡ†Π΅ Π΄Π° сС ΠΎΠ½ΠΎ ΡˆΡ‚ΠΎ Π½Π΅ΠΌΠ° Π½ΠΈΠΊΠ°ΠΊΠ²Π΅ Π²Π΅Π·Π΅ са ΡΡ‚ΡƒΠ΄ΠΈΡ˜ΠΎΠΌ ΠΌΠΎΠΆΠ΅ Π»Π°ΠΊΠΎ Π·Π°Π½Π΅ΠΌΠ°Ρ€ΠΈΡ‚ΠΈ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΡΠΊΠΈ Ρ˜Π΅Π·ΠΈΡ†ΠΈ ΠΈΠ· стварног свСта ΠΎΠ±ΠΈΡ‡Π½ΠΎ су Ρ„Π΅Π½ΠΎΠΌΠ΅Π½ΠΈ Π²Π΅Π»ΠΈΠΊΠΈΡ… Ρ€Π°Π·ΠΌΠ΅Ρ€Π° са слоТСним ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π°ΠΌΠ°, Π° Ρ‚ΠΎ успорава Π΅ΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡΠ°ΡšΠ΅. ΠœΠ΅Ρ’ΡƒΡ‚ΠΈΠΌ, Π±ΠΈΠ»ΠΎ који Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈ засновани Π½Π° ΠΏΠΎΡ˜Π΅Π΄Π½ΠΎΡΡ‚Π°Π²Ρ™Π΅Π½ΠΎΠΌ Ρ˜Π΅Π·ΠΈΠΊΡƒ ΠΈΠ·Π³Π»Π΅Π΄Π°Ρ˜Ρƒ ΠΏΠΎΠΌΠ°Π»ΠΎ ΡΡƒΠΌΡšΠΈΠ²ΠΎ, ΠΏΠΎΡˆΡ‚ΠΎ јС Ρƒ Π΄ΠΎΠ±ΠΈΡ˜Π°ΡšΡƒ ΠΎΠ²ΠΈΡ… Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚Π° истраТивач ΠΌΠΎΠΆΠ΄Π° ΠΆΡ€Ρ‚Π²ΠΎΠ²Π°ΠΎ Ρ€Π°Π·ΠΌΠ°Ρ‚Ρ€Π°ΡšΠ° Π²Π°ΠΆΠ½Π° Π·Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½Ρƒ ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Ρƒ јСзика.

Мој ΡƒΡ€Π΅Ρ’Π°Ρ˜ Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€Ρƒ Ρ‚ΠΈΠΏΠ° Π·Π° АлорС јС ΠΈΠ·Π³Π»Π΅Π΄Π°ΠΎ Π²Π΅ΠΎΠΌΠ° ΠΎΠ±Π΅Ρ›Π°Π²Π°Ρ˜ΡƒΡ›Π΅, Π°Π»ΠΈ ΠΆΠ΅Π»Π΅ΠΎ сам Π΄Π° Π³Π° тСстирам Π΅ΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡˆΡƒΡ›ΠΈ са ΠΏΡ€Π°Π²ΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, који, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π΅Ρ›ΠΈ, нијС написан Ρƒ АлорСу. На ΠΌΠΎΡ˜Ρƒ срСћу, јСзик АлорС јС ΡƒΠ³Π»Π°Π²Π½ΠΎΠΌ Π±ΠΈΠΎ заснован Π½Π° истим идСјама ΠΊΠ°ΠΎ ΠΈ ΠŸΠΈΡ‚Ρ…ΠΎΠ½. Π‘ΠΈΠ»ΠΎ јС Π΄ΠΎΠ²ΠΎΡ™Π½ΠΎ Π»Π°ΠΊΠΎ ΠΏΡ€Π΅ΠΏΡ€Π°Π²ΠΈΡ‚ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€Ρƒ Ρ‚ΠΈΠΏΠΎΠ²Π° Ρ‚Π°ΠΊΠΎ Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Ρ€Π°Π΄ΠΈ са ΠŸΠΈΡ‚Ρ…ΠΎΠ½-ΠΎΠ²ΠΎΠΌ синтаксом ΠΈ сСмантиком. Ово Π½Π°ΠΌ јС ΠΎΠΌΠΎΠ³ΡƒΡ›ΠΈΠ»ΠΎ Π΄Π° ΠΏΠΎΠΊΡƒΡˆΠ°ΠΌΠΎ Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌΠΎ Ρ‚ΠΈΠΏ Ρƒ ΠŸΠΈΡ‚Ρ…ΠΎΠ½ ΠΊΠΎΠ΄Ρƒ ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ΠΎΠ³ ΠΊΠΎΠ΄Π°. ΠŸΠΎΡ€Π΅Π΄ Ρ‚ΠΎΠ³Π°, написао сам транспилСр Π·Π° ΠΏΡ€Π΅Ρ‚Π²Π°Ρ€Π°ΡšΠ΅ ΠΊΠΎΠ΄Π° написаног Ρƒ АлорС Ρƒ ΠŸΠΈΡ‚Ρ…ΠΎΠ½ ΠΊΠΎΠ΄ ΠΈ користио Π³Π° Π·Π° ΠΏΡ€Π΅Π²ΠΎΡ’Π΅ΡšΠ΅ ΠΊΠΎΠ΄Π° Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€Ρƒ Ρ‚ΠΈΠΏΠΎΠ²Π°. Π‘Π°Π΄Π° сам ΠΈΠΌΠ°ΠΎ систСм Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€Ρƒ Ρ‚ΠΈΠΏΠ° написан Ρƒ ΠŸΠΈΡ‚Ρ…ΠΎΠ½-Ρƒ који јС ΠΏΠΎΠ΄Ρ€ΠΆΠ°Π²Π°ΠΎ подскуп ΠŸΠΈΡ‚Ρ…ΠΎΠ½-Π°, Π½Π΅ΠΊΡƒ врсту Ρ‚ΠΎΠ³ јСзика! (ΠžΠ΄Ρ€Π΅Ρ’Π΅Π½Π΅ архитСктонскС ΠΎΠ΄Π»ΡƒΠΊΠ΅ којС су ΠΈΠΌΠ°Π»Π΅ смисла Π·Π° АлорС Π±ΠΈΠ»Π΅ су лошС ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Π΅ Π·Π° ΠŸΠΈΡ‚Ρ…ΠΎΠ½, Π° Ρ‚ΠΎ јС још ΡƒΠ²Π΅ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ‚Π½ΠΎ Ρƒ Π΄Π΅Π»ΠΎΠ²ΠΈΠΌΠ° ΠΌΠΈΠΏΠΈ ΠΊΠΎΠ΄Π½Π΅ Π±Π°Π·Π΅.)

Π£ ствари, јСзик који ΠΏΠΎΠ΄Ρ€ΠΆΠ°Π²Π° мој систСм Ρ‚ΠΈΠΏΠΎΠ²Π° сС Ρƒ ΠΎΠ²ΠΎΠΌ Ρ‚Ρ€Π΅Π½ΡƒΡ‚ΠΊΡƒ Π½Π΅ Π±ΠΈ ΠΌΠΎΠ³Π°ΠΎ Π½Π°Π·Π²Π°Ρ‚ΠΈ ΠŸΠΈΡ‚Ρ…ΠΎΠ½: Ρ‚ΠΎ јС Π±ΠΈΠ»Π° Π²Π°Ρ€ΠΈΡ˜Π°Π½Ρ‚Π° ΠŸΠΈΡ‚Ρ…ΠΎΠ½-Π° Π·Π±ΠΎΠ³ Π½Π΅ΠΊΠΈΡ… ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅ΡšΠ° синтаксС Π½Π°ΠΏΠΎΠΌΠ΅Π½Π° Ρ‚ΠΈΠΏΠ° ΠŸΠΈΡ‚Ρ…ΠΎΠ½ 3.

ИзглСдало јС ΠΊΠ°ΠΎ мСшавина Јава ΠΈ ΠŸΠΈΡ‚Ρ…ΠΎΠ½-Π°:

int fib(int n):
    if n <= 1:
        return n
    else:
        return fib(n - 1) + fib(n - 2)

ЈСдна ΠΎΠ΄ ΠΌΠΎΡ˜ΠΈΡ… идСја Ρƒ Ρ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π±ΠΈΠ»Π° јС Π΄Π° користим Π½Π°ΠΏΠΎΠΌΠ΅Π½Π΅ Ρ‚ΠΈΠΏΠ° Π·Π° ΠΏΠΎΠ±ΠΎΡ™ΡˆΠ°ΡšΠ΅ пСрформанси ΠΊΠΎΠΌΠΏΠ°Ρ˜Π»ΠΈΡ€Π°ΡšΠ΅ΠΌ ΠΎΠ²Π΅ врстС ΠŸΠΈΡ‚Ρ…ΠΎΠ½-Π° Ρƒ Π¦, ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΄Π° ΠˆΠ’Πœ Π±Π°Ρ˜Ρ‚ΠΊΠΎΠ΄. Π”ΠΎΡˆΠ°ΠΎ сам Π΄ΠΎ Ρ„Π°Π·Π΅ писања ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠ° ΠΊΠΎΠΌΠΏΠ°Ρ˜Π»Π΅Ρ€Π°, Π°Π»ΠΈ сам напустио ΠΎΠ²Ρƒ ΠΈΠ΄Π΅Ρ˜Ρƒ, ΠΏΠΎΡˆΡ‚ΠΎ јС сама ΠΏΡ€ΠΎΠ²Π΅Ρ€Π° Ρ‚ΠΈΠΏΠ° ΠΈΠ·Π³Π»Π΅Π΄Π°Π»Π° ΠΏΡ€ΠΈΠ»ΠΈΡ‡Π½ΠΎ корисно.

На ΠΊΡ€Π°Ρ˜Ρƒ сам прСдставио свој ΠΏΡ€ΠΎΡ˜Π΅ΠΊΠ°Ρ‚ Π½Π° ПиЦон 2013 Ρƒ Π‘Π°Π½Ρ‚Π° ΠšΠ»Π°Ρ€ΠΈ. О Ρ‚ΠΎΠΌΠ΅ сам Ρ€Π°Π·Π³ΠΎΠ²Π°Ρ€Π°ΠΎ ΠΈ са Π“Π²ΠΈΠ΄ΠΎΠΌ Π²Π°Π½ Росумом, Π΄ΠΎΠΆΠΈΠ²ΠΎΡ‚Π½ΠΈΠΌ Π΄ΠΎΠ±Ρ€ΠΎΡ›ΡƒΠ΄Π½ΠΈΠΌ ΠΏΠ°Ρ˜Ρ‚ΠΎΠ½ΡΠΊΠΈΠΌ Π΄ΠΈΠΊΡ‚Π°Ρ‚ΠΎΡ€ΠΎΠΌ. Π£Π±Π΅Π΄ΠΈΠΎ ΠΌΠ΅ јС Π΄Π° ΠΎΠ΄Π±Π°Ρ†ΠΈΠΌ сопствСну синтаксу ΠΈ Π΄Π° сС Π΄Ρ€ΠΆΠΈΠΌ стандарднС ΠŸΠΈΡ‚Ρ…ΠΎΠ½ 3 синтаксС. ΠŸΠΈΡ‚Ρ…ΠΎΠ½ 3 ΠΏΠΎΠ΄Ρ€ΠΆΠ°Π²Π° Π½Π°ΠΏΠΎΠΌΠ΅Π½Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π°, Ρ‚Π°ΠΊΠΎ Π΄Π° Π±ΠΈ мој ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΌΠΎΠ³Π°ΠΎ Π΄Π° сС ΠΏΡ€Π΅ΠΏΠΈΡˆΠ΅ ΠΊΠ°ΠΎ ΡˆΡ‚ΠΎ јС ΠΏΡ€ΠΈΠΊΠ°Π·Π°Π½ΠΎ испод, ΡˆΡ‚ΠΎ Ρ€Π΅Π·ΡƒΠ»Ρ‚ΠΈΡ€Π° Π½ΠΎΡ€ΠΌΠ°Π»Π½ΠΈΠΌ ΠŸΠΈΡ‚Ρ…ΠΎΠ½ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΎΠΌ:

def fib(n: int) -> int:
    if n <= 1:
        return n
    else:
        return fib(n - 1) + fib(n - 2)

ΠœΠΎΡ€Π°ΠΎ сам Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ Π½Π΅ΠΊΠ΅ компромисС (ΠΏΡ€Π΅ свСга, ΠΆΠ΅Π»ΠΈΠΌ Π΄Π° Π½Π°ΠΏΠΎΠΌΠ΅Π½Π΅ΠΌ Π΄Π° сам измислио сопствСну синтаксу ΡƒΠΏΡ€Π°Π²ΠΎ ΠΈΠ· Ρ‚ΠΎΠ³ Ρ€Π°Π·Π»ΠΎΠ³Π°). ΠšΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ, ΠŸΠΈΡ‚Ρ…ΠΎΠ½ 3.3, најновија Π²Π΅Ρ€Π·ΠΈΡ˜Π° јСзика Ρƒ Ρ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅, нијС ΠΏΠΎΠ΄Ρ€ΠΆΠ°Π²Π°ΠΎ ΠΏΡ€ΠΎΠΌΠ΅Π½Ρ™ΠΈΠ²Π΅ Π½Π°ΠΏΠΎΠΌΠ΅Π½Π΅. Π Π°Π·Π³ΠΎΠ²Π°Ρ€Π°ΠΎ сам са Π“Π²ΠΈΠ΄ΠΎΠΌ ΠΏΡƒΡ‚Π΅ΠΌ Π΅-ΠΏΠΎΡˆΡ‚Π΅ ΠΎ Ρ€Π°Π·Π½ΠΈΠΌ могућностима синтаксичког дизајна Ρ‚Π°ΠΊΠ²ΠΈΡ… Π½Π°ΠΏΠΎΠΌΠ΅Π½Π°. ΠžΠ΄Π»ΡƒΡ‡ΠΈΠ»ΠΈ смо Π΄Π° користимо ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€Π΅ Ρ‚ΠΈΠΏΠ° Π·Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Ρ™ΠΈΠ²Π΅. Ово јС слуТило ΠΏΡ€Π΅Π΄Π²ΠΈΡ’Π΅Π½ΠΎΡ˜ сврси, Π°Π»ΠΈ јС Π±ΠΈΠ»ΠΎ ΠΏΠΎΠΌΠ°Π»ΠΎ Π³Π»ΠΎΠΌΠ°Π·Π½ΠΎ (ΠŸΠΈΡ‚Ρ…ΠΎΠ½ 3.6 Π½Π°ΠΌ јС Π΄Π°ΠΎ Π»Π΅ΠΏΡˆΡƒ синтаксу):

products = []  # type: List[str]  # Eww

ΠšΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈ Ρ‚ΠΈΠΏΠ° су Ρ‚Π°ΠΊΠΎΡ’Π΅ Π±ΠΈΠ»ΠΈ корисни Π΄Π° ΠΏΠΎΠ΄Ρ€ΠΆΠ΅ ΠŸΠΈΡ‚Ρ…ΠΎΠ½ 2, који Π½Π΅ΠΌΠ° ΡƒΠ³Ρ€Π°Ρ’Π΅Π½Ρƒ ΠΏΠΎΠ΄Ρ€ΡˆΠΊΡƒ Π·Π° Π½Π°ΠΏΠΎΠΌΠ΅Π½Π΅ ΠΎ Ρ‚ΠΈΠΏΡƒ:

f fib(n):
    # type: (int) -> int
    if n <= 1:
        return n
    else:
        return fib(n - 1) + fib(n - 2)

Π˜ΡΠΏΠΎΡΡ‚Π°Π²ΠΈΠ»ΠΎ сС Π΄Π° ΠΎΠ²ΠΈ (ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ) компромиси нису Π±ΠΈΠ»ΠΈ Π±ΠΈΡ‚Π½ΠΈ – прСдности статичког ΠΊΡƒΡ†Π°ΡšΠ° Π·Π½Π°Ρ‡ΠΈΠ»Π΅ су Π΄Π° су корисници ΡƒΠ±Ρ€Π·ΠΎ Π·Π°Π±ΠΎΡ€Π°Π²ΠΈΠ»ΠΈ Π½Π° мањС ΠΎΠ΄ ΡΠ°Π²Ρ€ΡˆΠ΅Π½Ρƒ синтаксу. ΠŸΠΎΡˆΡ‚ΠΎ нису ΠΊΠΎΡ€ΠΈΡˆΡ›Π΅Π½Π΅ посСбнС синтаксичкС ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ˜Π΅ Ρƒ ΠŸΠΈΡ‚Ρ…ΠΎΠ½ ΠΊΠΎΠ΄Ρƒ са ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΌ Ρ‚ΠΈΠΏΠ°, ΠΏΠΎΡΡ‚ΠΎΡ˜Π΅Ρ›ΠΈ ΠŸΠΈΡ‚Ρ…ΠΎΠ½ Π°Π»Π°Ρ‚ΠΈ ΠΈ процСси ΠΎΠ±Ρ€Π°Π΄Π΅ ΠΊΠΎΠ΄Π° наставили су Π΄Π° Ρ€Π°Π΄Π΅ Π½ΠΎΡ€ΠΌΠ°Π»Π½ΠΎ, ΡˆΡ‚ΠΎ јС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ олакшало Π΄Π° Π½Π°ΡƒΡ‡Π΅ Π½ΠΎΠ²ΠΈ Π°Π»Π°Ρ‚.

Π“Π²ΠΈΠ΄ΠΎ ΠΌΠ΅ јС Ρ‚Π°ΠΊΠΎΡ’Π΅ ΡƒΠ±Π΅Π΄ΠΈΠΎ Π΄Π° сС ΠΏΡ€ΠΈΠ΄Ρ€ΡƒΠΆΠΈΠΌ Π”Ρ€ΠΎΠΏΠ±ΠΎΠΊ-Ρƒ Π½Π°ΠΊΠΎΠ½ ΡˆΡ‚ΠΎ сам Π·Π°Π²Ρ€ΡˆΠΈΠΎ дипломски Ρ€Π°Π΄. ОвдС ΠΏΠΎΡ‡ΠΈΡšΠ΅ Π½Π°Ρ˜Π·Π°Π½ΠΈΠΌΡ™ΠΈΠ²ΠΈΡ˜ΠΈ Π΄Π΅ΠΎ ΠΏΡ€ΠΈΡ‡Π΅ ΠΎ ΠΌΠΈΠΏΠΈ.

НаставићС сС ...

Π”Ρ€Π°Π³ΠΈ Ρ‡ΠΈΡ‚Π°ΠΎΡ†ΠΈ! Ако користитС ΠŸΠΈΡ‚Ρ…ΠΎΠ½, Ρ€Π΅Ρ†ΠΈΡ‚Π΅ Π½Π°ΠΌ ΠΎ ΠΎΠ±ΠΈΠΌΡƒ ΠΏΡ€ΠΎΡ˜Π΅ΠΊΠ°Ρ‚Π° којС Ρ€Π°Π·Π²ΠΈΡ˜Π°Ρ‚Π΅ Π½Π° ΠΎΠ²ΠΎΠΌ Ρ˜Π΅Π·ΠΈΠΊΡƒ.

ΠŸΡƒΡ‚ Π΄ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅ Ρ‚ΠΈΠΏΠΎΠ²Π° 4 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° линија ΠŸΠΈΡ‚Ρ…ΠΎΠ½ ΠΊΠΎΠ΄Π°. Π”Π΅ΠΎ 1
ΠŸΡƒΡ‚ Π΄ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅ Ρ‚ΠΈΠΏΠΎΠ²Π° 4 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° линија ΠŸΠΈΡ‚Ρ…ΠΎΠ½ ΠΊΠΎΠ΄Π°. Π”Π΅ΠΎ 1

Π˜Π·Π²ΠΎΡ€: Π²Π²Π².Ρ…Π°Π±Ρ€.Ρ†ΠΎΠΌ

Π”ΠΎΠ΄Π°Ρ˜ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€