ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅

Π’Π°Π·ΠΈ статия Π΅ ΠΏΡ€Π΅Π²ΠΎΠ΄ Π½Π° сСминара Π² Π‘Ρ‚Π°Π½Ρ„ΠΎΡ€Π΄. Но ΠΏΡ€Π΅Π΄ΠΈ Ρ‚ΠΎΠ²Π° ΠΌΠ°Π»ΠΊΠΎ въвСдСниС. Как сС ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π°Ρ‚ Π·ΠΎΠΌΠ±ΠΈΡ‚Π°? ВсСки Π΅ ΠΈΠ·ΠΏΠ°Π΄Π°Π» Π² ситуация, Π² която иска Π΄Π° ΠΏΠΎΠ²Π΄ΠΈΠ³Π½Π΅ приятСл ΠΈΠ»ΠΈ ΠΊΠΎΠ»Π΅Π³Π° Π΄ΠΎ своСто Π½ΠΈΠ²ΠΎ, Π½ΠΎ Π½Π΅ успява. И Π² случая β€žΠ½Π΅ ΡƒΡΠΏΡΠ²Π°β€œ Π½Π΅ Π΅ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° Π·Π° Ρ‚Π΅Π±, ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ Π·Π° Π½Π΅Π³ΠΎ: ΠΎΡ‚ Π΅Π΄Π½Π°Ρ‚Π° страна имаш Π½ΠΎΡ€ΠΌΠ°Π»Π½Π° Π·Π°ΠΏΠ»Π°Ρ‚Π°, Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ Ρ‚.Π½., Π° ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°Ρ‚Π° β€” нСобходимостта Π΄Π° мислиш. ΠœΠΈΡΠ»Π΅Π½Π΅Ρ‚ΠΎ Π΅ нСприятно ΠΈ Π±ΠΎΠ»Π΅Π·Π½Π΅Π½ΠΎ. Π’ΠΎΠΉ Π±ΡŠΡ€Π·ΠΎ сС ΠΎΡ‚ΠΊΠ°Π·Π²Π° ΠΈ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π° Π΄Π° пишС ΠΊΠΎΠ΄, Π±Π΅Π· Π΄Π° Π²ΠΊΠ»ΡŽΡ‡Π²Π° мозъка си. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡΡˆ Π»ΠΈ си ΠΊΠΎΠ»ΠΊΠΎ ΠΌΠ½ΠΎΠ³ΠΎ усилия трябва Π΄Π° сС ΠΏΠΎΠ»ΠΎΠΆΠ°Ρ‚, Π·Π° Π΄Π° ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Π΅Ρˆ Π±Π°Ρ€ΠΈΠ΅Ρ€Π°Ρ‚Π° Π½Π° Π½Π°ΡƒΡ‡Π΅Π½Π°Ρ‚Π° бСзпомощност, ΠΈ просто Π½Π΅ Π³ΠΎ ΠΏΡ€Π°Π²ΠΈΡˆ. Π’Π°ΠΊΠ° сС ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π°Ρ‚ Π·ΠΎΠΌΠ±ΠΈΡ‚Π°, ΠΊΠΎΠΈΡ‚ΠΎ ΡƒΠΆ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΈΠ·Π»Π΅ΠΊΡƒΠ²Π°Π½ΠΈ, Π½ΠΎ сякаш Π½ΠΈΠΊΠΎΠΉ Π½Π΅ ΠΆΠ΅Π»Π°Π΅ Π΄Π° сС Π·Π°Π΅ΠΌΠ΅ с Ρ‚ΠΎΠ²Π°.

ΠšΠΎΠ³Π°Ρ‚ΠΎ видях, Ρ‡Π΅ ЛСсли Π›Π΅ΠΌΠΏΠ°Ρ€Ρ‚ (Π΄Π°-Π΄Π°, ΡΡŠΡ‰ΠΈΡΡ‚ Ρ‡ΠΎΠ²Π΅ΠΊ ΠΎΡ‚ ΡƒΡ‡Π΅Π±Π½ΠΈΡ†ΠΈΡ‚Π΅) ΠΏΡ€ΠΈΠ΅Π·ΠΆΠ΄Π° Π² Русия ΠΈ ΠΏΡ€Π°Π²ΠΈ Π½Π΅ лСкция, Π° сСсия с Π²ΡŠΠΏΡ€ΠΎΡΠΈ ΠΈ ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ΠΈ, ΠΌΠ°Π»ΠΊΠΎ сС настороТих. Π—Π° всСки случай, ЛСсли Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΎ извСстСн ΡƒΡ‡Π΅Π½, Π°Π²Ρ‚ΠΎΡ€ Π½Π° ΠΎΡΠ½ΠΎΠ²ΠΎΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‰ΠΈ Ρ‚Ρ€ΡƒΠ΄ΠΎΠ²Π΅ Π² Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡ‚Π΅ изчислСния, Π° Π²ΠΈΠ΅ ΡΡŠΡ‰ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π³ΠΎ ΠΏΠΎΠ·Π½Π°Π²Π°Ρ‚Π΅ ΠΏΠΎ Π±ΡƒΠΊΠ²ΠΈΡ‚Π΅ La Π² Π΄ΡƒΠΌΠ°Ρ‚Π° LaTeX β€” β€žLamport TeXβ€œ. Вторият притСснитСлСн Ρ„Π°ΠΊΡ‚ΠΎΡ€ Π΅ Π½Π΅Π³ΠΎΠ²ΠΎΡ‚ΠΎ изискванС: всСки, ΠΊΠΎΠΉΡ‚ΠΎ Π΄ΠΎΠΉΠ΄Π΅, трябва (Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ Π±Π΅Π·ΠΏΠ»Π°Ρ‚Π½ΠΎ) ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ Π΄Π° ΠΈΠ·ΡΠ»ΡƒΡˆΠ° няколко Π½Π΅Π³ΠΎΠ²ΠΈ Π»Π΅ΠΊΡ†ΠΈΠΈ, Π΄Π° измисли ΠΏΠΎΠ½Π΅ Π΅Π΄ΠΈΠ½ Π²ΡŠΠΏΡ€ΠΎΡ ΠΈ Π΅Π΄Π²Π° Ρ‚ΠΎΠ³Π°Π²Π° Π΄Π° ΠΈΠ΄Π²Π°. Π Π΅ΡˆΠΈΡ… Π΄Π° видя ΠΊΠ°ΠΊΠ²ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎ проповядва Π›Π΅ΠΌΠΏΠΎΡ€Ρ‚ β€” ΠΈ Ρ‚ΠΎΠ²Π° Π΅ прСкрасно! Π’ΠΎΠ²Π° Π΅ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΎΠ½Π°Π·ΠΈ Π½Π΅Ρ‰ΠΎ, магичСската Π²Ρ€ΡŠΠ·ΠΊΠ°-Ρ‚Π°Π±Π»Π΅Ρ‚ΠΊΠ° Π·Π° Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π½Π° Π·ΠΎΠΌΠ±ΠΈΡ‚Π°. ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°Π²Π°ΠΌ: Ρ‚Π΅ΠΊΡΡ‚ΡŠΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡ€Π΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ° силно Ρ€Π°Π·Π΄Ρ€Π°Π·Π½Π΅Π½ΠΈΠ΅ Ρƒ Π»ΡŽΠ±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ Π½Π° супСр-Π³ΡŠΠ²ΠΊΠ°Π²ΠΈΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈ Ρƒ ΠΎΠ½Π΅Π·ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ ΠΎΠ±ΠΈΡ‡Π°Ρ‚ Π΄Π° тСстват написаното.

Π‘Π»Π΅Π΄ Ρ…Π°Π±Ρ€ΠΎΠΊΠ°Ρ‚Π°, Π²ΡΡŠΡ‰Π½ΠΎΡΡ‚, Π·Π°ΠΏΠΎΡ‡Π²Π° ΠΏΡ€Π΅Π²ΠΎΠ΄ΡŠΡ‚ Π½Π° сСминара. ΠŸΡ€ΠΈΡΡ‚Π½ΠΎ Ρ‡Π΅Ρ‚Π΅Π½Π΅!

ΠšΠ°ΠΊΠ²ΠΎΡ‚ΠΎ ΠΈ Π·Π°Π΄Π°Π½ΠΈΠ΅ Π΄Π° си поставитС, Π²ΠΈΠ½Π°Π³ΠΈ трябва Π΄Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅Ρ‚Π΅ ΠΏΡ€Π΅Π· Ρ‚Ρ€ΠΈ ΡΡ‚ΡŠΠΏΠΊΠΈ:

  • Π΄Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ ΠΊΠ°ΠΊΠ²Π° Ρ†Π΅Π» искатС Π΄Π° постигнСтС;
  • Π΄Π° Ρ€Π΅ΡˆΠΈΡ‚Π΅ ΠΊΠ°ΠΊ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‰Π΅ постигнСтС Ρ†Π΅Π»Ρ‚Π° си;
  • Π΄Π° стигнСтС Π΄ΠΎ Ρ†Π΅Π»Ρ‚Π° си.

Π’ΠΎΠ²Π° Π²Π°ΠΆΠΈ ΠΈ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ. ΠšΠΎΠ³Π°Ρ‚ΠΎ пишСм ΠΊΠΎΠ΄, трябва Π΄Π°:

  • ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ ΠΊΠ°ΠΊΠ²ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎ трябва Π΄Π° ΠΏΡ€Π°Π²ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π°;
  • Π΄Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ ΠΊΠ°ΠΊ Ρ‚ΠΎΡ‡Π½ΠΎ трябва Π΄Π° изпълнява Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π° си;
  • Π΄Π° напишСм ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΈΡ ΠΊΠΎΠ΄.

ΠŸΠΎΡΠ»Π΅Π΄Π½ΠΈΡΡ‚ Π΅Ρ‚Π°ΠΏ, Ρ€Π°Π·Π±ΠΈΡ€Π° сС, Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π°ΠΆΠ΅Π½, Π½ΠΎ Π·Π° Π½Π΅Π³ΠΎ няма Π΄Π° говоря днСс. ВмСсто Ρ‚ΠΎΠ²Π° Ρ‰Π΅ обсъдим ΠΏΡŠΡ€Π²ΠΈΡ‚Π΅ Π΄Π²Π°. Π’Π΅ сС ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ ΠΎΡ‚ всСки програмист ΠΏΡ€Π΅Π΄ΠΈ Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°. НС сядатС Π΄Π° ΠΏΠΈΡˆΠ΅Ρ‚Π΅, Π°ΠΊΠΎ Π½Π΅ стС Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠ²ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΏΠΈΡˆΠ΅Ρ‚Π΅: Π±Ρ€Π°ΡƒΠ·ΡŠΡ€ ΠΈΠ»ΠΈ Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ прСдставлСниС Π·Π° Ρ†Π΅Π»Ρ‚Π° трябва Π΄Π° ΠΏΡ€ΠΈΡΡŠΡΡ‚Π²Π°. И Π·Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΎ обмислятС ΠΊΠ°ΠΊΠ²ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° Ρ‰Π΅ ΠΏΡ€Π°Π²ΠΈ, Π° Π½Π΅ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Π±Π΅Π·Ρ†Π΅Π»Π½ΠΎ Π² Π½Π°Π΄Π΅ΠΆΠ΄Π°Ρ‚Π°, Ρ‡Π΅ ΠΊΠΎΠ΄ΡŠΡ‚ сам Ρ‰Π΅ сС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π° Π² Π±Ρ€Π°ΡƒΠ·ΡŠΡ€.

Как Ρ‚ΠΎΡ‡Π½ΠΎ ΠΏΡ€ΠΎΡ‚ΠΈΡ‡Π° Ρ‚ΠΎΠ²Π° ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ обмислянС Π½Π° ΠΊΠΎΠ΄Π°? Колко усилия трябва Π΄Π° Π²Π»ΠΎΠΆΠΈΠΌ Π² Π½Π΅Π³ΠΎ? Всичко зависи ΠΎΡ‚ Ρ‚ΠΎΠ²Π° ΠΊΠΎΠ»ΠΊΠΎ слоТСн ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Ρ€Π΅ΡˆΠ°Π²Π°ΠΌΠ΅. Π”Π° ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Π΅ искамС Π΄Π° напишСм отказоустойчива Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° систСма. Π’ Ρ‚ΠΎΠ·ΠΈ случай трябва Π΄ΠΎΠ±Ρ€Π΅ Π΄Π° обмислим всичко, ΠΏΡ€Π΅Π΄ΠΈ Π΄Π° сСднСм ΠΏΡ€Π΅Π΄ ΠΊΠΎΠ΄Π°. А Π°ΠΊΠΎ просто трябва Π΄Π° ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠΌ цСлочислСна ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° с 1? На ΠΏΡ€ΡŠΠ² ΠΏΠΎΠ³Π»Π΅Π΄, всичко ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»Π½ΠΎ ΠΈ Π½Π΅ са Π½ΡƒΠΆΠ½ΠΈ разисквания, Π½ΠΎ послС сС сСщамС, Ρ‡Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π°ΡΡ‚ΡŠΠΏΠΈ ΠΏΡ€Π΅ΠΏΡŠΠ»Π²Π°Π½Π΅. Π—Π°Ρ‚ΠΎΠ²Π°, Π΄ΠΎΡ€ΠΈ Π·Π° Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ, Π΄Π°Π»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ Π΅ прост ΠΈΠ»ΠΈ слоТСн β€” ΠΏΡŠΡ€Π²ΠΎ трябва Π΄Π° помислим.

Ако ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ обмислитС Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΈΡ‚Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·Π±Π΅Π³Π½Π΅Ρ‚Π΅ Π³Ρ€Π΅ΡˆΠΊΠΈ. Но Π·Π° Ρ‚ΠΎΠ²Π° Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΠΈΠΌΠ°Ρ‚Π΅ ясСн ΡƒΠΌ. Π—Π° Π΄Π° постигнСтС Ρ‚ΠΎΠ²Π°, трябва Π΄Π° записватС мислитС си. Много харСсвам Ρ†ΠΈΡ‚Π°Ρ‚Π° Π½Π° Π”ΠΈΠΊ Π“ΠΈΠ½Π΄ΡŠΠ½: Β«ΠšΠΎΠ³Π°Ρ‚ΠΎ ΠΏΠΈΡˆΠ΅Ρ‚Π΅, ΠΏΡ€ΠΈΡ€ΠΎΠ΄Π°Ρ‚Π° Π²ΠΈ ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΊΠΎΠ»ΠΊΠΎ Π½Π΅Π±Ρ€Π΅ΠΆΠ½ΠΎ мислитС». Ако Π½Π΅ ΠΏΠΈΡˆΠ΅Ρ‚Π΅, само Π²ΠΈ сС струва, Ρ‡Π΅ мислитС. А записванСто Π½Π° мислитС трябва Π΄Π° става ΠΏΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π½Π° спСцификации.

Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈΡ‚Π΅ ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ мноТСство Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, особСно Π² Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ. Но Ρ‰Π΅ говоря само Π·Π° Π΅Π΄Π½Π° ΠΎΡ‚ тях: Ρ‚Π΅ Π½ΠΈ ΠΏΠΎΠΌΠ°Π³Π°Ρ‚ Π΄Π° мислим ясно. Ясното мислСнС Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π°ΠΆΠ½ΠΎ ΠΈ доста Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ, Π·Π°Ρ‚ΠΎΠ²Π° Ρ‚ΡƒΠΊ Π½ΠΈ Π΅ Π½ΡƒΠΆΠ½ΠΎ всяко ΠΏΠΎΠΌΠΎΡ‰Π½ΠΎ срСдство. На какъв Π΅Π·ΠΈΠΊ трябва Π΄Π° пишСм спСцификациитС? Π’ΠΎΠ²Π° Π²ΡΡŠΡ‰Π½ΠΎΡΡ‚ Π²ΠΈΠ½Π°Π³ΠΈ Π΅ ΠΏΡŠΡ€Π²ΠΈΡΡ‚ Π²ΡŠΠΏΡ€ΠΎΡ Π·Π° програмиститС: Π½Π° какъв Π΅Π·ΠΈΠΊ Ρ‰Π΅ пишСм. Няма СдинствСно ΠΏΡ€Π°Π²ΠΈΠ»Π΅Π½ ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ Π½Π° Π½Π΅Π³ΠΎ: ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ Ρ€Π΅ΡˆΠ°Π²Π°ΠΌΠ΅, са Ρ‚Π²ΡŠΡ€Π΄Π΅ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½ΠΈ. Π—Π° някои Π΅ ΠΏΠΎΠ»Π΅Π·Π΅Π½ TLA+ β€” Π΅Π·ΠΈΠΊ Π·Π° спСцификации, ΠΊΠΎΠΉΡ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΈΡ…. Π—Π° Π΄Ρ€ΡƒΠ³ΠΈ Π΅ ΠΏΠΎ-ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π΄Π° ΠΏΠΎΠ»Π·Π²Π°Ρ‚ китайски. Всичко зависи ΠΎΡ‚ ситуацията.

По-Π²Π°ΠΆΠ½ΠΎΠΌΡƒ, слСдващият Π²ΡŠΠΏΡ€ΠΎΡ Π΅: ΠΊΠ°ΠΊ Π΄Π° постигнСм ΠΏΠΎ-ясно мислСнС? ΠžΡ‚Π³ΠΎΠ²ΠΎΡ€ΡŠΡ‚ Π΅: трябва Π΄Π° мислим ΠΊΠ°Ρ‚ΠΎ ΡƒΡ‡Π΅Π½ΠΈ. Π’ΠΎΠ²Π° Π΅ Π½Π°Ρ‡ΠΈΠ½ Π½Π° мислСнС, ΠΊΠΎΠΉΡ‚ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ сС Π΅ ΡƒΡ‚Π²ΡŠΡ€Π΄ΠΈΠ» ΠΏΡ€Π΅Π· послСднитС 500 Π³ΠΎΠ΄ΠΈΠ½ΠΈ. Π’ Π½Π°ΡƒΠΊΠ°Ρ‚Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°ΠΌΠ΅ матСматичСски ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° рСалността. Астрономията вСроятно Π΅ Π±ΠΈΠ»Π° ΠΏΡŠΡ€Π²Π°Ρ‚Π° Π½Π°ΡƒΠΊΠ° Π² строгия смисъл Π½Π° Π΄ΡƒΠΌΠ°Ρ‚Π°. Π’ матСматичСския ΠΌΠΎΠ΄Π΅Π», ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½ Π² астрономията, нСбСснитС Ρ‚Π΅Π»Π° сС прСдставят ΠΊΠ°Ρ‚ΠΎ Ρ‚ΠΎΡ‡ΠΊΠΈ с маса, ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ импулс, Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ Π² дСйствитСлност Ρ‚Π΅ са ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ слоТни ΠΎΠ±Π΅ΠΊΡ‚ΠΈ с ΠΏΠ»Π°Π½ΠΈΠ½ΠΈ ΠΈ ΠΎΠΊΠ΅Π°Π½ΠΈ, ΠΏΡ€ΠΈΠ»ΠΈΠ²ΠΈ ΠΈ ΠΎΡ‚Π»ΠΈΠ²ΠΈ. Π’ΠΎΠ·ΠΈ ΠΌΠΎΠ΄Π΅Π», ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ всСки Π΄Ρ€ΡƒΠ³, Π΅ създадСн Π΄Π° Ρ€Π΅ΡˆΠ°Π²Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ. Π’ΠΎΠΉ Π΅ ΠΏΠΎΠ»Π΅Π·Π΅Π½ Π·Π° опрСдСлянС Π½Π° посоката, Π² която трябва Π΄Π° сС насочи тСлСскопа, Π°ΠΊΠΎ трябва Π΄Π° сС Π½Π°ΠΌΠ΅Ρ€ΠΈ ΠΏΠ»Π°Π½Π΅Ρ‚Π°. Но Π°ΠΊΠΎ искатС Π΄Π° прСдскаТСтС Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π½Π° Ρ‚Π°Π·ΠΈ ΠΏΠ»Π°Π½Π΅Ρ‚Π°, Ρ‚ΠΎΠ·ΠΈ ΠΌΠΎΠ΄Π΅Π» Π½Π΅ Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΠΌ.

ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°Ρ‚Π° Π½ΠΈ позволява Π΄Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ свойствата Π½Π° ΠΌΠΎΠ΄Π΅Π»Π°. А Π½Π°ΡƒΠΊΠ°Ρ‚Π° ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΊΠ°ΠΊ Ρ‚Π΅Π·ΠΈ свойства корСспондират с рСалността. НСка ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π·Π° Π½Π°ΡˆΠ°Ρ‚Π° Π½Π°ΡƒΠΊΠ°, ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€Π½ΠΈΡ‚Π΅ Π½Π°ΡƒΠΊΠΈ. РСалността, с която Ρ€Π°Π±ΠΎΡ‚ΠΈΠΌ, Π΅ изчислитСлни систСми ΠΎΡ‚ Π½Π°ΠΉ-Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π²ΠΈΠ΄ΠΎΠ²Π΅: процСсори, ΠΈΠ³Ρ€ΠΎΠ²ΠΈ ΠΊΠΎΠ½Π·ΠΎΠ»ΠΈ, ΠΊΠΎΠΌΠΏΡŽΡ‚Ρ€ΠΈ, ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‰ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ ΠΈ Ρ‚Π°ΠΊΠ° Π½Π°Ρ‚Π°Ρ‚ΡŠΠΊ. Π©Π΅ говоря Π·Π° ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° Π½Π° ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€, Π½ΠΎ Π²ΡΡŠΡ‰Π½ΠΎΡΡ‚ всичкитС Ρ‚Π΅Π·ΠΈ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ са ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΠΌΠΈ Π·Π° всяка изчислитСлна систСма. Π’ Π½Π°ΡˆΠ°Ρ‚Π° Π½Π°ΡƒΠΊΠ° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ мноТСство Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ: машина Π½Π° Π’ΡŽΡ€ΠΈΠ½Π³, частично ΠΏΠΎΠ΄Ρ€Π΅Π΄Π΅Π½ΠΈ мноТСства ΠΎΡ‚ ΡΡŠΠ±ΠΈΡ‚ΠΈΡ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ.

Какво Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°? Π’ΠΎΠ²Π° Π΅ всСки ΠΊΠΎΠ΄, ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Ρ€Π°Π·Π³Π»Π΅ΠΆΠ΄Π°Π½ самостоятСлно. Π”Π° ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Π΅ трябва Π΄Π° напишСм Π±Ρ€Π°ΡƒΠ·ΡŠΡ€. ИзпълнявамС Ρ‚Ρ€ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ: ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€Π°ΠΌΠ΅ прСдставянСто Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° Π·Π° потрСбитСля, слСд Ρ‚ΠΎΠ²Π° пишСм високонаивСн ΠΏΠ»Π°Π½ Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° ΠΈ накрая пишСм ΠΊΠΎΠ΄Π°. Π”ΠΎΠΊΠ°Ρ‚ΠΎ пишСм ΠΊΠΎΠ΄Π°, осъзнавамС, Ρ‡Π΅ трябва Π΄Π° напишСм срСдство Π·Π° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€Π°Π½Π΅ Π½Π° тСкст. Π’ΡƒΠΊ ΠΎΡ‚Π½ΠΎΠ²ΠΎ трябва Π΄Π° Ρ€Π΅ΡˆΠΈΠΌ Ρ‚Ρ€ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ: Π΄Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ какъв тСкст Ρ‚ΠΎΠ²Π° срСдство Ρ‰Π΅ Π²Ρ€ΡŠΡ‰Π°; Π΄Π° ΠΈΠ·Π±Π΅Ρ€Π΅ΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ Π·Π° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€Π°Π½Π΅; Π΄Π° напишСм ΠΊΠΎΠ΄Π°. Π’Π°Π·ΠΈ Π·Π°Π΄Π°Ρ‡Π° ΠΈΠΌΠ° своя ΠΏΠΎΠ΄Π·Π°Π΄Π°Ρ‡Π°: ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ Π΄Π° вмъквамС дСфис Π² Π΄ΡƒΠΌΠΈΡ‚Π΅. Π’Π°Π·ΠΈ ΠΏΠΎΠ΄Π·Π°Π΄Π°Ρ‡Π° Ρ€Π΅ΡˆΠ°Π²Π°ΠΌΠ΅ ΡΡŠΡ‰ΠΎ Π² Ρ‚Ρ€ΠΈ ΡΡ‚ΡŠΠΏΠΊΠΈ β€” ΠΊΠ°ΠΊ Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅, Ρ‚Π΅ сС повтарят Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ Π½ΠΈΠ²Π°.

НСка Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΏΠΎ-ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΏΡŠΡ€Π²Π°Ρ‚Π° ΡΡ‚ΡŠΠΏΠΊΠ°: ΠΊΠ°ΠΊΠ²Π° Π·Π°Π΄Π°Ρ‡Π° Ρ€Π΅ΡˆΠ°Π²Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π°. Π’ΡƒΠΊ Π½ΠΈΠ΅ Π½Π°ΠΉ-чСсто ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€Π°ΠΌΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° ΠΊΠ°Ρ‚ΠΎ функция, която ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π° някои входящи Π΄Π°Π½Π½ΠΈ ΠΈ Π΄Π°Π²Π° някои ΠΈΠ·Ρ…ΠΎΠ΄Π½ΠΈ Π΄Π°Π½Π½ΠΈ. Π’ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°Ρ‚Π° функцията ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ сС описва ΠΊΠ°Ρ‚ΠΎ Π½Π°Ρ€Π΅Π΄Π΅Π½Π° сборка ΠΎΡ‚ Π΄Π²ΠΎΠΉΠΊΠΈ. НапримСр, функцията Π½Π° Π²ΠΎΠ·Π²ΠΎΠ΄Π΅Π½Π΅ Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ Π·Π° Π½Π°Ρ‚ΡƒΡ€Π°Π»Π½ΠΈΡ‚Π΅ числа сС описва ΠΊΠ°Ρ‚ΠΎ ΡΡŠΠ²ΠΊΡƒΠΏΠ½ΠΎΡΡ‚ {, , , , …}. ΠžΠ±Π»Π°ΡΡ‚Ρ‚Π° Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° Ρ‚Π°ΠΊΠ°Π²Π° функция β€” ΡΡŠΠ²ΠΊΡƒΠΏΠ½ΠΎΡΡ‚Ρ‚Π° ΠΎΡ‚ ΠΏΡŠΡ€Π²ΠΈΡ‚Π΅ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ Π½Π° всяка Π΄Π²ΠΎΠΉΠΊΠ°, Ρ‚.Π΅. Π½Π°Ρ‚ΡƒΡ€Π°Π»Π½ΠΈΡ‚Π΅ числа. Π—Π° Π΄Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ функция, трябва Π΄Π° посочим Π½Π΅ΠΉΠ½Π°Ρ‚Π° област Π½Π° дСфиниция ΠΈ Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈ.

Но Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ Π² ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°Ρ‚Π° Π½Π΅ са ΡΡŠΡ‰ΠΈΡ‚Π΅ ΠΊΠ°Ρ‚ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ Π² Π΅Π·ΠΈΡ†ΠΈΡ‚Π΅ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅. ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°Ρ‚Π° Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΠΎ-проста. ПонСТС нямам Π²Ρ€Π΅ΠΌΠ΅ Π·Π° слоТни ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ, Π½Π΅ΠΊΠ° Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ прост: функция Π² C ΠΈΠ»ΠΈ статичСн ΠΌΠ΅Ρ‚ΠΎΠ΄ Π² Java, ΠΊΠΎΠΉΡ‚ΠΎ Π²Ρ€ΡŠΡ‰Π° Π½Π°ΠΉ-голямия ΠΎΠ±Ρ‰ Π΄Π΅Π»ΠΈΡ‚Π΅Π» Π½Π° Π΄Π²Π΅ Ρ†Π΅Π»ΠΈ числа. Π’ спСцификацията Π½Π° Ρ‚ΠΎΠ·ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ‰Π΅ напишСм: изчислява GCD(M,N) Π·Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ‚Π΅ M ΠΈ N, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ GCD(M,N) β€” функция, чиято област Π½Π° дСфиниция Π΅ ΡΡŠΠ²ΠΊΡƒΠΏΠ½ΠΎΡΡ‚Ρ‚Π° ΠΎΡ‚ Π΄Π²ΠΎΠΉΠΊΠΈ Ρ†Π΅Π»ΠΈ числа, Π° Π²ΡŠΡ€Π½Π°Ρ‚Π°Ρ‚Π° стойност Π΅ Π½Π°ΠΉ-голямото цяло число, Π½Π° ΠΊΠΎΠ΅Ρ‚ΠΎ сС Π΄Π΅Π»ΠΈ M ΠΈ N. Как Ρ‚Π°Π·ΠΈ ΠΌΠΎΠ΄Π΅Π»Π½Π° систСма ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π° Π½Π° дСйствитСлността? ΠœΠΎΠ΄Π΅Π»ΡŠΡ‚ ΠΎΠΏΠ΅Ρ€ΠΈΡ€Π° с Ρ†Π΅Π»ΠΈ числа, Π° Π² C ΠΈΠ»ΠΈ Java ΠΈΠΌΠ°ΠΌΠ΅ 32-Π±ΠΈΡ‚ΠΎΠ² int. Π’ΠΎΠ·ΠΈ ΠΌΠΎΠ΄Π΅Π» Π½ΠΈ позволява Π΄Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ Π΄Π°Π»ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΡŠΡ‚ Π΅ ΠΊΠΎΡ€Π΅ΠΊΡ‚Π΅Π½ GCD, Π½ΠΎ Ρ‚ΠΎΠΉ Π½Π΅ прСдотвратява Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΏΡ€ΠΈ ΠΏΡ€Π΅ΠΏΡŠΠ»Π²Π°Π½Π΅. Π—Π° Ρ‚ΠΎΠ²Π° Π±ΠΈ Π±ΠΈΠ»Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° ΠΏΠΎ-слоТна ΠΌΠΎΠ΄Π΅Π»Π½Π° систСма, Π·Π° която нямамС Π²Ρ€Π΅ΠΌΠ΅.

НСка ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π·Π° ограничСнията Π½Π° функцията ΠΊΠ°Ρ‚ΠΎ ΠΌΠΎΠ΄Π΅Π». Π Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° някои ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ систСми) Π½Π΅ сС свСТда Π΄ΠΎ Ρ‚ΠΎΠ²Π° Π΄Π° Π²ΡŠΡ€Π½Π°Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° стойност Π·Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΈ, Ρ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° работят Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚ΠΎ. ОсвСн Ρ‚ΠΎΠ²Π°, функцията ΠΊΠ°Ρ‚ΠΎ ΠΌΠΎΠ΄Π΅Π» Π½Π΅ Π΅ особСно подходяща Π·Π° Π²Ρ‚ΠΎΡ€Π°Ρ‚Π° ΡΡ‚ΡŠΠΏΠΊΠ°: ΠΏΠ»Π°Π½ΠΈΡ€Π°Π½Π΅ Π½Π° Π½Π°Ρ‡ΠΈΠ½Π° Π·Π° Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅ Π½Π° Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π°. Π‘ΡŠΡ€Π·Π°Ρ‚Π° сортиранС ΠΈ сортиранСто с ΠΌΠ΅Ρ…ΡƒΡ€Ρ‡Π΅Ρ‚Π° изчисляват Π΅Π΄Π½Π° ΠΈ ΡΡŠΡ‰Π° функция, Π½ΠΎ Ρ‚ΠΎΠ²Π° са съвсСм Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈ. Π—Π°Ρ‚ΠΎΠ²Π°, Π·Π° Π΄Π° опиша Π½Π°Ρ‡ΠΈΠ½Π° Π·Π° постиганС Π½Π° Ρ†Π΅Π»Ρ‚Π° Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π°, Π°Π· ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ Π΄Ρ€ΡƒΠ³ ΠΌΠΎΠ΄Π΅Π», ΠΊΠΎΠΉΡ‚ΠΎ Ρ‰Π΅ Π½Π°Ρ€Π΅Ρ‡Π΅ΠΌ стандартСн повСдСнчСски ΠΌΠΎΠ΄Π΅Π». ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° Π² Π½Π΅Π³ΠΎ Π΅ прСдставСна ΠΊΠ°Ρ‚ΠΎ ΡΡŠΠ²ΠΊΡƒΠΏΠ½ΠΎΡΡ‚ ΠΎΡ‚ всички допустими повСдСния, всяко ΠΎΡ‚ ΠΊΠΎΠΈΡ‚ΠΎ Π΅ послСдоватСлност ΠΎΡ‚ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΡ, Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π΅ присвояванС Π½Π° стойности Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ.

НСка Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊ Ρ‰Π΅ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° вторият Π΅Ρ‚Π°ΠΏ Π·Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΠ° Π½Π° Π•Π²ΠΊΠ»ΠΈΠ΄. Врябва Π΄Π° изчислим GCD(M, N). Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅ M ΠΊΠ°Ρ‚ΠΎ x, Π° N ΠΊΠ°Ρ‚ΠΎ y, слСд ΠΊΠΎΠ΅Ρ‚ΠΎ повтарямС ΠΈΠ·Π²Π°ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠ°Ρ‚Π° ΠΎΡ‚ Ρ‚Π΅Π·ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ ΠΎΡ‚ ΠΏΠΎ-голямата, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ Π½Π΅ станат Ρ€Π°Π²Π½ΠΈ. НапримСр, Π°ΠΊΠΎ M = 12, Π° N = 18, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° опишСм слСдното ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅:

[x = 12, y = 18] β†’ [x = 12, y = 6] β†’ [x = 6, y = 6]

А Π°ΠΊΠΎ M = 0 ΠΈ N = 0? Ноль дСлится Π½Π° всС числа, поэтому наибольшСго дСлитСля Π² этом случаС Π½Π΅Ρ‚. Π’ этой ситуации Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ ΡˆΠ°Π³Ρƒ ΠΈ ΡΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ: Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π»ΠΈ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ ΠΠžΠ” для Π½Π΅ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… чисСл? Если Π² этом Π½Π΅Ρ‚ нСобходимости, Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ просто ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ.

Π’ΡƒΠΊ трябва Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ ΠΌΠ°Π»ΠΊΠΎ ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ относно производитСлността. ЧСсто я ΠΈΠ·ΠΌΠ΅Ρ€Π²Π°Ρ‚ Π² броя Π½Π° Ρ€Π΅Π΄ΠΎΠ²Π΅Ρ‚Π΅ ΠΊΠΎΠ΄, написани Π½Π° Π΄Π΅Π½. Но Π²Π°ΡˆΠ°Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Π° Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Π°, Π°ΠΊΠΎ стС сС ΠΈΠ·Π±Π°Π²ΠΈΠ»ΠΈ ΠΎΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Π±Ρ€ΠΎΠΉ Ρ€Π΅Π΄ΠΎΠ²Π΅, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Ρ‚ΠΎΠ²Π° намалява пространството Π·Π° бъговС. И избавянСто ΠΎΡ‚ ΠΊΠΎΠ΄ Π΅ Π½Π°ΠΉ-лСсно ΠΈΠΌΠ΅Π½Π½ΠΎ Π² ΠΏΡŠΡ€Π²ΠΈΡ Π΅Ρ‚Π°ΠΏ. Π’ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅ просто Π΄Π° Π½Π΅ Π²ΠΈ трябват всички Ρ‚Π΅Π·ΠΈ слоТни Π½Π΅Ρ‰Π°, ΠΊΠΎΠΈΡ‚ΠΎ сС ΠΎΠΏΠΈΡ‚Π²Π°Ρ‚Π΅ Π΄Π° Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅. Най-Π±ΡŠΡ€Π·ΠΈΡΡ‚ Π½Π°Ρ‡ΠΈΠ½ Π΄Π° опроститС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° ΠΈ Π΄Π° спСститС Π²Ρ€Π΅ΠΌΠ΅ Π΅ Π΄Π° Π½Π΅ ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Π½Π΅Ρ‰Π°, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ трябва Π΄Π° ΠΏΡ€Π°Π²ΠΈΡ‚Π΅. Вторият Π΅Ρ‚Π°ΠΏ Π΅ Π½Π° Π²Ρ‚ΠΎΡ€ΠΎ място ΠΏΠΎ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π» Π·Π° спСстяванС Π½Π° Π²Ρ€Π΅ΠΌΠ΅. Ако ΠΈΠ·ΠΌΠ΅Ρ€Π²Π°Ρ‚Π΅ производитСлността Π² количСство написани Ρ€Π΅Π΄ΠΎΠ²Π΅, размислянСто Π·Π° Π½Π°Ρ‡ΠΈΠ½Π° Π½Π° изпълнСниС Π½Π° Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π° Ρ‰Π΅ Π²ΠΈ Π½Π°ΠΏΡ€Π°Π²ΠΈ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½ΠΈ, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Ρ‰Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Ρ€Π΅ΡˆΠΈΡ‚Π΅ ΡΡŠΡ‰Π°Ρ‚Π° Π·Π°Π΄Π°Ρ‡Π° с ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ количСство ΠΊΠΎΠ΄. НС ΠΌΠΎΠ³Π° Π΄Π° прСдоставя Ρ‚ΠΎΡ‡Π½Π° статистика Ρ‚ΡƒΠΊ, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ нямам Π½Π°Ρ‡ΠΈΠ½ Π΄Π° прСброя ΠΎΠ½Π΅Π·ΠΈ Ρ€Π΅Π΄ΠΎΠ²Π΅, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ написах, Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ, инвСстирано Π² спСцификацията, Ρ‚.Π΅. Π² ΠΏΡŠΡ€Π²ΠΈΡ ΠΈ втория Π΅Ρ‚Π°ΠΏ. И Ρ‚ΡƒΠΊ няма ΠΊΠ°ΠΊ Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅ΠΌ СкспСримСнт, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π² СкспСримСнта нямамС ΠΏΡ€Π°Π²ΠΎ Π΄Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠΈΠΌ ΠΏΡŠΡ€Π²ΠΈΡ Π΅Ρ‚Π°ΠΏ, Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π° Π΅ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ Π·Π°Π΄Π°Π΄Π΅Π½Π°.

Π’ Π½Π΅Ρ„ΠΎΡ€ΠΌΠ°Π»Π½ΠΈΡ‚Π΅ спСцификации Π΅ лСсно Π΄Π° Π½Π΅ сС Π²Π·Π΅ΠΌΠ°Ρ‚ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ ΠΌΠ½ΠΎΠ³ΠΎ трудности. Няма Π½ΠΈΡ‰ΠΎ слоТно Π² написванСто Π½Π° строги спСцификации Π·Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‚ΠΎΠ²Π° няма Π΄Π° обсъТдам. ВмСсто Ρ‚ΠΎΠ²Π° Ρ‰Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π·Π° написванСто Π½Π° строги спСцификации Π·Π° стандартни повСдСнчСски ΠΌΠΎΠ΄Π΅Π»ΠΈ. Π‘ΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π° Ρ‚Π΅ΠΎΡ€Π΅ΠΌΠ°, която гласи, Ρ‡Π΅ всяко мноТСство повСдСния ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС описано с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° свойствата Π½Π° бСзопасност (safety) ΠΈ свойствата Π½Π° ТивучСст (liveness). Бигурността ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ Π½ΠΈΡ‰ΠΎ лошо няма Π΄Π° сС случи, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° няма Π΄Π° Π΄Π°Π΄Π΅ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»Π΅Π½ ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€. Устойчивостта ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ Ρ€Π°Π½ΠΎ ΠΈΠ»ΠΈ късно Ρ‰Π΅ сС случи Π½Π΅Ρ‰ΠΎ Π΄ΠΎΠ±Ρ€ΠΎ, Ρ‚.Π΅. ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° Ρ€Π°Π½ΠΎ ΠΈΠ»ΠΈ късно Ρ‰Π΅ Π΄Π°Π΄Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π΅Π½ ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€. ОбикновСно, сигурността Π΅ ΠΏΠΎ-Π²Π°ΠΆΠ΅Π½ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π», Π³Ρ€Π΅ΡˆΠΊΠΈΡ‚Π΅ чСсто Π²ΡŠΠ·Π½ΠΈΠΊΠ²Π°Ρ‚ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚ΡƒΠΊ. Π—Π°Ρ‚ΠΎΠ²Π°, Π·Π° Π΄Π° спСстя Π²Ρ€Π΅ΠΌΠ΅, няма Π΄Π° говоря Π·Π° устойчивостта, Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ тя ΡΡŠΡ‰ΠΎ Π΅ Π²Π°ΠΆΠ½Π°.

НиС постигамС сигурност, ΠΊΠ°Ρ‚ΠΎ описвамС, ΠΎΡ‚ Π΅Π΄Π½Π° страна, мноТСство възмоТни Π½Π°Ρ‡Π°Π»Π½ΠΈ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΡ. ΠžΡ‚ Π΄Ρ€ΡƒΠ³Π° страна, ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡΡ‚Π° със всички възмоТни слСдващи ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΡ Π·Π° всяко ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅. НСка сС Π΄ΡŠΡ€ΠΆΠΈΠΌ ΠΊΠ°Ρ‚ΠΎ ΡƒΡ‡Π΅Π½ΠΈ ΠΈ Π΄Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΡΡ‚Π° матСматичСски. ΠΠ°Π±ΠΎΡ€ΡŠΡ‚ ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π½ΠΈ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΡ сС описва с Ρ„ΠΎΡ€ΠΌΡƒΠ»Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² случая Π½Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΠ° Π½Π° Π•Π²ΠΊΠ»ΠΈΠ΄: (x = M) ∧ (y = N). Π—Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ стойности M ΠΈ N ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π° само Π΅Π΄Π½ΠΎ Π½Π°Ρ‡Π°Π»Π½ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅. ΠžΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ със слСдващото ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ сС описва с Ρ„ΠΎΡ€ΠΌΡƒΠ»Π°, Π² която ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡ‚Π΅ Π½Π° слСдващото ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ сС записват с ΡƒΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅, Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΎΡ‚ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ β€” Π±Π΅Π· ΡƒΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅. Π’ случая с Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΠ° Π½Π° Π•Π²ΠΊΠ»ΠΈΠ΄ Ρ‰Π΅ ΠΈΠΌΠ°ΠΌΠ΅ Ρ€Π°Π±ΠΎΡ‚Π° с Π΄ΠΈΠ·ΡŽΠ½ΠΊΡ†ΠΈΡ Π½Π° Π΄Π²Π΅ Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈ, Π² Π΅Π΄Π½Π°Ρ‚Π° ΠΎΡ‚ ΠΊΠΎΠΈΡ‚ΠΎ x Π΅ Π½Π°ΠΉ-голямата стойност, Π° във Π²Ρ‚ΠΎΡ€Π°Ρ‚Π° β€” y:

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅

Π’ ΠΏΡŠΡ€Π²ΠΈΡ случай Π½ΠΎΠ²Π°Ρ‚Π° стойност y Π΅ Ρ€Π°Π²Π½Π° Π½Π° ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½Π°Ρ‚Π° стойност y, Π° Π½ΠΎΠ²Π°Ρ‚Π° стойност x ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°ΠΌΠ΅, ΠΊΠ°Ρ‚ΠΎ ΠΎΡ‚Π½Π΅ΠΌΠ΅ΠΌ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠ°Ρ‚Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° ΠΎΡ‚ ΠΏΠΎ-голямата. Π’ΡŠΠ² втория случай ΠΏΡ€Π°Π²ΠΈΠΌ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΡ‚ΠΎ.

Π’ΡŠΡ€Π½Π΅ΠΌ сС към Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΠ° Π½Π° Π•Π²ΠΊΠ»ΠΈΠ΄. НСка ΠΎΡ‚Π½ΠΎΠ²ΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Π΅ M = 12, N = 18. Π’ΠΎΠ²Π° опрСдСля СдинствСното Π½Π°Ρ‡Π°Π»Π½ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅, (x = 12) ∧ (y = 18). Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° замСнямС Ρ‚Π΅Π·ΠΈ стойности във Ρ„ΠΎΡ€ΠΌΡƒΠ»Π°Ρ‚Π° ΠΏΠΎ-Π³ΠΎΡ€Π΅ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°ΠΌΠ΅:

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅

Π’ΡƒΠΊ СдинствСното възмоТно Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅: x' = 18 - 12 ∧ y' = 12, ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°ΠΌΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅: [x = 12, y = 18]. По ΡΡŠΡ‰ΠΈΡ Π½Π°Ρ‡ΠΈΠ½ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° опишСм всички ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΡ Π² Π½Π°ΡˆΠ΅Ρ‚ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅: [x = 12, y = 18] β†’ [x = 12, y = 6] β†’ [x = 6, y = 6].

Π’ послСдното ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ [x = 6, y = 6] ΠΈ Π΄Π²Π΅Ρ‚Π΅ части Π½Π° ΠΈΠ·Ρ€Π°Π·Π° Ρ‰Π΅ са Π½Π΅Π²Π΅Ρ€Π½ΠΈ, слСдоватСлно, слСдващо ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ Π½Π΅ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°. И Ρ‚Π°ΠΊΠ°, ΠΈΠΌΠ°ΠΌΠ΅ пълна спСцификация Π½Π° втория Π΅Ρ‚Π°ΠΏ β€” ΠΊΠ°ΠΊΡ‚ΠΎ Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅, Ρ‚ΠΎΠ²Π° Π΅ напълно ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½Π° ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΏΡ€ΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΈΡ‚Π΅ ΠΈ ΡƒΡ‡Π΅Π½ΠΈΡ‚Π΅, Π° Π½Π΅ странна, ΠΊΠ°ΠΊΡ‚ΠΎ Π² ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€Π½ΠΈΡ‚Π΅ Π½Π°ΡƒΠΊΠΈ.

Π’Π΅Π·ΠΈ Π΄Π²Π΅ Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΎΠ±Π΅Π΄ΠΈΠ½Π΅Π½ΠΈ Π² Π΅Π΄Π½Π° Ρ„ΠΎΡ€ΠΌΡƒΠ»Π° Π½Π° Π²Ρ€Π΅ΠΌΠ΅Π²Π°Ρ‚Π° Π»ΠΎΠ³ΠΈΠΊΠ°. Вя Π΅ Π΅Π»Π΅Π³Π°Π½Ρ‚Π½Π° ΠΈ Π½Π΅ Π΅ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π΄Π° сС обясни, Π½ΠΎ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° нямамС Π²Ρ€Π΅ΠΌΠ΅ Π·Π° нСя. Π’Ρ€Π΅ΠΌΠ΅Π²Π°Ρ‚Π° Π»ΠΎΠ³ΠΈΠΊΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° Π½ΠΈ бъдС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° само Π·Π° свойството ТизнСност, Π·Π° бСзопасност Π½Π΅ Π΅ Π½ΡƒΠΆΠ½Π°. ΠšΠ°Ρ‚ΠΎ цяло, Π²Ρ€Π΅ΠΌΠ΅Π²Π°Ρ‚Π° Π»ΠΎΠ³ΠΈΠΊΠ° Π½Π΅ ΠΌΠΈ Π΅ Π½Π° ΡΡŠΡ€Ρ†Π΅, Π½Π΅ Π΅ съвсСм ΠΎΠ±ΠΈΡ‡Π°ΠΉΠ½Π° ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°, Π½ΠΎ Π² случая с ТизнСността прСдставлява Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π»ΠΎ.

Π’ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΠ° Π½Π° Π•Π²ΠΊΠ»ΠΈΠ΄ Π·Π° всяка стойност x ΠΈ y ΠΈΠΌΠ° ΡƒΠ½ΠΈΠΊΠ°Π»Π½ΠΈ стойности x' ΠΈ y', ΠΊΠΎΠΈΡ‚ΠΎ Π΄Π°Π²Π°Ρ‚ истинно ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ с слСдващото ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅. Π‘ Π΄Ρ€ΡƒΠ³ΠΈ Π΄ΡƒΠΌΠΈ, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΡŠΡ‚ Π½Π° Π•Π²ΠΊΠ»ΠΈΠ΄ Π΅ Π΄Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈΡ€Π°Π½. Π—Π° Π΄Π° ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€Π°ΠΌΠ΅ Π½Π΅Π΄Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈΡ€Π°Π½ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ, трябва Ρ‚Π΅ΠΊΡƒΡ‰ΠΎΡ‚ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ Π΄Π° ΠΈΠΌΠ° няколко възмоТни Π±ΡŠΠ΄Π΅Ρ‰ΠΈ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΡ, ΠΈ всяка стойност Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°Ρ‚Π° Π±Π΅Π· Ρ‡Π΅Ρ€Ρ‚Π° Π΄Π° ΠΈΠΌΠ° няколко стойности Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°Ρ‚Π° с Ρ‡Π΅Ρ€Ρ‚Π°, ΠΏΡ€ΠΈ ΠΊΠΎΠΈΡ‚ΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ със слСдващото ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ Π΅ истинно. Π’ΠΎΠ²Π° Π½Π΅ Π΅ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ, Π½ΠΎ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° няма Π΄Π° Π΄Π°Π²Π°ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ.

Π—Π° Π΄Π° сС създадС Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ инструмСнт, Π΅ Π½ΡƒΠΆΠ½Π° Ρ„ΠΎΡ€ΠΌΠ°Π»Π½Π° ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°. Как Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ спСцификация Ρ„ΠΎΡ€ΠΌΠ°Π»Π½Π°? Π—Π° Ρ‚ΠΎΠ²Π° Π½ΠΈ Π΅ Π½ΡƒΠΆΠ΅Π½ Ρ„ΠΎΡ€ΠΌΠ°Π»Π΅Π½ Π΅Π·ΠΈΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, TLA+. БпСцификацията Π½Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΠ° Π½Π° Π•Π²ΠΊΠ»ΠΈΠ΄ Π½Π° Ρ‚ΠΎΠ·ΠΈ Π΅Π·ΠΈΠΊ Ρ‰Π΅ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΠΏΠΎ слСдния Π½Π°Ρ‡ΠΈΠ½:

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅

Π‘ΠΈΠΌΠ²ΠΎΠ»ΡŠΡ‚ Π½Π° равСнството с Ρ‚Ρ€ΠΈΡŠΠ³ΡŠΠ»Π½ΠΈΠΊ ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ стойността отляво ΠΎΡ‚ Π·Π½Π°ΠΊΠ° Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° ΠΊΠ°Ρ‚ΠΎ Ρ€Π°Π²Π½Π° Π½Π° стойността отдясно. Π’ ΡΡŠΡ‰Π½ΠΎΡΡ‚Ρ‚Π° си, спСцификацията Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅, Π² нашия случай Π΄Π²Π΅ опрСдСлСния. Към спСцификацията Π² TLA+ трябва Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ дСкларирания ΠΈ някакъв синтаксис, ΠΊΠ°ΠΊΡ‚ΠΎ Π΅ Π½Π° слайда ΠΏΠΎ-Π³ΠΎΡ€Π΅. Π’ ASCII Ρ‚ΠΎΠ²Π° Ρ‰Π΅ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΠΏΠΎ слСдния Π½Π°Ρ‡ΠΈΠ½:

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅

ΠšΠ°ΠΊΡ‚ΠΎ Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅, няма Π½ΠΈΡ‰ΠΎ слоТно. БпСцификацията Π½Π° TLA+ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС тСствана, Ρ‚.Π΅. Π΄Π° сС обходят всички възмоТни повСдСния Π² малък ΠΌΠΎΠ΄Π΅Π». Π’ нашия случай Ρ‚ΠΎΠ·ΠΈ ΠΌΠΎΠ΄Π΅Π» Ρ‰Π΅ бъдС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ стойности M ΠΈ N. Π’ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π΅Π½ ΠΈ прост Π½Π°Ρ‡ΠΈΠ½ Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°, ΠΊΠΎΠΉΡ‚ΠΎ сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° напълно Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ. ОсвСн Ρ‚ΠΎΠ²Π°, ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ написани Ρ„ΠΎΡ€ΠΌΠ°Π»Π½ΠΈ доказатСлства Π·Π° истинност ΠΈ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΡ‡Π½ΠΎ, Π½ΠΎ Π·Π° Ρ‚ΠΎΠ²Π° Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅, Π·Π°Ρ‚ΠΎΠ²Π° ΠΏΠΎΡ‡Ρ‚ΠΈ Π½ΠΈΠΊΠΎΠΉ Π½Π΅ Π³ΠΎ ΠΏΡ€Π°Π²ΠΈ.

ΠžΡΠ½ΠΎΠ²Π½ΠΈΡΡ‚ Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΠΊ Π½Π° TLA+ Π΅, Ρ‡Π΅ Ρ‚ΠΎΠ²Π° Π΅ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°, Π° програмиститС ΠΈ ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€Π½ΠΈΡ‚Π΅ ΡƒΡ‡Π΅Π½ΠΈ сС страхуват ΠΎΡ‚ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°Ρ‚Π°. На ΠΏΡ€ΡŠΠ² ΠΏΠΎΠ³Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΠΊΠ°Ρ‚ΠΎ шСга, Π½ΠΎ Π·Π° съТалСниС, говоря напълно сСриозно. ΠœΠΎΡΡ‚ ΠΊΠΎΠ»Π΅Π³Π° Ρ‚ΠΎΠΊΡƒ-Ρ‰ΠΎ ΠΌΠΈ Ρ€Π°Π·ΠΊΠ°Π·Π° ΠΊΠ°ΠΊ Π΅ ΠΎΠΏΠΈΡ‚Π²Π°Π» Π΄Π° обясни TLA+ Π½Π° няколко Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ. Π©ΠΎΠΌ Π½Π° Π΅ΠΊΡ€Π°Π½Π° сС появиха Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈ, Π²Π΅Π΄Π½Π°Π³Π° ΠΈΠΌ стана ΡΡ‚ΡŠΠΊΠ»Π΅Π½ΠΎ Π½Π° ΠΎΡ‡ΠΈΡ‚Π΅. Π’Π°ΠΊΠ° Ρ‡Π΅ Π°ΠΊΠΎ TLA+ плаши, ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° PlusCal, Ρ‚ΠΎΠ²Π° Π΅ Π΅Π΄ΠΈΠ½ Π²ΠΈΠ΄ ΠΈΠ³Ρ€Π°Π»Π΅Π½ Π΅Π·ΠΈΠΊ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅. Π˜Π·Ρ€Π°Π·ΡΠ²Π°Π½Π΅Ρ‚ΠΎ Π² PlusCal ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС всяко изразяванС Π½Π° TLA+, тоСст, ΠΏΠΎ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΠΎ, всяко матСматичСско изразяванС. ОсвСн Ρ‚ΠΎΠ²Π°, Π² PlusCal ΠΈΠΌΠ° синтаксис Π·Π° нСдСтСрминистични Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈ. ΠŸΠΎΡ€Π°Π΄ΠΈ Ρ„Π°ΠΊΡ‚Π°, Ρ‡Π΅ Π² PlusCal ΠΌΠΎΠΆΠ΅ Π΄Π° сС запишС всяко изразяванС Π½Π° TLA+, Ρ‚ΠΎΠΉ Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΠΎ-ΠΈΠ·Ρ€Π°Π·ΠΈΡ‚Π΅Π»Π΅Π½ ΠΎΡ‚ всСки Ρ€Π΅Π°Π»Π΅Π½ Π΅Π·ΠΈΠΊ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅. Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π°, PlusCal сС ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π° Π² лСсно Ρ‡Π΅Ρ‚Π»ΠΈΠ²Π° спСцификация Π½Π° TLA+. Π’ΠΎΠ²Π° Π½Π΅ ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ слоТната спСцификация Π½Π° PlusCal Ρ‰Π΅ сС трансформира Π² проста Π½Π° TLA+ β€” просто ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΈΠ΅Ρ‚ΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ тях Π΅ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Π±Π΅Π· Π΄Π° сС появи Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½Π° слоТност. Накрая, Ρ‚Π°Π·ΠΈ спСцификация ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π° с инструмСнтитС Π½Π° TLA+. Π’ ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅, PlusCal ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π·Π° прСодоляванС Π½Π° фобията ΠΎΡ‚ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°Ρ‚Π°, Ρ‚ΠΎΠΉ Π΅ лСсСн Π·Π° Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π΄ΠΎΡ€ΠΈ Π·Π° програмисти ΠΈ ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€Π½ΠΈ ΡƒΡ‡Π΅Π½ΠΈ. Π’ ΠΌΠΈΠ½Π°Π»ΠΎΡ‚ΠΎ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈ Π½Π° Π½Π΅Π³ΠΎ Π·Π° ΠΎΠΊΠΎΠ»ΠΎ 10 Π³ΠΎΠ΄ΠΈΠ½ΠΈ.

Π’ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅ някой Π΄Π° Π²ΡŠΠ·Ρ€Π°Π·ΠΈ, Ρ‡Π΅ TLA+ ΠΈ PlusCal β€” Ρ‚ΠΎΠ²Π° Π΅ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°, Π° ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ само с измислСни ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ. На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° ΠΎΠ±Π°Ρ‡Π΅ Π΅ Π½ΡƒΠΆΠ΅Π½ Ρ€Π΅Π°Π»Π΅Π½ Π΅Π·ΠΈΠΊ с Ρ‚ΠΈΠΏΠΎΠ²Π΅, ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΈ, ΠΎΠ±Π΅ΠΊΡ‚ΠΈ ΠΈ Ρ‚Π°ΠΊΠ° Π½Π°Ρ‚Π°Ρ‚ΡŠΠΊ. Π’ΠΎΠ²Π° Π½Π΅ Π΅ Ρ‚Π°ΠΊΠ°. Π•Ρ‚ΠΎ ΠΊΠ°ΠΊΠ²ΠΎ пишС ΠšΡ€ΠΈΡ Нюкомб, Ρ€Π°Π±ΠΎΡ‚ΠΈΠ» Π² Amazon: β€žΠ˜Π·ΠΏΠΎΠ»Π·Π²Π°Ρ…ΠΌΠ΅ TLA+ Π² дСсСт Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ във всСки случай ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π°Ρ‚Π° ΠΌΡƒ внасяшС Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π΅Π½ принос Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π°, Π·Π°Ρ‰ΠΎΡ‚ΠΎ успяхмС Π΄Π° засСчСм опасни бъговС ΠΏΡ€Π΅Π΄ΠΈ Π΄Π° влязат Π² продукция, ΠΈ Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π½ΠΈ Π΄Π°Π΄Π΅ Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ ΠΈ увСрСност, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° агрСсивни ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° производитСлността, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ влияят Π½Π° истинността Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π°β€œ. ЧСсто ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Ρ‡ΡƒΠ΅Ρ‚Π΅, Ρ‡Π΅ ΠΏΡ€ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ„ΠΎΡ€ΠΌΠ°Π»Π½ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°ΠΌΠ΅ Π½Π΅Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π΅Π½ ΠΊΠΎΠ΄ β€” Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Π²ΡΡŠΡ‰Π½ΠΎΡΡ‚ Π΅ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΡ‚ΠΎ. ОсвСн Ρ‚ΠΎΠ²Π°, Π±ΠΈΡ‚ΡƒΠ²Π° ΠΌΠ½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ, Ρ‡Π΅ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ΠΈΡ‚Π΅ Π½Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΡƒΠ±Π΅Π΄Π΅Π½ΠΈ Π² нСобходимостта ΠΎΡ‚ Ρ„ΠΎΡ€ΠΌΠ°Π»Π½ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ, Π΄ΠΎΡ€ΠΈ ΠΈ програмиститС Π΄Π° са ΡƒΠ±Π΅Π΄Π΅Π½ΠΈ Π² тяхната полСзност. А Нюкомб пишС: β€žΠœΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ΠΈΡ‚Π΅ сСга Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ Π½Π°ΡΡŠΡ€Ρ‡Π°Π²Π°Ρ‚ писанСто Π½Π° спСцификации Π½Π° TLA+, ΠΊΠ°Ρ‚ΠΎ отдСлят Π²Ρ€Π΅ΠΌΠ΅ Π·Π° Ρ‚ΠΎΠ²Π°β€œ. Π’Π°ΠΊΠ° Ρ‡Π΅, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ΠΈΡ‚Π΅ видят, Ρ‡Π΅ TLA+ Ρ€Π°Π±ΠΎΡ‚ΠΈ, Ρ‚Π΅ с радост Π³ΠΎ ΠΏΡ€ΠΈΠ΅ΠΌΠ°Ρ‚. ΠšΡ€ΠΈΡ Нюкомб написа Ρ‚ΠΎΠ²Π° ΠΏΡ€Π΅Π΄ΠΈ ΠΎΠΊΠΎΠ»ΠΎ ΡˆΠ΅ΡΡ‚ мСсСца (Π² ΠΎΠΊΡ‚ΠΎΠΌΠ²Ρ€ΠΈ 2014 Π³.), Π° Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°, Π΄ΠΎΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ Π·Π½Π°ΠΌ, TLA+ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² 14 ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π° Π½Π΅ 10. Π”Ρ€ΡƒΠ³ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ сС отнася Π΄ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° XBox 360. ΠŸΡ€ΠΈ Π§Π°Ρ€Π»Π· Π’Π΅ΠΊΡŠΡ€ Π΄ΠΎΠΉΠ΄Π΅ стаТант ΠΈ написа спСцификация Π·Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°. Π‘Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° Ρ‚Π°Π·ΠΈ спСцификация бСшС ΠΎΡ‚ΠΊΡ€ΠΈΡ‚ бъг, ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠ½Π°Ρ‡Π΅ нямашС Π΄Π° бъдС забСлязан ΠΈ Π·Π°Ρ€Π°Π΄ΠΈ ΠΊΠΎΠΉΡ‚ΠΎ всяка XBox 360 Ρ‰Π΅ΡˆΠ΅ Π΄Π° сС срива слСд Ρ‡Π΅Ρ‚ΠΈΡ€ΠΈ часа ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π°. Π˜Π½ΠΆΠ΅Π½Π΅Ρ€ΠΈΡ‚Π΅ ΠΎΡ‚ IBM ΠΏΠΎΡ‚Π²ΡŠΡ€Π΄ΠΈΡ…Π°, Ρ‡Π΅ Ρ‚Π΅Ρ…Π½ΠΈΡ‚Π΅ тСстовС Π½Π΅ Π±ΠΈΡ…Π° ΠΎΡ‚ΠΊΡ€ΠΈΠ»ΠΈ Ρ‚ΠΎΠ·ΠΈ бъг.

По-ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Π·Π° TLA+ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚, Π° сСга Π½Π΅ΠΊΠ° ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π·Π° Π½Π΅Ρ„ΠΎΡ€ΠΌΠ°Π»Π½ΠΈΡ‚Π΅ спСцификации. Рядко Π½ΠΈ сС Π½Π°Π»Π°Π³Π° Π΄Π° пишСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ изчисляват Π½Π°ΠΉ-малкия ΠΎΠ±Ρ‰ Π΄Π΅Π»ΠΈΡ‚Π΅Π» ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ. Π—Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΠΎ-чСсто пишСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ ΠΊΠ°Ρ‚ΠΎ инструмСнта Π·Π° структурно ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π½Π΅ (pretty-printer), ΠΊΠΎΠΉΡ‚ΠΎ написах Π·Π° TLA+. Π‘Π»Π΅Π΄ Π½Π°ΠΉ-простата ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΊΠΎΠ΄ΡŠΡ‚ Π½Π° TLA+ Π±ΠΈ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°Π» Ρ‚Π°ΠΊΠ°:

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅

Но Π² дадСния ΠΏΡ€ΠΈΠΌΠ΅Ρ€ потрСбитСлят Π½Π°ΠΉ-вСроятно Π΅ искал Π΄Π° сС изравнят Π·Π½Π°Ρ†ΠΈΡ‚Π΅ Π½Π° ΠΊΠΎΠ½ΡŽΠ½ΠΊΡ†ΠΈΡΡ‚Π° ΠΈ равСнството. Π’Π°ΠΊΠ° Ρ‡Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎΡ‚ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€Π°Π½Π΅ Π±ΠΈ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°Π»ΠΎ ΠΏΠΎ-скоро Ρ‚Π°ΠΊΠ°:

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅

НСка Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π΄Ρ€ΡƒΠ³ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅

Π’ΡƒΠΊ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎ Π½Π° Ρ‚ΠΎΠ²Π°, изравняванСто Π½Π° Π·Π½Π°Ρ†ΠΈΡ‚Π΅ Π½Π° равСнството, ΡΡŠΠ±ΠΈΡ€Π°Π½Π΅ ΠΈ ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΠΊΠ° бСшС случайно, Π·Π°Ρ‚ΠΎΠ²Π° Π½Π°ΠΉ-простата ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° напълно Π΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½Π°. Π’ΡΡŠΡ‰Π½ΠΎΡΡ‚, няма Ρ‚ΠΎΡ‡Π½ΠΎ матСматичСско ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎΡ‚ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€Π°Π½Π΅, Π·Π°Ρ‰ΠΎΡ‚ΠΎ β€žΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎΡ‚ΠΎβ€œ Π² Ρ‚ΠΎΠ·ΠΈ случай ΠΎΠ·Π½Π°Ρ‡Π°Π²Π° β€žΠΊΠ°ΠΊΠ²ΠΎΡ‚ΠΎ ΠΆΠ΅Π»Π°Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡΡ‚β€œ, Π° Ρ‚ΠΎΠ²Π° Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ матСматичСски.

На ΠΏΡ€ΡŠΠ² ΠΏΠΎΠ³Π»Π΅Π΄, Π°ΠΊΠΎ нямамС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π·Π° истинност, спСцификацията ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Π±Π΅Π·ΠΏΠΎΠ»Π΅Π·Π½Π°. Но Π½Π΅ Π΅ Ρ‚Π°ΠΊΠ°. Ако Π½Π΅ Π·Π½Π°Π΅ΠΌ ΠΊΠ°ΠΊΠ²ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎ трябва Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π°, Ρ‚ΠΎΠ²Π° Π½Π΅ ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ Π½Π΅ трябва Π΄Π° обмислямС Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° ѝ β€” Π½Π°ΠΏΡ€ΠΎΡ‚ΠΈΠ², трябва Π΄Π° Π²Π»ΠΎΠΆΠΈΠΌ ΠΎΡ‰Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ усилия Π² Ρ‚ΠΎΠ²Π°. БпСцификацията Π΅ особСно Π²Π°ΠΆΠ½Π° Ρ‚ΡƒΠΊ. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ½Π΅Ρ‚ΠΎ Π½Π° ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»Π½Π°Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° Π·Π° структурно ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π½Π΅ Π΅ нСвъзмоТно, Π½ΠΎ Ρ‚ΠΎΠ²Π° Π½Π΅ Π·Π½Π°Ρ‡ΠΈ, Ρ‡Π΅ Π½Π΅ трябва Π΄Π° прСслСдвамС Ρ†Π΅Π»Ρ‚Π°, Π° Π΄Π° пишСм ΠΊΠΎΠ΄ Π² ΠΏΠΎΡ‚ΠΎΠΊ Π½Π° ΡΡŠΠ·Π½Π°Π½ΠΈΠ΅Ρ‚ΠΎ β€” Ρ‚ΠΎΠ²Π° Π½Π΅ Π΅ допустимо. Π’ ΠΊΡ€Π°ΠΉΠ½Π° смСтка написах спСцификация ΠΎΡ‚ ΡˆΠ΅ΡΡ‚ ΠΏΡ€Π°Π²ΠΈΠ»Π° с опрСдСлСния във Ρ„ΠΎΡ€ΠΌΠ° Π½Π° ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈ Π² Java Ρ„Π°ΠΉΠ». Π•Ρ‚ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½Π° Π΅Π΄Π½ΠΎ ΠΎΡ‚ ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ‚Π°: Ρ‚ΠΎΠΊΠ΅Π½ left-comment Π΅ LeftComment, ΠΏΠΎΠ΄Ρ€Π°Π²Π½Π΅Π½ с покриващия Ρ‚ΠΎΠΊΠ΅Π½. Π’ΠΎΠ²Π° ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π΅ написано Π½Π°, Π΄Π° ΠΊΠ°ΠΆΠ΅ΠΌ, матСматичСски английски: LeftComment ΠΏΠΎΠ΄Ρ€Π°Π²Π½Π΅Π½, left-comment ΠΈ ΠΏΠΎΠΊΡ€ΠΈΠ²Π°Ρ‰ Ρ‚ΠΎΠΊΠ΅Π½ β€” Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈΡ‚Π΅ с опрСдСлСния. Π’ΠΎΠ²Π° Π΅ Π½Π°Ρ‡ΠΈΠ½ΡŠΡ‚, ΠΏΠΎ ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°Ρ‚Π° описва ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°Ρ‚Π°: ΠΏΠΈΡˆΠ°Ρ‚ опрСдСлСния Π½Π° Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈΡ‚Π΅ ΠΈ Π½Π° тяхна основа β€” ΠΏΡ€Π°Π²ΠΈΠ»Π°. ΠŸΠΎΠ»Π·Π°Ρ‚Π° ΠΎΡ‚ Ρ‚Π°ΠΊΠ°Π²Π° спСцификация Π΅, Ρ‡Π΅ Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρˆ ΠΈ ΠΎΡ‚ΡΡ‚Ρ€Π°Π½ΠΈΡˆ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ с ΡˆΠ΅ΡΡ‚ ΠΏΡ€Π°Π²ΠΈΠ»Π° Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΠΎ-лСсно, ΠΎΡ‚ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ с 850 Ρ€Π΅Π΄Π° ΠΊΠΎΠ΄. Врябва Π΄Π° ΠΊΠ°ΠΆΠ°, Ρ‡Π΅ написванСто Π½Π° Ρ‚Π΅Π·ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π° Π½Π΅ бСшС лСсно, ΠΎΡ‚Π΄Π΅Π»ΠΈΡ… доста Π²Ρ€Π΅ΠΌΠ΅ Π·Π° тяхното отстраняванС Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ. Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»Π½ΠΎ Π·Π° Ρ‚Π°Π·ΠΈ Ρ†Π΅Π» написах ΠΊΠΎΠ΄, ΠΊΠΎΠΉΡ‚ΠΎ ΡΡŠΠΎΠ±Ρ‰Π°Π²Π°ΡˆΠ΅ ΠΊΠΎΠ΅ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°. Благодаря Π½Π° Ρ‚ΠΎΠ²Π°, Ρ‡Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ… Ρ‚Π΅Π·ΠΈ ΡˆΠ΅ΡΡ‚ ΠΏΡ€Π°Π²ΠΈΠ»Π° с няколко ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, Π½Π΅ ΠΌΠΈ сС Π½Π°Π»ΠΎΠΆΠΈ Π΄Π° отстранявам 850 Ρ€Π΅Π΄Π° ΠΊΠΎΠ΄, ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅ сС ΠΎΠΊΠ°Π·Π°Ρ…Π° доста лСсни Π·Π° Π½Π°ΠΌΠΈΡ€Π°Π½Π΅. Π’ Java Π·Π° Ρ‚ΠΎΠ²Π° ΠΈΠΌΠ° ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΈ инструмСнти. Ако просто бях написал ΠΊΠΎΠ΄Π°, Ρ‰Π΅ΡˆΠ΅ Π΄Π° ΠΌΠΈ ΠΎΡ‚Π½Π΅ΠΌΠ΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π²Ρ€Π΅ΠΌΠ΅ ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Ρ‰Π΅ΡˆΠ΅ Π΄Π° Π΅ с ΠΏΠΎ-ниско качСство.

Π—Π°Ρ‰ΠΎ Π½Π΅ моТСшС Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Ρ„ΠΎΡ€ΠΌΠ°Π»Π½Π° спСцификация? ΠžΡ‚ Π΅Π΄Π½Π° страна, точността Ρ‚ΡƒΠΊ Π½Π΅ Π΅ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° Π²Π°ΠΆΠ½Π°. Бтруктурният ΠΏΠ΅Ρ‡Π°Ρ‚ Π½Π΅ΠΏΡ€Π΅ΠΌΠ΅Π½Π½ΠΎ Ρ‰Π΅ бъдС Π½Π΅ΡƒΠ³ΠΎΠ΄Π΅Π½ Π½Π° някого, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Π½Π΅ ΠΌΠΈ бСшС Π½ΡƒΠΆΠ½ΠΎ Π΄Π° сС старая Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ във всички ΠΈΠ·Π²ΡŠΠ½Ρ€Π΅Π΄Π½ΠΈ ситуации. ΠžΡ‰Π΅ ΠΏΠΎ-Π²Π°ΠΆΠ½ΠΎ Π΅, Ρ‡Π΅ нямах подходящи инструмСнти. БрСдството Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ TLA+ Ρ‚ΡƒΠΊ Π΅ Π±Π΅Π·ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ щях Π΄Π° трябва Ρ€ΡŠΡ‡Π½ΠΎ Π΄Π° пиша ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ.

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π΅Π½Π°Ρ‚Π° спСцификация ΠΈΠΌΠ° Ρ‡Π΅Ρ€Ρ‚ΠΈ, ΠΎΠ±Ρ‰ΠΈ Π·Π° всички спСцификации. Вя Π΅ Π½Π° ΠΏΠΎ-високо Π½ΠΈΠ²ΠΎ ΠΎΡ‚ ΠΊΠΎΠ΄Π°. МоТС Π΄Π° бъдС Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° Π½Π° всСки Π΅Π·ΠΈΠΊ. Π—Π° Π½Π΅ΠΉΠ½ΠΎΡ‚ΠΎ написванС Π½Π΅ са ΠΏΠΎΠ»Π΅Π·Π½ΠΈ Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ инструмСнти ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ. Никакой курс ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ няма Π΄Π° Π²ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π΄Π° Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Ρ‚Π°Π·ΠΈ спСцификация. И Π½Π΅ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‚ инструмСнти, ΠΊΠΎΠΈΡ‚ΠΎ Π΄Π° направят Ρ‚Π°Π·ΠΈ спСцификация Π½Π΅Π½ΡƒΠΆΠ½Π°, освСн Π°ΠΊΠΎ Π½Π΅ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Π΅Π·ΠΈΠΊ спСциално Π·Π° написванС Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ Π·Π° структурСн ΠΏΠ΅Ρ‡Π°Ρ‚ Π½Π° TLA+. Накрая, Ρ‚Π°Π·ΠΈ спСцификация Π½Π΅ ΠΊΠ°Π·Π²Π° Π½ΠΈΡ‰ΠΎ Π·Π° Ρ‚ΠΎΠ²Π° ΠΊΠ°ΠΊ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‰Π΅ напишСм ΠΊΠΎΠ΄Π°, Π² нСя просто Π΅ посочСно ΠΊΠ°ΠΊΠ²ΠΎ ΠΏΡ€Π°Π²ΠΈ Ρ‚ΠΎΠ·ΠΈ ΠΊΠΎΠ΄. ПишСм спСцификация, Π·Π° Π΄Π° Π½ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π΄Π° обмислим ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, ΠΏΡ€Π΅Π΄ΠΈ Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅ΠΌ Π΄Π° мислим Π·Π° ΠΊΠΎΠ΄Π°.

Но Ρ‚Π°Π·ΠΈ спСцификация ΠΈΠΌΠ° ΠΈ особСности, Ρ€Π°Π·Π»ΠΈΡ‡Π°Π²Π°Ρ‰ΠΈ я ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ‚Π΅ спСцификации. 95% ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ‚Π΅ спСцификации са Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΠΎ-ΠΊΡ€Π°Ρ‚ΠΊΠΈ ΠΈ ΠΏΠΎ-прости:

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅

ОсвСн Ρ‚ΠΎΠ²Π°, Ρ‚Π°Π·ΠΈ спСцификация прСдставлява Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ ΠΏΡ€Π°Π²ΠΈΠ»Π°. ОбикновСно, Ρ‚ΠΎΠ²Π° Π΅ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ Π·Π° лоша спСцификация. Π Π°Π·Π±ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° послСдствията ΠΎΡ‚ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ ΠΏΡ€Π°Π²ΠΈΠ»Π° Π΅ доста Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ, ΠΈΠΌΠ΅Π½Π½ΠΎ Π·Π°Ρ‚ΠΎΠ²Π° ΠΌΠΈ ΠΎΡ‚Π½Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅, Π·Π° Π΄Π° Π³ΠΈ отстраня. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π°, Π² Ρ‚ΠΎΠ·ΠΈ случай Π½Π΅ Π½Π°ΠΌΠ΅Ρ€ΠΈΡ… ΠΏΠΎ-Π΄ΠΎΠ±ΡŠΡ€ Π½Π°Ρ‡ΠΈΠ½.

Няма Π΄Π° Π΅ излишно Π΄Π° ΠΊΠ°ΠΆΠ΅ΠΌ няколко Π΄ΡƒΠΌΠΈ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ работят Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚ΠΎ. ОбикновСно, Ρ‚Π΅ работят ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ систСми ΠΈΠ»ΠΈ Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ систСми. Много ΠΌΠ°Π»ΠΊΠΎ Ρ…ΠΎΡ€Π° ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π³ΠΈ разгадаят Π² ΡƒΠΌΠ° си ΠΈΠ»ΠΈ Π½Π° хартия, ΠΈ Π°Π· Π½Π΅ съм срСд тях, ΠΌΠ°ΠΊΠ°Ρ€ Ρ‡Π΅ някога ΠΌΠΈ бСшС ΠΏΠΎ силитС. ΠŸΠΎΡ€Π°Π΄ΠΈ Ρ‚ΠΎΠ²Π° са Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ инструмСнти, ΠΊΠΎΠΈΡ‚ΠΎ Π΄Π° провСряват Π½Π°ΡˆΠ°Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Π° β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ TLA+ ΠΈΠ»ΠΈ PlusCal.

Каква бСшС Ρ†Π΅Π»Ρ‚Π° Π΄Π° сС напишС спСцификация, Π°ΠΊΠΎ ΠΈ Π±Π΅Π· Ρ‚ΠΎΠ²Π° Π·Π½Π°Π΅Ρ… ΠΊΠ°ΠΊΠ²ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎ трябва Π΄Π° ΠΏΡ€Π°Π²ΠΈ ΠΊΠΎΠ΄ΡŠΡ‚? Π’ΡΡŠΡ‰Π½ΠΎΡΡ‚, просто ΠΌΠΈ сС ΡΡ‚Ρ€ΡƒΠ²Π°ΡˆΠ΅, Ρ‡Π΅ Π·Π½Π°ΠΌ. ОсвСн Ρ‚ΠΎΠ²Π°, ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π½Π° спСцификация, Π½Π° някой, ΠΊΠΎΠΉΡ‚ΠΎ Π½Π΅ Π΅ Π·Π°ΠΏΠΎΠ·Π½Π°Ρ‚, Π²Π΅Ρ‡Π΅ Π½Π΅ ΠΌΡƒ сС Π½Π°Π»Π°Π³Π° Π΄Π° сС Π²Π³Π»Π΅ΠΆΠ΄Π° Π² ΠΊΠΎΠ΄Π°, Π·Π° Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ ΠΊΠ°ΠΊΠ²ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΏΡ€Π°Π²ΠΈ. Имам ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ: Π½Π΅ трябва Π΄Π° ΠΈΠΌΠ° ΠΎΠ±Ρ‰ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π°. Π’ΠΎΠ²Π° ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Ρ€Π°Π·Π±ΠΈΡ€Π° сС, ΠΈΠΌΠ° ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ - СдинствСното ΠΎΠ±Ρ‰ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΊΠΎΠ΅Ρ‚ΠΎ слСдвам: спСцификацията Π½Π° Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈ ΠΊΠΎΠ΄ΡŠΡ‚, трябва Π΄Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠΈΡ€Π° Ρ…ΠΎΡ€Π°Ρ‚Π° Π·Π° всичко, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΈΠΌ Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄Π° знаят ΠΏΡ€ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ‚ΠΎΠ·ΠΈ ΠΊΠΎΠ΄.

И Ρ‚Π°ΠΊΠ°, ΠΊΠ°ΠΊΠ²ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎ трябва Π΄Π° знаят програмиститС Π·Π° мислСнСто? ΠŸΡŠΡ€Π²ΠΎ, ΡΡŠΡ‰ΠΎΡ‚ΠΎ, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΈ всички останали: Π°ΠΊΠΎ Π½Π΅ пишСш, просто Ρ‚ΠΈ сС струва, Ρ‡Π΅ мислиш. ОсвСн Ρ‚ΠΎΠ²Π°, трябва Π΄Π° мислиш ΠΏΡ€Π΅Π΄ΠΈ Π΄Π° ΠΊΠΎΠ΄ΠΈΡ€Π°Ρˆ, Π° Ρ‚ΠΎΠ²Π° ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ трябва Π΄Π° пишСш, ΠΏΡ€Π΅Π΄ΠΈ Π΄Π° ΠΊΠΎΠ΄ΠΈΡ€Π°Ρˆ. БпСцификацията Π΅ Π½Π΅Ρ‰ΠΎΡ‚ΠΎ, ΠΊΠΎΠ΅Ρ‚ΠΎ пишСм ΠΏΡ€Π΅Π΄ΠΈ Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅ΠΌ Π΄Π° ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅. БпСцификацията Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° Π·Π° всСки ΠΊΠΎΠ΄, ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅Π½ ΠΎΡ‚ някого. И Ρ‚ΠΎΠ·ΠΈ β€žΠ½ΡΠΊΠΎΠΉβ€œ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС самият Π°Π²Ρ‚ΠΎΡ€ Π½Π° ΠΊΠΎΠ΄Π° слСд мСсСц ΠΎΡ‚ Π½Π΅Π³ΠΎΠ²ΠΎΡ‚ΠΎ написванС. БпСцификацията Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° Π·Π° Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ ΠΈ систСми, Π·Π° класовС, Π·Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ ΠΈ понякога Π΄ΠΎΡ€ΠΈ Π·Π° слоТни ΡƒΡ‡Π°ΡΡ‚ΡŠΡ†ΠΈ ΠΎΡ‚ ΠΎΡ‚Π΄Π΅Π»Π΅Π½ ΠΌΠ΅Ρ‚ΠΎΠ΄. Какво Ρ‚ΠΎΡ‡Π½ΠΎ трябва Π΄Π° пишСм Π·Π° ΠΊΠΎΠ΄Π°? Врябва Π΄Π° опишСм ΠΊΠ°ΠΊΠ²ΠΎ ΠΏΡ€Π°Π²ΠΈ, Ρ‚.Π΅. Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π·Π° всСки Ρ‡ΠΎΠ²Π΅ΠΊ, ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Ρ‚ΠΎΠ·ΠΈ ΠΊΠΎΠ΄. Понякога ΠΌΠΎΠΆΠ΅ Π΄Π° Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π΄Π° посочим ΠΊΠ°ΠΊ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΊΠΎΠ΄ΡŠΡ‚ постига Ρ†Π΅Π»Ρ‚Π° си. Ако Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ смС ΠΈΠ·ΡƒΡ‡Π°Π²Π°Π»ΠΈ Π² курса ΠΏΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈ, Π½Π°Ρ€ΠΈΡ‡Π°ΠΌΠ΅ Π³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ. Ако ΠΎΠ±Π°Ρ‡Π΅ Ρ‚ΠΎΠ²Π° Π΅ Π½Π΅Ρ‰ΠΎ ΠΏΠΎ-спСциално ΠΈ Π½ΠΎΠ²ΠΎ, Π½Π°Ρ€ΠΈΡ‡Π°ΠΌΠ΅ Π³ΠΎ високо Π½ΠΈΠ²ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€Π°Π½Π΅. Няма Ρ„ΠΎΡ€ΠΌΠ°Π»Π½Π° Ρ€Π°Π·Π»ΠΈΠΊΠ° Ρ‚ΡƒΠΊ: ΠΈ Π΄Π²Π΅Ρ‚Π΅ са абстрактни ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π°.

Как Ρ‚ΠΎΡ‡Π½ΠΎ трябва Π΄Π° сС пишС спСцификация Π½Π° ΠΊΠΎΠ΄Π°? Най-Π²Π°ΠΆΠ½ΠΎΡ‚ΠΎ: тя трябва Π΄Π° бъдС Π½Π° ΠΏΠΎ-високо Π½ΠΈΠ²ΠΎ ΠΎΡ‚ самия ΠΊΠΎΠ΄. Вя трябва Π΄Π° описва ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΡΡ‚Π° ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅Ρ‚ΠΎ. Вя трябва Π΄Π° бъдС Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° строга, ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ изисква Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π°. Ако ΠΏΠΈΡˆΠ΅Ρ‚Π΅ спСцификация Π½Π° Π½Π°Ρ‡ΠΈΠ½Π° Π½Π° Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π°, ΠΌΠΎΠΆΠ΅ Π΄Π° я Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Π½Π° псСвдокод ΠΈΠ»ΠΈ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° PlusCal. Врябва Π΄Π° сС Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ Π΄Π° ΠΏΠΈΡˆΠ΅Ρ‚Π΅ спСцификации Π½Π° Ρ„ΠΎΡ€ΠΌΠ°Π»Π½ΠΈ спСцификации. Π’ΠΎΠ²Π° Ρ‰Π΅ Π²ΠΈ Π΄Π°Π΄Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈΡ‚Π΅ умСния, ΠΊΠΎΠΈΡ‚ΠΎ Ρ‰Π΅ ΠΏΠΎΠΌΠΎΠ³Π½Π°Ρ‚ ΠΈ Π·Π° Π½Π΅Ρ„ΠΎΡ€ΠΌΠ°Π»Π½ΠΈ. А ΠΊΠ°ΠΊ Π΄Π° сС Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ Π΄Π° ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Ρ„ΠΎΡ€ΠΌΠ°Π»Π½ΠΈ спСцификации? ΠšΠΎΠ³Π°Ρ‚ΠΎ ΡƒΡ‡Π΅Ρ…ΠΌΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅, ΠΏΠΈΡˆΠ΅Ρ…ΠΌΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ ΠΈ слСд Ρ‚ΠΎΠ²Π° Π³ΠΈ отстранявахмС. Π‘ΡŠΡ‰ΠΎΡ‚ΠΎ Π΅ ΠΈ Ρ‚ΡƒΠΊ: трябва Π΄Π° Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ спСцификация, Π΄Π° я ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅ с инструмСнт Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈ Π΄Π° ΠΊΠΎΡ€ΠΈΠ³ΠΈΡ€Π°Ρ‚Π΅ Π³Ρ€Π΅ΡˆΠΊΠΈΡ‚Π΅. TLA+ Π½Π΅ Π΅ Π½Π°ΠΉ-добрият Π΅Π·ΠΈΠΊ Π·Π° Ρ„ΠΎΡ€ΠΌΠ°Π»Π½Π° спСцификация ΠΈ вСроятно Π·Π° Π²Π°ΡˆΠΈΡ‚Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΈ Π½ΡƒΠΆΠ΄ΠΈ Π΄Ρ€ΡƒΠ³ Π΅Π·ΠΈΠΊ Ρ‰Π΅ Π΅ ΠΏΠΎ-Π΄ΠΎΠ±ΡŠΡ€. ΠŸΡ€Π΅Π΄ΠΈΠΌΡΡ‚Π²ΠΎΡ‚ΠΎ Π½Π° TLA+ Π΅, Ρ‡Π΅ Ρ‚ΠΎΠΉ прСкрасно ΡƒΡ‡ΠΈ Π½Π° матСматичСско мислСнС.

Как Π΄Π° ΡΠ²ΡŠΡ€ΠΆΠ΅Ρ‚Π΅ спСцификацията с ΠΊΠΎΠ΄Π°? Π§Ρ€Π΅Π· ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΡΠ²ΡŠΡ€Π·Π²Π°Ρ‚ матСматичСскитС ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ с тяхната рСализация. Ако Ρ€Π°Π±ΠΎΡ‚ΠΈΡ‚Π΅ с Π³Ρ€Π°Ρ„ΠΈ, Π½Π° Π½ΠΈΠ²ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° Ρ‰Π΅ ΠΈΠΌΠ°Ρ‚Π΅ масиви ΠΎΡ‚ възли ΠΈ масиви ΠΎΡ‚ Π²Ρ€ΡŠΠ·ΠΊΠΈ. Π—Π°Ρ‚ΠΎΠ²Π° трябва Π΄Π° Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΊΠ°ΠΊ Ρ‚ΠΎΡ‡Π½ΠΎ Π³Ρ€Π°Ρ„ΡŠΡ‚ сС Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π° с Ρ‚Π΅Π·ΠΈ структури Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ.

Врябва Π΄Π° сС ΠΎΡ‚Π±Π΅Π»Π΅ΠΆΠΈ, Ρ‡Π΅ Π½ΠΈΡ‰ΠΎ ΠΎΡ‚ горСпосочСното Π½Π΅ сС отнася Π΄ΠΎ самия процСс Π½Π° писанС Π½Π° ΠΊΠΎΠ΄. ΠšΠΎΠ³Π°Ρ‚ΠΎ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΊΠΎΠ΄, Ρ‚.Π΅. ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚Π΅ Ρ‚Ρ€Π΅Ρ‚Π°Ρ‚Π° ΡΡ‚ΡŠΠΏΠΊΠ°, трябва ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π΄Π° мислитС ΠΈ Π΄Π° обмислятС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π°. Ако ΠΏΠΎΠ΄Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π° сС ΠΎΠΊΠ°ΠΆΠ΅ слоТна ΠΈΠ»ΠΈ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π°, трябва Π΄Π° Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ спСцификация Π·Π° нСя. Но Π½Π΅ говоря Π·Π° самия ΠΊΠΎΠ΄ Ρ‚ΡƒΠΊ. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΊΠ°ΠΊΡŠΠ²Ρ‚ΠΎ ΠΈ Π΄Π° Π΅ Π΅Π·ΠΈΠΊ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅, ΠΊΠ°ΠΊΠ²Π°Ρ‚ΠΎ ΠΈ Π΄Π° Π΅ мСтодология, Ρ‚ΡƒΠΊ Π½Π΅ става Π²ΡŠΠΏΡ€ΠΎΡ Π·Π° тях. ОсвСн Ρ‚ΠΎΠ²Π°, Π½ΠΈΡ‰ΠΎ ΠΎΡ‚ горСпосочСното Π½Π΅ освобоТдава ΠΎΡ‚ нСобходимостта Π΄Π° тСстватС ΠΈ Π΄Π° отстраняватС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ Π² ΠΊΠΎΠ΄Π°. Π”ΠΎΡ€ΠΈ ΠΊΠΎΠ³Π°Ρ‚ΠΎ абстрактният ΠΌΠΎΠ΄Π΅Π» Π΅ написан ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ, Π² Π½Π΅Π³ΠΎΠ²Π°Ρ‚Π° рСализация ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ Π½Π°Π»ΠΈΡ‡Π½ΠΈ бъговС.

ΠŸΠΈΡΠ°Π½Π΅Ρ‚ΠΎ Π½Π° спСцификации Π΅ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π΅Π½ Π΅Ρ‚Π°ΠΏ Π² процСса Π½Π° писанС Π½Π° ΠΊΠΎΠ΄. Π§Ρ€Π΅Π· Π½Π΅Π³ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ улавяни с ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ усилия β€” Π·Π½Π°Π΅ΠΌ Ρ‚ΠΎΠ²Π° ΠΎΡ‚ ΠΎΠΏΠΈΡ‚Π° Π½Π° програмиститС ΠΎΡ‚ Amazon. Бъс спСцификациитС качСството Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ‚Π΅ става ΠΏΠΎ-високо. Как Ρ‚ΠΎΠ³Π°Π²Π° чСсто сС справямС Π±Π΅Π· тях? Π—Π°Ρ‰ΠΎΡ‚ΠΎ Π΅ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π΄Π° сС пишС. А пишС Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π·Π° Ρ‚ΠΎΠ²Π° трябва Π΄Π° сС мисли, Π° мислСнСто ΡΡŠΡ‰ΠΎ Π΅ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ. Π’ΠΈΠ½Π°Π³ΠΈ Π΅ ΠΏΠΎ-лСсно Π΄Π° сС ΠΏΡ€Π°Π²ΠΈ, Ρ‡Π΅ мислиш. Π’ΡƒΠΊ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ аналогия с бяганСто β€” ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ бягатС, Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° ΠΏΠΎ-Π±Π°Π²Π½ΠΎ бягатС. НуТно Π΅ Π΄Π° Ρ‚Ρ€Π΅Π½ΠΈΡ€Π°Ρ‚Π΅ мускулитС си ΠΈ Π΄Π° сС упраТняватС Π² писанС. НСобходима Π΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°.

БпСцификация ΠΌΠΎΠΆΠ΅ Π΄Π° Π΅ Π½Π΅Π²Π΅Ρ€Π½Π°. МоТСшС Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Π³Ρ€Π΅ΡˆΠΊΠ° някъдС ΠΈΠ»ΠΈ изискванията Π΄Π° са сС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΠ»ΠΈ, ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΅ Π±ΠΈΠ»ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΈΠ΅. ВсСки ΠΊΠΎΠ΄, ΠΊΠΎΠΉΡ‚ΠΎ някой ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°, трябва Π΄Π° сС промСня, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Ρ€Π°Π½ΠΎ ΠΈΠ»ΠΈ късно спСцификацията Ρ‰Π΅ прСстанС Π΄Π° ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π° Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π°. Π’ идСалния случай Π² Ρ‚ΠΎΠ·ΠΈ случай трябва Π΄Π° Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Π½ΠΎΠ²Π° спСцификация ΠΈ напълно Π΄Π° ΠΏΡ€Π΅ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΊΠΎΠ΄Π°. НиС ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ Π·Π½Π°Π΅ΠΌ, Ρ‡Π΅ Π½ΠΈΠΊΠΎΠΉ Π½Π΅ ΠΏΡ€Π°Π²ΠΈ Ρ‚ΠΎΠ²Π°. На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Π½ΠΈΠ΅ пускамС ΠΊΠΎΡ€Π΅ΠΊΡ†ΠΈΠΈ Π² ΠΊΠΎΠ΄Π° ΠΈ Π΅Π²Π΅Π½Ρ‚ΡƒΠ°Π»Π½ΠΎ обновявамС спСцификацията. Ако Ρ‚ΠΎΠ²Π° Π½Π΅ΠΏΡ€Π΅ΠΌΠ΅Π½Π½ΠΎ сС случва Ρ€Π°Π½ΠΎ ΠΈΠ»ΠΈ късно, Ρ‚ΠΎΠ³Π°Π²Π° Π·Π° ΠΊΠ°ΠΊΠ²ΠΎ Π²ΡŠΠΎΠ±Ρ‰Π΅ Π΄Π° пишСм спСцификации? ΠŸΡŠΡ€Π²ΠΎ, Π·Π° Ρ‡ΠΎΠ²Π΅ΠΊΠ°, ΠΊΠΎΠΉΡ‚ΠΎ Ρ‰Π΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π° вашия ΠΊΠΎΠ΄, всяка излишна Π΄ΡƒΠΌΠ° Π² спСцификацията Ρ‰Π΅ бъдС Π½Π° тСТСст. И Ρ‚ΠΎΠ·ΠΈ Ρ‡ΠΎΠ²Π΅ΠΊ ΠΌΠΎΠΆΠ΅ Π΄Π° стС Π²ΠΈΠ΅ самитС. ЧСсто сС ΡƒΠΏΡ€Π΅ΠΊΠ²Π°ΠΌ Π·Π° Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½Π°Ρ‚Π° спСцификация, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°ΠΌ своя ΠΊΠΎΠ΄. А Π°Π· пиша ΠΏΠΎΠ²Π΅Ρ‡Π΅ спСцификации, ΠΎΡ‚ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ ΠΊΠΎΠ΄. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»Π½ΠΎ, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°Ρ‚Π΅ ΠΊΠΎΠ΄Π°, спСцификацията Π²ΠΈΠ½Π°Π³ΠΈ трябва Π΄Π° сС обновява. На Π²Ρ‚ΠΎΡ€ΠΎ място, с всяка рСдакция ΠΊΠΎΠ΄ΡŠΡ‚ става ΠΏΠΎ-лош, всС ΠΏΠΎ-Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π΅ Π΄Π° сС Ρ‡Π΅Ρ‚Π΅ ΠΈ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°. Π’ΠΎΠ²Π° Π΅ нарастванС Π½Π° Снтропията. Но Π°ΠΊΠΎ Π½Π΅ Π·Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅ със спСцификация, всяка написана линия Ρ‰Π΅ бъдС рСдакция ΠΈ ΠΊΠΎΠ΄ΡŠΡ‚ ΠΎΡ‚ самото Π½Π°Ρ‡Π°Π»ΠΎ Ρ‰Π΅ бъдС Ρ‚Ρ€ΠΎΠΌΠ°Π² ΠΈ Ρ‚Ρ€ΡƒΠ΄Π΅Π½ Π·Π° Ρ‡Π΅Ρ‚Π΅Π½Π΅.

ΠšΠ°ΠΊΡ‚ΠΎ ΠΊΠ°Π·Π° Π•ΠΉΠ·Π΅Π½Ρ…Π°ΡƒΠ΅Ρ€, Няма Π½ΠΈΡ‚ΠΎ Π΅Π΄Π½Π° Π±ΠΈΡ‚ΠΊΠ°, спСчСлСна ΠΏΠΎ ΠΏΠ»Π°Π½, ΠΈ няма Π½ΠΈΡ‚ΠΎ Π΅Π΄Π½Π° Π±ΠΈΡ‚ΠΊΠ°, спСчСлСна Π±Π΅Π· ΠΏΠ»Π°Π½.. А Ρ‚ΠΎΠΉ знаСшС Π½Π΅Ρ‰ΠΎ Π·Π° Π±ΠΈΡ‚ΠΊΠΈΡ‚Π΅. Π‘ΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π° ΠΌΠ½Π΅Π½ΠΈΠ΅, Ρ‡Π΅ написванСто Π½Π° спСцификации Π΅ Π±Π΅Π·ΠΏΠΎΠ»Π΅Π·Π½Π° Π·Π°Π³ΡƒΠ±Π° Π½Π° Π²Ρ€Π΅ΠΌΠ΅. Понякога наистина Π΅ Ρ‚Π°ΠΊΠ°, Π° Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π° Π΅ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° проста, Ρ‡Π΅ няма ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° сС обмисля. Но Π²ΠΈΠ½Π°Π³ΠΈ трябва Π΄Π° ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Π΅ ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π²ΠΈ ΡΡŠΠ²Π΅Ρ‚Π²Π°Ρ‚ Π΄Π° Π½Π΅ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ спСцификации, Ρ‚ΠΎΠ²Π° ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ Π²ΠΈ ΡΡŠΠ²Π΅Ρ‚Π²Π°Ρ‚ Π΄Π° Π½Π΅ мислитС. И Π·Π° Ρ‚ΠΎΠ²Π° всяка Π³ΠΎΠ΄ΠΈΠ½Π° трябва Π΄Π° сС помисли. ΠžΠ±ΠΌΠΈΡΠ»ΡΠ½Π΅Ρ‚ΠΎ Π½Π° Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π° Π½Π΅ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π°, Ρ‡Π΅ няма Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Π³Ρ€Π΅ΡˆΠΊΠΈ. ΠšΠ°ΠΊΡ‚ΠΎ Π·Π½Π°Π΅ΠΌ, Π½ΠΈΠΊΠΎΠΉ Π½Π΅ Π΅ ΠΈΠ·ΠΎΠ±Ρ€Π΅Ρ‚ΠΈΠ» вълшСбна ΠΏΡ€ΡŠΡ‡ΠΊΠ° ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π΅ слоТно Π·Π°Π½ΠΈΠΌΠ°Π½ΠΈΠ΅. Но Π°ΠΊΠΎ Π½Π΅ обмислятС Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π°, Π²ΠΈΠ΅ сигурно Ρ‰Π΅ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Π³Ρ€Π΅ΡˆΠΊΠΈ.

По-ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Π·Π° TLA+ ΠΈ PlusCal ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ Π½Π° спСциализирания сайт, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²Π»Π΅Π·Π΅Ρ‚Π΅ ΠΎΡ‚ моята домашна страница Π½Π° Π»ΠΈΠ½ΠΊΠ°. Π‘ Ρ‚ΠΎΠ²Π° ΠΏΡ€ΠΈΠΊΠ»ΡŽΡ‡Π²Π°ΠΌ, благодаря Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅Ρ‚ΠΎ.

Напомням, Ρ‡Π΅ Ρ‚ΠΎΠ²Π° Π΅ ΠΏΡ€Π΅Π²ΠΎΠ΄. ΠšΠΎΠ³Π°Ρ‚ΠΎ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈ β€” ΠΏΠΎΠΌΠ½Π΅Ρ‚Π΅, Ρ‡Π΅ Π°Π²Ρ‚ΠΎΡ€ΡŠΡ‚ ΠΈΠΌ няма Π΄Π° Π³ΠΈ ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅. Ако наистина искатС Π΄Π° сС ΡΠ²ΡŠΡ€ΠΆΠ΅Ρ‚Π΅ с Π°Π²Ρ‚ΠΎΡ€Π°, Ρ‚ΠΎΠΉ Ρ‰Π΅ бъдС Π½Π° конфСрСнцията Hydra 2019, която Ρ‰Π΅ сС ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅ Π½Π° 11-12 юли 2019 Π³. Π² Π‘Π°Π½ΠΊΡ‚ ΠŸΠ΅Ρ‚Π΅Ρ€Π±ΡƒΡ€Π³. Π‘ΠΈΠ»Π΅Ρ‚ΠΈ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ Π·Π°ΠΊΡƒΠΏΠ΅Π½ΠΈ Π½Π° официалния сайт.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster