Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ скриптовый язык

ВстраиваСмыС языки: ΠΏΠΎΡ‡Π΅ΠΌΡƒ Lua?

Π­Ρ‚ΠΎΡ‚ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ ΡΠ΅Ρ€ΠΈΡŽ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΉ, основанных Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ сдСлали Π½Π° ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ Games Gathering 2017 Π² Π΄Π΅ΠΊΠ°Π±Ρ€Π΅ ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ³ΠΎ Π³ΠΎΠ΄Π°. Π’ ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· Π΄ΠΎΠΊΠ»Π°Π΄ΠΎΠ² Π±Ρ‹Π»Π° Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚Π° Ρ‚Π΅ΠΌΠ° Π²Ρ‹Π±ΠΎΡ€Π° встраиваСмого скриптового языка.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ скриптовый язык. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ скриптовый язык. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ скриптовый язык. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ скриптовый язык. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ скриптовый язык

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΈ Π·Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½Ρ‹ скриптовыС языки

Как ΡƒΠΆΠ΅ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡŒ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ постС нашСго Π±Π»ΠΎΠ³Π°, Π² нашСй ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ написан собствСнный Π΄Π²ΠΈΠΆΠΎΠΊ. БСгодня Ρ€Π΅Ρ‡ΡŒ ΠΏΠΎΠΉΠ΄Ρ‘Ρ‚ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Π΅ΠΌ ΠΌΡ‹ Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΠΎΠ²Π°Π»ΠΈΡΡŒ Π²ΠΎ врСмя Π²Ρ‹Π±ΠΎΡ€Π° скриптового языка для этого Π΄Π²ΠΈΠΆΠΊΠ°.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π΅ΡΡ‚ΡŒ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎΡΡ‚ΡŒ Π² срСдствС для описания нСслоТной, Π½ΠΎ всё-Ρ‚Π°ΠΊΠΈ Π»ΠΎΠ³ΠΈΠΊΠΈ, Π±Π΅Π· привлСчСния тяТёлой Π°Ρ€Ρ‚ΠΈΠ»Π»Π΅Ρ€ΠΈΠΈ программистов. Π‘Π΄Π΅Π»Π°Π΅ΠΌ Π²Ρ‹Π²ΠΎΠ΄ β€” Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ для нас скриптовый язык? Π­Ρ‚ΠΎ срСдство, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈΠ³Ρ€ быстрСС ΠΈ дСшСвлС.
Π‘Ρ€Π°Π·Ρƒ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ вопрос, Π° ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π±Ρ‹ Π½Π°ΠΌ просто Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ XML? Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ для Π½Π°ΡˆΠΈΡ… Ρ†Π΅Π»Π΅ΠΉ Π½Π°ΠΌ часто Π½ΡƒΠΆΠ½Ρ‹ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ конструкции β€” Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ Ρ†ΠΈΠΊΠ»Ρ‹, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ XML это Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ описаниС.

Π•Ρ‰Ρ‘ ΠΎΠ΄Π½ΠΎ прСимущСство скриптовых языков Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ скрипты Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΊΠΎΠ΄ΠΎΠΌ, Ρ‚Π°ΠΊ ΠΈ рСсурсом. И, соотвСтствСнно, ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ ΡΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ²ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΈΠ³Ρ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ вмСстС с ΠΊΠΎΠ΄ΠΎΠΌ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π² Ρ…ΠΎΠ΄Π΅ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ ΠΌΠ°Π³Π°Π·ΠΈΠ½ΠΎΠ² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Но ΠΈ вмСстС с рСсурсами β€” Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ вмСстС с графичСскими ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΠΌΠΈ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°ΠΌΠΈ, с использованиСм CDN.

ВрСбования ΠΊ ΠΈΠ΄Π΅Π°Π»ΡŒΠ½ΠΎΠΌΡƒ скриптовому языку

Π‘Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΡƒΠ΅ΠΌ трСбования ΠΊ ΠΈΠ΄Π΅Π°Π»ΡŒΠ½ΠΎΠΌΡƒ скриптовому языку.

Python

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

Python ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΌΠΈ возмоТностями, отличаСтся Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ. Π•Π³ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ являСтся нСконсистСнтная систСма Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ. Π•Ρ‰Ρ‘ ΠΎΠ΄Π½Π° Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, которая ΠΈΠ³Ρ€Π°Π΅Ρ‚ для нас Π²Π°ΠΆΠ½ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ, Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½, Π½Π° самом Π΄Π΅Π»Π΅, Π½Π΅ являСтся встраиваСмым языком. Π­Ρ‚ΠΎ язык, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, написанныС Π½Π° C ΠΈΠ»ΠΈ C++.

По ΠΏΠΎΠ²ΠΎΠ΄Ρƒ возмоТностСй ΠΏΠΎ Π²ΡΡ‚Ρ€Π°ΠΈΠ²Π°Π½ΠΈΡŽ Python ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, сущСствуСт Maya, Π³Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Python. Но Ρ‚ΠΎΡ‚, ΠΊΡ‚ΠΎ Π²ΠΈΠ΄Π΅Π» ΠΈΠ·Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ для Maya, написанныС Π½Π° Python, согласится с Π½Π°ΠΌΠΈ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ выглядят ΠΎΠ½ΠΈ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ.

Π’ ΠΈΡ‚ΠΎΠ³Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Python, ΠΏΡ€ΠΈ всСх Π΅Π³ΠΎ ΡΠΈΠ»ΡŒΠ½Ρ‹Ρ… сторонах, Π½Π°ΠΌ Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚. Π’Π΅ΠΏΠ΅Ρ€ΡŒ рассмотрим JavaScript.

JavaScript

JavaScript β€” это, Π±Π΅Π· ΠΏΡ€Π΅ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠΉ, Π²Π΅Π»ΠΈΠΊΠΈΠΉ язык, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ Π·Π°Ρ…Π²Π°Ρ‚ΠΈΠ» ΠΌΠΈΡ€.

JavaScript β€” это популярный динамичСский язык, ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‰ΠΈΠΉΡΡ ΠΏΠΎΠ»ΠΎΠ³ΠΎΠΉ ΠΊΡ€ΠΈΠ²ΠΎΠΉ обучСния, ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‰ΠΈΠΉ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΌΠΈ возмоТностями, Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΈ ΠΎΠ±ΡˆΠΈΡ€Π½Ρ‹ΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ.

Если Π½Π°ΠΌ, для построСния ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ Π΄Π²ΠΈΠΆΠΊΠ°, Π½ΡƒΠΆΠ΅Π½ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ языка β€” ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΠΉΡ‚ΠΈ мноТСство Ρ‚Π°ΠΊΠΈΡ… ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠ². Π’ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΆΠ΅ придётся Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΈΠ· Π΄Π²ΡƒΡ… ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² β€” V8 ΠΈ WebKit. И Ρ‚ΠΎΡ‚ ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΈΠΌΠ΅ΡŽΡ‚ достаточно большиС Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹. Как Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, Ссли Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Ρ‘Ρ‚ ΠΎ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΈΠ³Ρ€Π°Ρ…, ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Ρ€ΠΈΡΠΊΠ½ΡƒΡ‚ΡŒ ΠΈ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π² ΠΈΠ³Ρ€Ρƒ вСсь ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€, Π½ΠΎ Π² случаС ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΈΠ³Ρ€ нас Ρ‚Π°ΠΊΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π½Π΅ устраиваСт.

Π’ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ SocialQuantum Π΅ΡΡ‚ΡŒ собствСнный ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ JavaScript, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ 98% тСстов, ΠΌΡ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅ΠΌ пСрСвСсти этот ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π² разряд опСнсорсных.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ оказываСтся, Ρ‡Ρ‚ΠΎ JavaScript выглядит ΡΠΈΠ»ΡŒΠ½Ρ‹ΠΌ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ΠΎΠΌ Π½Π° Ρ€ΠΎΠ»ΡŒ встраиваСмого языка, Π½ΠΎ Π½Π°ΠΌ ΠΎΠ½ Ρ‚ΠΎΠΆΠ΅ Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚.

Π’ΡƒΡ‚ Π½Π°Π΄ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ³Π΄Π° Π·Π°Ρ…ΠΎΠ΄ΠΈΡ‚ Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€ ΠΎ JavaScript, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π²ΡΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‚ Haxe. Но, Π½Π° самом Π΄Π΅Π»Π΅, ΠΎ возмоТности использования этого языка Π² качСствС встраиваСмого Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ Π½Π΅Ρ‚ смысла, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Haxe, ΠΏΠΎ сути, являСтся Π½Π΅ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ языком, сколько транс-компилятором Π² Π΄Ρ€ΡƒΠ³ΠΈΠ΅ языки. А это Π½Π΅ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ.

ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, нас устроит ActionScript ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ скриптовый язык?

ActionScript

Если Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ActionScript Π½Π° соотвСтствиС Π²Ρ‹ΡˆΠ΅ΠΎΠ·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΌ трСбованиям, Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ скриптовый язык Π½Π°ΠΉΠ΄Π΅Π½. На Π΅Π³ΠΎ сторонС динамичСская ΠΏΡ€ΠΈΡ€ΠΎΠ΄Π°, ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ, Π»Ρ‘Π³ΠΊΠΎΡΡ‚ΡŒ изучСния, Ρ…ΠΎΡ€ΠΎΡˆΠΈΠ΅ возмоТности, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, Π»Ρ‘Π³ΠΊΠΎΡΡ‚ΡŒ встраивания. Π­Ρ‚ΠΎΡ‚ язык Π»ΡŽΠ±ΡΡ‚ ΠΈ помнят Π² ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ индустрии, Π½Π° Π½Ρ‘ΠΌ написано ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Flash-ΠΈΠ³Ρ€. Главная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ActionScript Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ язык этот ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΌΡ‘Ρ€Ρ‚Π². ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ нас ΠΎΠ½ Ρ‚ΠΎΠΆΠ΅ Π½Π΅ устраиваСт.

AngelScript, Squirrel ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅

Помимо ActionScript сущСствуСт мноТСство скриптовых языков, Ρ‚Π°ΠΊΠΈΡ…, ΠΊΠ°ΠΊ AngelScript, Squirrel ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅. Π‘Ρ€Π΅Π΄ΠΈ Π½ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Ρ‚Π°ΠΊΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅, Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ, ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‚ нашим трСбованиям, Π½ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ это β€” языки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ привязаны ΠΊ ΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ, Π² Π½ΠΈΡ… Π±Ρ‹Π²Π°ΡŽΡ‚ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ застарСлыС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π³ΠΎΠ΄Π°ΠΌΠΈ Π½Π΅ ΠΈΡΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ. Они, скорСС всСго, Π½Π΅ слишком популярны, нСдостаточно Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹, ΠΏΠΎ Π½ΠΈΠΌ ΠΌΠ°Π»ΠΎ ΡƒΡ‡Π΅Π±Π½Ρ‹Ρ… ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ², Ρƒ Π½ΠΈΡ… Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ большиС сообщСства. Одним ΠΈΠ· слСдствий Ρ‚Π°ΠΊΠΎΠ³ΠΎ полоТСния Π΄Π΅Π» являСтся Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ ΠΈΡ… слоТно ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ β€” хотя Π±Ρ‹ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π½Π΅ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° ясно β€” Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ собой ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΈ ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚.

Как Π²ΠΈΠ΄Π½ΠΎ, идСального встраиваСмого языка ΠΌΡ‹ ΠΏΠΎΠΊΠ° Π½Π΅ нашли. Π§Ρ‚ΠΎ Ссли ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ собствСнный язык?

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ собствСнного языка

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

Π•ΡΡ‚ΡŒ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ собствСнныС языки, срСди Π½ΠΈΡ… Π΅ΡΡ‚ΡŒ ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½Ρ‹Π΅ ΠΈΠ³Ρ€ΠΎΠΊΠΈ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ Ρ€Ρ‹Π½ΠΊΠ°, Π½ΠΎ, скорСС всСго, это β€” Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ идСя.

РассмотрСв ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ языки программирования, ΠΏΡ€Π΅Ρ‚Π΅Π½Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π½Π° Ρ€ΠΎΠ»ΡŒ встраиваСмых ΠΈ обсудив идСю Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ собствСнного языка, ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Ρ‘ΠΌ ΠΊ Lua.

Lua β€” встраиваСмый язык, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ ΠΌΡ‹

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

Lua ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΈ Ρƒ Π½Π΅Π³ΠΎ довольно ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ. НС Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρƒ JavaScript, Π½ΠΎ, Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π½Π° сайтС LuaForge ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ практичСски всё, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ. И, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, Lua ΠΎΡ‡Π΅Π½ΡŒ просто встраиваСтся, Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ β€” ΠΎΠ½ создан для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ использовали ΠΊΠ°ΠΊ встраиваСмый язык.

НапримСр, Π²ΠΎΡ‚ ΠΊΠ°ΠΊ выглядит наша рабочая срСда Π½Π° основС IDE CLion ΠΎΡ‚ JetBrains. Π—Π΄Π΅ΡΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ созданный Π½Π°ΠΌΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ автодополнСния для Lua, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ планируСтся ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ опСнсорсным. ΠžΠΏΠ΅Π½ΡΠΎΡ€ΡΠ½Ρ‹ΠΌ ΠΌΡ‹ собираСмся ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ скриптовый язык. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ скриптовый язык. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ скриптовый язык. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ скриптовый язык. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ скриптовый язык

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ скриптовый язык. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ скриптовый язык. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ скриптовый язык. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ скриптовый язык. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ скриптовый язык

ΠœΡ‹ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ Lua, Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Ρ€Π΅Ρ‡ΡŒ Π·Π°Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΎΠ± использовании Π΅Π³ΠΎ Π² качСствС встраиваСмого скриптового языка, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ приходится ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Ρ‚ΡŒΡΡ с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΠΎΠ΄Π½ΠΈΠΌΠΈ ΠΈ Ρ‚Π΅ΠΌΠΈ ΠΆΠ΅ возраТСниями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ сСйчас рассмотрим.

ВозраТСния ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρƒ использования Lua

Lua ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для C Π° Π½Π΅ для Π‘++

Никто Π½Π΅ спорит с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Lua β€” ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ встраиваСмый язык. Π“Π»Π°Π²Π½ΠΎΠ΅, Ρ‡Ρ‚ΠΎ ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ Π΅Π³ΠΎ минусом, Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ создан для использования с языком C, Π° Π½Π΅ C++. Из-Π·Π° этого, ΠΏΡ‹Ρ‚Π°ΡΡΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π² Lua Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π² C++ ΠΈ Π½Π΅Ρ‚ Π² C, ΠΌΡ‹ сталкиваСмся с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ. Однако Ρ‚ΡƒΡ‚ Π½Π°Π΄ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ эти Ρ€Π΅ΡˆΠ°Π»ΠΎ мноТСство довольно ΡƒΠΌΠ½Ρ‹Ρ… людСй. Π‘Ρ€Π΅Π΄ΠΈ срСдств, Ρ€Π΅ΡˆΠ°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ встраивания Lua Π² C++-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅, ΠΊΠ°ΠΊ Luabind, Luabridge, toLua++, SQLuaHost. Π­Ρ‚ΠΎ β€” Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ ΠΏΠΎΠ»Π½Ρ‹ΠΉ список. Они ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ достоинствами ΠΈ нСдостатками, Π½ΠΎ, Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, скорСС всСго, всё, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ, ΡƒΠΆΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· этих Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ.

Рассмотрим, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ SQLuaHost. Π­Ρ‚ΠΎ β€” Π±ΠΈΠ½Π΄ΠΈΠ½Π³, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сдСлан Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ SocialQuantum, ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ планируСтся ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ опСнсорсным. Π­Ρ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ прСдставляСт нашС Π²ΠΈΠ΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΠΈΠ½Π΄ΠΈΡ‚ΡŒΡΡ Lua. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, Π²ΠΏΠΎΠ»Π½Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ Ссли Π²Ρ‹ Π½Π΅ нашли Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π² ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π±ΠΈΠ½Π΄Π΅Ρ€Π°Ρ…, Π²Ρ‹ Π½Π°ΠΉΠ΄Ρ‘Ρ‚Π΅ это Π² SQLuaHost.

Lua β€” это ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ

Нам часто приходится ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Ρ‚ΡŒΡΡ с ΠΌΠ½Π΅Π½ΠΈΠ΅ΠΌ, Π² соотвСтствии с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Lua β€” это ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΉ язык. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ… β€” это Π½Π΅ Ρ‚Π°ΠΊ. Lua β€” это стСковая машина, ΠΈ Ρ‚Π°ΠΌ, Π½Π° самом Π΄Π΅Π»Π΅, просто Π½Π΅Ρ‡Π΅ΠΌΡƒ Ρ‚ΠΎΡ€ΠΌΠΎΠ·ΠΈΡ‚ΡŒ. К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ Π½Π°Π΄ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² скриптовый язык ΠΌΡ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΡ‚Π΄Π°Ρ‘ΠΌ ΠΈΠ³Ρ€ΠΎΠ²ΡƒΡŽ Π»ΠΎΠ³ΠΈΠΊΡƒ, бизнСс-Π»ΠΎΠ³ΠΈΠΊΡƒ, Π° Π½Π΅ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ тяТёлыС Π²Π΅Ρ‰ΠΈ. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅, Ссли Lua-скрипты Π·Π°ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΈΠ³Ρ€Ρƒ Ρ‚ΠΎΡ€ΠΌΠΎΠ·ΠΈΡ‚ΡŒ, Ρ‚ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, кроСтся Π² Π½Π΅ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΌ Π±ΠΈΠ½Π΄ΠΈΠ½Π³Π΅ ΠΈΠ»ΠΈ Π² Π½Π΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌ использовании ΠΊΠ°ΠΊΠΈΡ…-Ρ‚ΠΎ функция языка. ΠœΡ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠ»ΠΈ синтСтичСскиС тСсты, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… LuaJIT Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ быстрСС, Ρ‡Π΅ΠΌ Mono. ΠŸΡ€ΠΈ этом Π½ΠΈΠΊΡ‚ΠΎ Π½Π΅ ΠΌΠ΅ΡˆΠ°Π΅Ρ‚ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊΠΎΠΉ Π²ΠΎΡ‚ Π½Π΅ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄:

Π—Π΄Π΅ΡΡŒ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΌ Ρ‚ΠΈΠΊΠ΅ создаётся новая тСкстура ΠΈ устанавливаСтся Π² качСствС Ρ„ΠΎΠ½Π°. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ такая конструкция Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅ особСнно быстро, Π½ΠΎ Π½ΠΈΠΊΡ‚ΠΎ Π½Π΅ ΠΌΠ΅ΡˆΠ°Π΅Ρ‚ ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ Π²ΠΎΡ‚ Π²Π΅Ρ‰ΠΈ.

Lua ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ²

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

ΠŸΡ€ΠΈ этом Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ Π½Π° Lua ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ малСнькиС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΏΠΈΡˆΡƒΡ‚ΡΡ быстро, Π° Π² ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ индустрии «быстрСС» β€” Π·Π½Π°Ρ‡ΠΈΡ‚ «дСшСвлС».

Π”Ρ€ΡƒΠ³ΠΈΠ΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΏΡ€ΠΎΡ‚ΠΈΠ² Lua

ΠšΡ€ΠΈΡ‚ΠΈΠΊΡƒΡ Lua, говорят ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ язык это Π΄Ρ€Π΅Π²Π½ΠΈΠΉ, Ρ‡Ρ‚ΠΎ ΠΎΠ½, Ρ‡Ρ‚ΠΎ называСтся, Β«ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈΒ», Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ООП, Ρ‡Ρ‚ΠΎ нумСрация элСмСнтов Π² Π΅Π³ΠΎ Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ… начинаСтся Π½Π΅ с 0, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ ΠΎΡ‚ любого ΠΏΡ€ΠΈΠ»ΠΈΡ‡Π½ΠΎΠ³ΠΎ языка, Π° с 1.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ скриптовый язык. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ скриптовый язык. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ скриптовый язык. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ скриптовый язык. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ скриптовый язык

Говорят, Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ минус Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π² Π½Ρ‘ΠΌ Π½Π΅Ρ‚ Ρ‚Π΅Ρ€Π½Π°Ρ€Π½ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°. На самом Π΄Π΅Π»Π΅, Ρ‚Π°ΠΊΠΈΡ… Π²ΠΎΡ‚ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΏΡ€ΠΎΡ‚ΠΈΠ² Lua довольно ΠΌΠ½ΠΎΠ³ΠΎ, Π½ΠΎ ΠΌΡ‹ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡ… ΠΎΠ±ΡΡƒΠΆΠ΄Π°Ρ‚ΡŒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ, ΠΏΠΎ большСй части, относятся ΠΊ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡ΠΊΠ°ΠΌ ΠΈ Π»ΠΈΡ‡Π½Ρ‹ΠΌ прСдпочтСниям Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

Π˜Ρ‚ΠΎΠ³ΠΈ

ΠŸΠΎΠ΄Π²Π΅Π΄Ρ‘ΠΌ ΠΈΡ‚ΠΎΠ³ΠΈ. Если ваша Π·Π°Π΄Π°Ρ‡Π° β€” с ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ усилиями ΠΎΠ±Π·Π°Π²Π΅ΡΡ‚ΠΈΡΡŒ встраиваСмым языком β€” Π²ΠΎΠ·ΡŒΠΌΠΈΡ‚Π΅ Lua. Π’ Ρ‚ΠΎ ΠΆΠ΅ врСмя, Ссли Ρƒ вас Π΅ΡΡ‚ΡŒ врСмя ΠΈ рСсурсы Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ собствСнного языка ΠΈΠ»ΠΈ собствСнных Π±ΠΈΠ½Π΄ΠΈΠ½Π³ΠΎΠ² β€” ΠΎΠΏΡΡ‚ΡŒ ΠΆΠ΅ β€” ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Lua. ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΈ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΈ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ случаях ΠΌΡ‹ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ Lua?

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

Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ случаС, Ссли Ρƒ вас Π΅ΡΡ‚ΡŒ рСсурсы Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ инструмСнтов, Π²Ρ‹, Π²Ρ‹Π±Ρ€Π°Π² Lua, смоТСтС с Ρ‚ΠΎΠ»ΠΊΠΎΠΌ ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ эти рСсурсы, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Lua, нСсмотря Π½Π° Π΅Π³ΠΎ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ Π² срСдС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ³Ρ€, язык вСсьма Π½Π΅Π΄ΠΎΠΎΡ†Π΅Π½Ρ‘Π½Π½Ρ‹ΠΉ. Как Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, Ρƒ вас Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ, взяв Π·Π° основу Lua, ΡƒΡ‡Π΅ΡΡ‚ΡŒ свои потрСбности ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π‘ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ²Ρ‹ΠΉ язык

Π’ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, сцСнарий (скрипт) β€” это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, которая Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π±Π΅Π· сцСнария ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄Π΅Π»Π°Π» Π±Ρ‹ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ интСрфСйс ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

ΠŸΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΈΠ»ΠΈ скрипты?

Для написания ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ скрипты (Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ «макросы»), Ρ‚Π°ΠΊ ΠΈ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ (нСзависимыС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, написанныС Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… языках; Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ Β«ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°ΠΌΠΈΒ», «экспортёрами», Β«Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°ΠΌΠΈΒ»).

Π‘ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ²Ρ‹ΠΉ язык ΡƒΠ΄ΠΎΠ±Π΅Π½ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… случаях:

Π£ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² ΠΆΠ΅ Π΅ΡΡ‚ΡŒ Ρ‚Ρ€ΠΈ Π²Π°ΠΆΠ½Ρ‹Ρ… прСимущСства.

Π’Π°ΠΊΠΆΠ΅ Π² ΠΏΠ»Π°Π½Π΅ быстродСйствия скриптовыС языки ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° языки динамичСского Ρ€Π°Π·Π±ΠΎΡ€Π° (sh, command.com) ΠΈ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ (Perl). Π―Π·Ρ‹ΠΊΠΈ динамичСского Ρ€Π°Π·Π±ΠΎΡ€Π° ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ инструкции ΠΈΠ· Ρ„Π°ΠΉΠ»Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ минимально Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠΌΠΈΡΡ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ, ΠΈ ΠΈΡΠΏΠΎΠ»Π½ΡΡŽΡ‚ эти Π±Π»ΠΎΠΊΠΈ, Π½Π΅ читая дальнСйший ΠΊΠΎΠ΄. ΠŸΡ€Π΅Π΄ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ языки Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΡƒΡŽΡ‚ всю ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π² Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ ΠΈ Π·Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»Π½ΡΡŽΡ‚ Π΅Π³ΠΎ. НСкоторыС скриптовыС языки ΠΈΠΌΠ΅ΡŽΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ компиляции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Β«Π½Π° Π»Π΅Ρ‚ΡƒΒ» Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ (Ρ‚. Π½. JIT-компиляция).

Π’ΠΈΠΏΡ‹ скриптовых языков

Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Π΅ скриптовыС языки

ВстроСнныС Π² ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

ΠšΠΎΠΌΠ°Π½Π΄Π½Ρ‹Π΅ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ

ВстраиваСмыС

Π’Π°ΠΊΠΆΠ΅ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ встроСна Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ сцСнариями Π½Π° любом ΠΈΠ· ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Ρ… скриптовых языков, см. ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ SWIG ΠΈΠ»ΠΈ автоматичСский ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ Π·Π°Π΄Π°Ρ‡.

ΠšΠΎΠΌΠ°Π½Π΄Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠ²

МногиС ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄, Π·Π°Ρ€Π°Π½Π΅Π΅ записанной Π² Ρ„Π°ΠΉΠ». Π’Π°ΠΊΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ Ρ‚ΠΎΠΆΠ΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ скриптами.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ‚Π°ΠΊΠΈΡ… ΡƒΡ‚ΠΈΠ»ΠΈΡ‚:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π‘ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ²Ρ‹ΠΉ язык

Π’ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, сцСнарий (скрипт) β€” это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, которая Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π±Π΅Π· сцСнария ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄Π΅Π»Π°Π» Π±Ρ‹ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ интСрфСйс ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

ΠŸΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΈΠ»ΠΈ скрипты?

Для написания ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ скрипты (Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ «макросы»), Ρ‚Π°ΠΊ ΠΈ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ (нСзависимыС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, написанныС Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… языках; Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ Β«ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°ΠΌΠΈΒ», «экспортёрами», Β«Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°ΠΌΠΈΒ»). Π‘ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ²Ρ‹ΠΉ язык ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅ Π² Ρ‚Π°ΠΊΠΈΡ… случаях:

Π£ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² ΠΆΠ΅ Π΅ΡΡ‚ΡŒ Ρ‚Ρ€ΠΈ Π²Π°ΠΆΠ½Ρ‹Ρ… прСимущСства.

Π’Π°ΠΊΠΆΠ΅ Π² ΠΏΠ»Π°Π½Π΅ быстродСйствия скриптовыС языки ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° языки динамичСского Ρ€Π°Π·Π±ΠΎΡ€Π° (sh, command.com) ΠΈ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ (Perl). Π―Π·Ρ‹ΠΊΠΈ динамичСского Ρ€Π°Π·Π±ΠΎΡ€Π° ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ инструкции ΠΈΠ· Ρ„Π°ΠΉΠ»Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ минимально Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠΌΠΈΡΡ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ, ΠΈ ΠΈΡΠΏΠΎΠ»Π½ΡΡŽΡ‚ эти Π±Π»ΠΎΠΊΠΈ, Π½Π΅ читая дальнСйший ΠΊΠΎΠ΄. ΠŸΡ€Π΅Π΄ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ языки Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΡƒΡŽΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π² Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ ΠΈ Π·Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»Π½ΡΡŽΡ‚ Π΅Π³ΠΎ. НСкоторыС скриптовыС языки ΠΈΠΌΠ΅ΡŽΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ компиляции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Β«Π½Π° Π»Π΅Ρ‚ΡƒΒ» Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ (см. JIT).

Π’ΠΈΠΏΡ‹ скриптовых языков

Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Π΅ скриптовыС языки

ВстроСнныС Π² ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

ΠšΠΎΠΌΠ°Π½Π΄Π½Ρ‹Π΅ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ

ВстраиваСмыС

Π’Π°ΠΊΠΆΠ΅ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ встроСна Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ сцСнариями Π½Π° любом ΠΈΠ· ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Ρ… скриптовых языков, см. ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ SWIG ΠΈΠ»ΠΈ автоматичСский ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ Π·Π°Π΄Π°Ρ‡.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π‘ΠΊΡ€ΠΈΠΏΡ‚

Π’ соврСмСнном ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π² Π‘Π΅Ρ‚ΠΈ скрипты (сцСнарии) – это ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ дСйствий, созданныС для автоматичСского выполнСния Π·Π°Π΄Π°Ρ‡ΠΈ. Если Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ сцСнария Π½Π΅Ρ‚, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ выполняСт эти дСйствия Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ Π·Π°Ρ‚Ρ€Π°Ρ‚Π°ΠΌΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ возмоТностями появлСния ошибок.

Для написания скриптов ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ языки программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Π°ΠΊ ΠΈ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ – скриптовыС. БоотвСтствСнно, скриптовый язык программирования – это Π½Π°Π±ΠΎΡ€ лСксичСский, сСмантичСских ΠΈ синтаксичСских ΠΏΡ€Π°Π²ΠΈΠ» для создания ΠΈ рСдактирования скриптов. ΠšΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ синонимичноС Π½Π°Π·Π²Π°Π½ΠΈΠ΅ «язык сцСнариСв».

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ развития скриптов

Рассмотрим для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ развития Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнного скриптового языка JavaScript. ИмСнно с Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ΡΡ мноТСство Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΏΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΈΡŽ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ с сайтами, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΡˆΠΈΡ€ΠΎΠΊΠΈΠ΅ возмоТности ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… страниц.

Π’ 1995 Π³ΠΎΠ΄Ρƒ компания Netscape для своСго популярного Π½Π° Ρ‚ΠΎΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° Netscape Navigator 2.0 ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ»Π° ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ язык ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ LiveScript. На Ρ‚ΠΎ врСмя возмоТности языка Π±Ρ‹Π»ΠΈ ΠΎΡ‡Π΅Π½ΡŒ скудными, ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ просто Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π»ΠΈ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ скрипт (script) Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅. Π’ΠΎΠ³Π΄Π° ΠΎΠ½ ΠΌΠΎΠ³ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ оставлял Π½Π° страницС сайта Ρ‡Π΅Ρ€Π΅Π· Ρ„ΠΎΡ€ΠΌΡƒ. Вакая ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π΄Π°Π²Π°Π»Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Ρ„ΠΎΡ€ΠΌΡ‹ Π±Π΅Π· Π½ΡƒΠΆΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. ВскорС Π½Π°Π·Π²Π°Π½ΠΈΠ΅ этого языка Π±Ρ‹Π»ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ Π½Π° JavaScript.

Π§Π΅Ρ€Π΅Π· Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя извСстный ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚ Netscape – корпорация Microsoft – создал свою Π²Π΅Ρ€ΡΠΈΡŽ JavaScript. НСсмотря Π½Π° Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠΉ скриптовый язык программирования ΠΈΠΌΠ΅Π» Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‰ΠΈΠ΅ΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΎΠ½ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ приТился ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» собствСнноС Π½Π°Π·Π²Π°Π½ΠΈΠ΅ JScript. Он Π½Π°Ρ‡Π°Π» ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ Internet Explorer начиная с вСрсии 3.0. Π§Π΅Ρ€Π΅Π· Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ стали ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ JavaScript.

Π‘ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ язык развивался ΠΈ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π»ΡΡ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ с Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ слоТныС Π·Π°Π΄Π°Ρ‡ΠΈ. Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ JavaScript являСтся встроСнным элСмСнтом всСх соврСмСнных Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ².

НСсмотря Π½Π° ΠΆΠ΅ΡΡ‚ΠΊΡƒΡŽ ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ†ΠΈΡŽ, Microsoft ΠΈ Netscape вмСстС с Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π°Π²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π½Ρ‹ΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ обСспСчСния для Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅ Ρ‚Ρ€ΡƒΠ΄ΠΈΠ»ΠΈΡΡŒ Π² ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ W3C. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π±Ρ‹Π»ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Ρ‹ Π΅Π΄ΠΈΠ½Ρ‹Π΅ стандарты ΠΈ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ. Но всС ΠΆΠ΅ языки JavaScript ΠΈ JScript ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ различия, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π² Ρ€Π°Π±ΠΎΡ‚Π΅.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ скриптов

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

Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ†Π΅Π»ΠΈ:

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° скриптов

НСдостатки скриптов

Π’ΠΈΠΏΡ‹ скриптов

По стСпСни быстродСйствия ΠΎΠ½ΠΈ ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° языки динамичСского Ρ€Π°Π·Π±ΠΎΡ€Π° (sh, COMMAND.COM) ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ компиляции, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Perl. Π’Π°ΠΊΠΆΠ΅ скриптовыС языки Ρ€Π°Π·Π±ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π½Π° нСсколько Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π³Ρ€ΡƒΠΏΠΏ ΠΏΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡŽ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ скриптовых языков

НаиболСС извСстныС: PHP, Perl, Python, AngelScript, JavaScript, JScript ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅. ВсС ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ высокоуровнСвыми. По своСму ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡƒ дСйствия скриптовыС языки ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ, Π° Π½Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ.

Роль скриптов Π² ΠΏΡ€ΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΈ

ИспользованиС Π² процСссС программирования страниц слайдСров, динамичСских Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… мСню, Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… элСмСнтов Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ позволяСт Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ ΡŽΠ·Π°Π±ΠΈΠ»ΠΈΡ‚ΠΈ сайтов, ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ ΠΈΡ… ΠΏΠΎΡΠ΅Ρ‰Π°Π΅ΠΌΠΎΡΡ‚ΡŒ. Π£Π΄Π°Ρ‡Π½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π° этой основС Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ²Ρ‹ΡˆΠ°ΡŽΡ‚ ΠΏΡ€ΠΎΠ΄Π°ΠΆΠΈ. Π’ качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ создания Π²ΠΈΠ΄Π΅ΠΎΠΏΡ€ΠΎΠ΄Π°ΡŽΡ‰ΠΈΡ… страниц. Π—Π΄Π΅ΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΈΠ΅ΠΌΡ‹ Π½Π° основС JavaScript.

И Ρ‚Π°ΠΊΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ мноТСство.

ΠžΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ стоит ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ создания скриптов, ΠΈΠΌΠΈΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ дСйствия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… направлСниях. Π’Π°ΠΊΠΈΠ΅ скрипты ΠΈ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π½Π° основС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ZennoPoster, Human Emulator ΠΈ ΠΈΡ… Π°Π½Π°Π»ΠΎΠ³ΠΎΠ².

Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ базируСтся Π½Π° Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π² ΡˆΠ°Π±Π»ΠΎΠ½Π°Ρ… ZennoPoster ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½Π° любая ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ дСйствий Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ΠŸΡ€ΠΈ этом ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ практичСски Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ΅ количСство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊΠ°ΠΊ собствСнныС, Ρ‚Π°ΠΊ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌΡ‹Π΅ ΠΈΠ· Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Π±Π°Π·Ρ‹.

Π’ качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ Π² Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ мноТСство дСйствий ΠΏΠΎ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΡŽ сайтов ΠΈ Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ² Π² ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ сСти Β«Π’ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚Π΅Β». Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ объявлСний ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² Π‘Π΅Ρ‚ΠΈ. Π’Ρ€Π΅Ρ‚ΡŒΠΈ Π² Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ мноТСство Π±Π»ΠΎΠ³ΠΎΠ² ΠΈ страниц, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ ссылки ΠΈΠ»ΠΈ коммСрчСская информация. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ видят Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Ρ‚Π°ΠΊΠΈΡ… дСйствий, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ Π·Π½Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ это заскриптованный Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ для Π½ΠΈΡ… Π² соцмСдиа.

Π’ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… случаях для продвиТСния сайтов Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ мноТСство Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ΠΎΠ² ΠΏΠΎΡ‡Ρ‚Ρ‹. Π’ качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹ΠΉ сСрвис mail.ru. Автоматизированный шаблон для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ZennoPoster Π»Π΅Π³ΠΊΠΎ справляСтся с этой Π·Π°Π΄Π°Ρ‡Π΅ΠΉ. ΠŸΡ€ΠΈ этом скрипт Π½Π΅ просто Π·Π°Ρ…ΠΎΠ΄ΠΈΡ‚ Π½Π° страницу рСгистрации, Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ выполняСт Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΠΎ Ρ€Π°Π·Π³Π°Π΄Ρ‹Π²Π°Π½ΠΈΡŽ ΠΊΠ°ΠΏΡ‡ΠΈ, опрСдСляСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΉ Π±Π°Π½ IP-адрСса ΠΈ выполняСт ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… дСйствий.

ИспользованиС языка JavaScript Π² контСкстной Ρ€Π΅ΠΊΠ»Π°ΠΌΠ΅

Π•Ρ‰Π΅ Π² 2012 Π³ΠΎΠ΄Ρƒ рСкламная систСма Google AdWords внСсла Π² свой интСрфСйс возмоТности использования скриптов для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ управлСния Ρ€Π΅ΠΊΠ»Π°ΠΌΠ½ΠΎΠΉ ΠΊΠ°ΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ. Π’Π°ΠΊΠΎΠΉ способ управлСния Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ быстрСС, Ρ‡Π΅ΠΌ использованиС API.

К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ ΠΎΠ½ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ примСнСния слоТных языков программирования. Π—Π°Π΄Π°Ρ‡ΠΈ Π½Π° основС скриптов Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ ΠΏΠΎ Ρ€Π°ΡΠΏΠΈΡΠ°Π½ΠΈΡŽ. Они ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Ρ€Π΅Π³ΡƒΠ»ΡΡ€Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π°, Π΄Π°ΡŽΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ статистику Ρ€Π΅ΠΊΠ»Π°ΠΌΡ‹ ΠΈ Π²Π½ΠΎΡΠΈΡ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ Π·Π°Π΄Π°Π½Π½Ρ‹Π΅ измСнСния.

ΠŸΡ€ΠΈ этом ΠΌΠΎΠΆΠ½ΠΎ Π² Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ качСство Ρ€Π΅ΠΊΠ»Π°ΠΌΠ½Ρ‹Ρ… объявлСний, ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ нСэффСктивныС ΠΊΠ°Π½Π°Π»Ρ‹ Ρ€Π΅ΠΊΠ»Π°ΠΌΡ‹ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ эффСктивныС.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠžΠ±Π·ΠΎΡ€ скриптовых языков программирования

ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅ ΠΎ скриптовых языках

ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅ скриптинга (написания скриптов) Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ довольно Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Ссли ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ скрипт ΠΊΠ°ΠΊ Ρ‚Π΅Π°Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ сцСнарий. Π₯отя сцСнарий являСтся ΠΈΡΡ‡Π΅Ρ€ΠΏΡ‹Π²Π°ΡŽΡ‰ΠΈΠΌ, ΠΏΡ€ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠ° Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ исполнСния оставлСна Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ Π°ΠΊΡ‚Π΅Ρ€Π°ΠΌ ΠΈ рСТиссСру. К соТалСнию, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ нСльзя ΡΡƒΠ·ΠΈΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ скриптовых языков: манипулируя прилоТСниями, любой язык низшСго уровня ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ скриптовый язык!

НС ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΈΠ»ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ языки всС большС ΠΈ большС Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°ΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ Π½Π° смСну ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌ языкам. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ просто ΠΊΠ°ΠΊ инструмСнт ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ (Ρ‡Π΅ΠΌ ΠΎΠ½Π° собствСнно ΠΈ являСтся), использованиС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²ΠΎ всСх случаях Π΅Π΄Π²Π° Π»ΠΈ Ρ€Π°Π·ΡƒΠΌΠ½ΠΎ. Она всС Π΅Ρ‰Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½Π° ΠΏΡ€ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ΅ Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ срСды, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ управляСтС, ΠΎΠ΄Π½Π°ΠΊΠΎ, компиляция всС Ρ‡Π°Ρ‰Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒΡΡ просто ΠΊΠ°ΠΊ способ ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, Π³Ρ€Π°Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ компиляциСй ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ, которая всСгда Π±Ρ‹Π»Π° Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Π°, Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·ΠΌΡ‹Ρ‚Π° Π΅Ρ‰Π΅ большС. Π£ языка Perl ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ Ρ„Π°Π·Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ компиляции ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ. Π‘ΡƒΠ΄ΡƒΡ‰Π΅Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π° ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ компиляторы всС Ρ‡Π°Ρ‰Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π½Π°Ρ†Π΅Π»Π΅Π½Ρ‹ Π½Π° абстрактныС «Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°ΡˆΠΈΠ½Ρ‹» (ΠΊΠ°ΠΊ JVM Ρƒ Sun ΠΈΠ»ΠΈ CLR Ρƒ Microsoft), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°ΡΠ»Π°ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π½Π° Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Π΅ срСдства. На ΠΊΠ°ΠΊΠΎΠΌ этапС программирования Π²Ρ‹ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚Π΅? И ΠΈΠΌΠ΅Π΅Ρ‚ Π»ΠΈ это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅?

ДинамичСскиС языки Π² качСствС Π΄ΠΎΠΌΠΈΠ½ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… языков Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… областях ΠΌΠΎΠ³ΡƒΡ‚ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π³Π½Π°Ρ‚ΡŒ Java ΠΈ Π‘++. Π—Π°ΠΊΠΎΠ½ ΠœΡƒΡ€Π° 3 Π½Π° сторонС динамичСских языков.

БтатичСскиС языки Π²ΠΎ врСмя компиляции ΠΏΡ‹Ρ‚Π°ΡŽΡ‚ΡΡ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ всС Ρ‚ΠΎΡ‡ΠΊΠΈ Π½Π°Π΄ «i». Π”ΠΎΠ»Π³ΠΎΠ΅ врСмя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΠΎΠ»Π°Π³Π°Π»ΠΈ, Ρ‡Ρ‚ΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ Ρ‚ΠΈΠΏΠΎΠ² статичСских языков ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡ… ΠΊΠΎΠ΄ΠΎΠ². Однако всС Ρ‡Π°Ρ‰Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ приходят ΠΊ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡŽ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»ΠΎ Π½Π΅ Π² этом. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, тСорСтичСски Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ Π² распоряТСнии ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ «Π˜ΠΌΡΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Сля», Π½ΠΎ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ Π²ΠΎ врСмя исполнСния, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° ссылаСтся Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса «Π—Π°ΠΊΠ°Π·ΠΠ°ΠŸΠΎΡΡ‚Π°Π²ΠΊΡƒ». Однако Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ всС ΠΆΠ΅ маловСроятно.

Π’ Ρ‡Π΅ΠΌ ΠΆΠ΅ состоит ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ скриптовых языков?

КакиС ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°Ρ‚ΡŒ нСдостатки скриптовых языков?

НиТС слСдуСт ΠΎΠ±Π·ΠΎΡ€ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ популярных скриптовых языков.

VBScript

Visual Basic Scripting Edition (ΠΈΠ»ΠΈ просто VBScript) β€” это язык программирования ΠΎΡ‚ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Microsoft, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для создания сцСнариСв (скриптов). Он являСтся подмноТСством языка Visual Basic ΠΈ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ создании административных сцСнариСв Π² систСмС Windows. VBScript ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ поддСрТиваСтся Π² Windows Script Host (WSH), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ устанавливаСтся вмСстС с ΠΏΠΎΡ‡Ρ‚ΠΈ любой вСрсиСй Windows. Если Ρƒ вас слишком старая вСрсия Windows, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ WSH с сайта Microsoft ΠΈ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ.

Бинтаксис VBScript являСтся нСсколько ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π½ΠΎΠΉ вСрсиСй стандартного синтаксиса Visual Basic. НапримСр, Π² VBScript Π½Π΅ поддСрТиваСтся типизация: всС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‚ΠΈΠΏ Variant. Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΈ Π½Π° языкС VBScript Ρ‡Π°Ρ‰Π΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… областях:

JScript

JScript β€” это язык программирования ΠΎΡ‚ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Microsoft. Он ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для создания сцСнариСв ΠΈ являСтся Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ стандарта ECMAScript. Бинтаксис JScript Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π΅Π½ языку JavaScript ΠΎΡ‚ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Netscape. JScript ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ поддСрТиваСтся Π² Windows Script Host (WSH), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ устанавливаСтся вмСстС с ΠΏΠΎΡ‡Ρ‚ΠΈ любой вСрсиСй Windows. Если Ρƒ вас слишком старая вСрсия Windows, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ WSH с сайта Microsoft ΠΈ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ.

Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΈ Π½Π° языкС JScript Ρ‡Π°Ρ‰Π΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… областях:

Π―Π·Ρ‹ΠΊ JScript ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» дальнСйшСС Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ Π² Π²ΠΈΠ΄Π΅ языка JScript.NET, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Microsoft ASP.NET.

JavaScript

Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв ΠΏΡ€ΠΈ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠΈ JavaScript подразумСваСтся Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ клиСнтский JavaScript, ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ встроСн Π² Web-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹. Однако JavaScript ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ ΠΊΠ°ΠΊ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ язык программирования для встраивания Π² любоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ обСспСчСния возмоТности написания Π² Π½Π΅ΠΌ сцСнариСв. НапримСр, ActionScript, язык сцСнариСв, доступный Π² Macromedia Flash 5 ΠΈ MX, Ρ‚Π°ΠΊΠΆΠ΅ смодСлирован Π² соотвСтствии со стандартом ECMAScript.

Python

Python (ΠΏΠΈΡ‚ΠΎΠ½) β€” ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык программирования высокого уровня. Он ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ классы, ΠΌΠΎΠ΄ΡƒΠ»ΠΈ (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Ρ‹ Π² ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹), ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΠ½ΠΈΡ‚Π΅Π²ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ. Python относится ΠΊ классу языков с динамичСской Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ, прСдоставляСт программисту Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ «сборку мусора» ΠΈ ΡƒΠ΄ΠΎΠ±Π½Ρ‹Π΅ высокоуровнСвыС структуры Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ словари, списки, ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΈ Π΄Ρ€. ΠŸΠΈΡ‚ΠΎΠ½ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ ΠΏΠΎΡ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΌΠΎΡ‰ΡŒ с простым ΠΈ ясным синтаксисом, ΠΏΡ€ΠΎΠ΄ΡƒΠΌΠ°Π½Π½ΠΎΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒΡŽ. Одной ΠΈΠ· интСрСсных синтаксичСских особСнностСй языка являСтся Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ отступов (ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² ΠΈΠ»ΠΈ табуляций), поэтому Π² Python ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π½Ρ‹Π΅ скобки («begin/end», ΠΊΠ°ΠΊ Π² языкС Паскаль ΠΈΠ»ΠΈ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки, ΠΊΠ°ΠΊ Π² Π‘ΠΈ). Python β€” oΠ΄Π½ΠΎ ΠΈΠ· самых простых срСдств ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΡŽ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡŽ ООП. Часто являСтся ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ (для обучСния), Ρ‚Π°ΠΊ ΠΈ послСдним (Π² Ρ‡Π΅Ρ€Π΅Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΌΠΈ программистами) языком программирования.

Python ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π° всСх извСстных ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…. Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΏΠΎΡ€Ρ‚Ρ‹ ΠΏΠΎΠ΄ Windows, всС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ UNIX (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Linux), Mac OS ΠΈ Mac OS X, Palm OS, OS/2 ΠΈ Ρ‚.Π΄. ΠŸΡ€ΠΈ этом, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… систСм, Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Python ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ всС Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹Π΅ для Π΄Π°Π½Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Microsoft COM/DCOM). Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, сущСствуСт ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ вСрсия Python для Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Java β€” Jython (http://www.jython.org/), Ρ‡Ρ‚ΠΎ позволяСт ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρƒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π½Π° любой систСмС, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰Π΅ΠΉ Java, ΠΏΡ€ΠΈ этом классы Java ΠΌΠΎΠ³ΡƒΡ‚ нСпосрСдствСнно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈΠ· Python ΠΈ Π΄Π°ΠΆΠ΅ Π±Ρ‹Ρ‚ΡŒ написанными Π½Π° Python.

Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ языка Python распространяСтся свободно Π½Π° основании Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ Python Software Foundation (PSF) Licence (http://python.org/psf/license.html), которая Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ€ΠΎΠ΄Π΅ Π΄Π°ΠΆΠ΅ Π±ΠΎΠ»Π΅Π΅ Π΄Π΅ΠΌΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‡Π½Π°, Ρ‡Π΅ΠΌ GNU General Public License (http://gnu.org/copyleft/). ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ сайт ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° языка Python располагаСтся ΠΏΠΎ адрСсу http://python.org/. Π—Π΄Π΅ΡΡŒ ΠΆΠ΅ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Β«DownloadΒ» ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΡΠ²Π΅ΠΆΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ для вашСй ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. РусскоязычныС сайты, посвящСнныС Python: http://www.python.ru/, http://zope.net.ru/.

Π’ стандартный ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ поставки Python Π²Ρ…ΠΎΠ΄ΠΈΡ‚ интСгрированная срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ IDLE, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅,Ρ‡Π΅ΠΌ Π² простом тСкстовом Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅. IDLE написан Π½Π° Python с использованиСм платформонСзависимой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Tcl, поэтому Π»Π΅Π³ΠΊΠΎ запускаСтся Π² любой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ сущСствуСт рСализация Python. IDLE Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ систСму ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ.

Для Python ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ доступа ΠΊ Π‘Π£Π‘Π” (Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Windows доступ ΠΊ Π‘Π” Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Ρ‡Π΅Ρ€Π΅Π· ADO). Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ для Python ΠΏΠΎΠ΄ Windows ΠΈ Unix/Linux для доступа ΠΊ Oracle, Sybase, Informix ΠΈ MySQL. БущСствуСт Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚ mxODBC для доступа ΠΊ Π‘Π£Π‘Π” Ρ‡Π΅Ρ€Π΅Π· ODBC, Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΉ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… Windows ΠΈ Unix.

Π‘ Python поставляСтся Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° tkinter для создания кроссплатформСнных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ с графичСским интСрфСйсом. Данная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° являСтся фактичСски стандартом для GUI-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, написанных Π½Π° Python. МногиС люди ΠΏΡ€ΠΈ написании GUI ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΠΆΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ wxPython, основанной Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ wxWidgets. Π’Π°ΠΊΠΆΠ΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ PyQT (PyQt) ΠΈ PyGTK.

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

Ruby β€” ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ скриптовый язык высокого уровня для быстрого ΠΈ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования. Ruby ΠΈΠΌΠ΅Π΅Ρ‚ большоС количСство срСдств для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ тСкстов, для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ систСмных Π·Π°Π΄Π°Ρ‡. Ruby являСтся ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ свободным языком программирования с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ копирования, ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ распространСния. Ruby пСрСнСсён Π½Π° мноТСство ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ. Он разрабатывался Π½Π° Linux, Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° ΠΌΠ½ΠΎΠ³ΠΈΡ… вСрсиях Unix, DOS, Windows 95/98/Me/NT/2000/XP, Mac OS, BeOS, OS/2, ΠΈ Ρ‚.Π΄. ЦСлью создания Ruby Π±Ρ‹Π» настоящий ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ язык программирования. НазваниС отсылаСт ΠΊ языку Perl, наслСдником ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ являСтся Ruby (Π΄Ρ€Π°Π³ΠΎΡ†Π΅Π½Π½Ρ‹Π΅ ΠΊΠ°ΠΌΠ½ΠΈ: Π°Π½Π³Π». pearl β€” ΠΆΠ΅ΠΌΡ‡ΡƒΠΆΠΈΠ½Π°, Π°Π½Π³Π». ruby β€” Ρ€ΡƒΠ±ΠΈΠ½).

Ruby ΠΈΠΌΠ΅Π΅Ρ‚ простой ΠΈ понятный синтаксис, позволяСт ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² стилС Java ΠΈ Python, позволяСт Π»Π΅Π³ΠΊΠΎ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π° самом Π΄Π΅Π»Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ. Ruby β€” ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык программирования. ВсС Π΄Π°Π½Π½Ρ‹Π΅ Π² Ruby ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Π² ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ SmallTalk. НапримСр, число Β«1Β» β€” это экзСмпляр класса Fixnum. Π’Π°ΠΊΠΆΠ΅ поддСрТиваСтся Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π² класс ΠΈ Π΄Π°ΠΆΠ΅ Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ экзСмпляр Π²ΠΎ врСмя исполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Ruby ΡΠΎΠ·Π½Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ мноТСствСнноС наслСдованиС, вмСсто ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ сущСствуСт концСпция ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ. Ruby содСрТит автоматичСский сборщик мусора. Он Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ для всСх ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Ruby, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π½Π΅ Π½Π°Π΄ΠΎ Π·Π°Π±ΠΎΡ‚ΠΈΡ‚ΡŒΡΡ ΠΎ подсчётС ссылок Π΄Π°ΠΆΠ΅ Π²ΠΎ Π²Π½Π΅ΡˆΠ½ΠΈΡ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ…. Ruby Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ объявлСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π―Π·Ρ‹ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ простыС соглашСния для обозначСния области видимости. ΠŸΡ€ΠΈΠΌΠ΅Ρ€: просто ‘var’ β€” локальная пСрСмСнная, ‘@var’ β€” пСрСмСнная экзСмляра (Ρ‡Π»Π΅Π½ ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° класса), ‘$var’ β€” глобальная пСрСмСнная. Ruby ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡƒΡŽ ΠΎΡ‚ ОБ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ многопоточности.

Новости Ruby: http://rubynews.ru. Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΡƒΠΌ для программистов Π½Π° языкС Ruby: http://ruby-forum.ru/. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ конструкций языка: http://pleac.sourceforge.net/pleac_ruby/index.html.

PHP (ΠΏΠΈ-эйч-ΠΏΠΈ) β€” ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ скриптовый язык программирования, созданный для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ HTML-страниц Π½Π° Π²Π΅Π±-сСрвСрС ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Π’ области Π²Π΅Π±-программирования PHP являСтся Π½Π° сСгодняшний дСнь ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· самых распространённых Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ (наряду с Perl, ASP/.NET ΠΈ Python) благодаря простотС, скорости выполнСния ΠΈ Π±ΠΎΠ³Π°Ρ‚ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. PHP распространяСтся свободно. Бинтаксис языка ΠΏΠΎΡ…ΠΎΠΆ Π½Π° синтаксис Π‘++. PHP поддСрТиваСтся ΠΏΠΎΠ΄Π°Π²Π»ΡΡŽΡ‰ΠΈΠΌ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎΠΌ прСдоставитСлСй сСтСвого хостинга.

НазваниС «PHP» прСдставляСт собой ΡΠ°ΠΌΠΎΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΡƒΡŽ (Ρ€Π΅ΠΊΡƒΡ€ΡΠΈΠ²Π½ΡƒΡŽ) Π°Π±Π±Ρ€Π΅Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρƒ ΠΈ Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ΡΡ ΠΊΠ°ΠΊ «PHP: Hypertext Preprocessor», ΠΈΠ»ΠΈ «Personal Home Page». PHP Π±Ρ‹Π» создан Π² качСствС надстройки Π½Π°Π΄ Perl для облСгчСния Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²Π΅Π±-страниц. Π—Π° свою Тизнь PHP Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ измСнялся. Одной ΠΈΠ· ΡΠΈΠ»ΡŒΠ½Π΅ΠΉΡˆΠΈΡ… сторон PHP являСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ядра. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ написания Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊ ΠΊ PHP мноТСство сторонних Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… Π½Π°Π΄ своими модулями, Ρ‡Ρ‚ΠΎ Π΄Π°Π»ΠΎ PHP Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΌ количСством Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ², ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ большоС число API. PHP ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ООП (дСструкторы, ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅, Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ ΠΈ Π·Π°Ρ‰ΠΈΡ‰Ρ‘Π½Π½Ρ‹Π΅ Ρ‡Π»Π΅Π½Ρ‹ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, final-Ρ‡Π»Π΅Π½Ρ‹ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, интСрфСйсы ΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²). PHP ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ XML.

ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ сайт: http://php.net/. РусскоС руководство ΠΏΠΎ PHP: http://ru.php.net/manual/ru/. Русскоязычный рСсурс ΠΎ PHP: http://www.phpclub.ru/.

Perl β€” ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ скриптовый язык программирования, ΠΎΠ΄ΠΈΠ½ ΠΈΠ· самых распространённых Π² области Π²Π΅Π±-программирования. По ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· вСрсий, Perl β€” Π°Π±Π±Ρ€Π΅Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°, которая Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ΡΡ ΠΊΠ°ΠΊ «Practical Extraction and Report Language» (практичСский язык ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠΉ ΠΈ ΠΎΡ‚Ρ‡Ρ‘Ρ‚ΠΎΠ²). БущСствуСт Ρ‚Π°ΠΊΠΆΠ΅ ряд Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ². Богласно самому красивому ΠΈΠ· Π½ΠΈΡ…, Π½Π°Π·Π²Π°Π½ΠΈΠ΅ «perl» ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ ΠΎΡ‚ слова «pearl» (ΠΆΠ΅ΠΌΡ‡ΡƒΠΆΠΈΠ½Π°).

Основной ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ языка ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ Π΅Π³ΠΎ Π±ΠΎΠ³Π°Ρ‚Ρ‹Π΅ возмоТности для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с тСкстом, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ (regular expressions). ΠŸΠ΅Ρ€Π» Ρ‚Π°ΠΊΠΆΠ΅ Π·Π½Π°ΠΌΠ΅Π½ΠΈΡ‚ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠ΅ΠΉ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ CPAN, находящСйся ΠΏΠΎ адрСсу http://www.cpan.org/.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

ΠšΡ€ΠΎΠΌΠ΅ Π²Ρ‹ΡˆΠ΅ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹Ρ…, сущСствуСт мноТСство нСсколько ΠΌΠ΅Π½Π΅Π΅ популярных скриптовых языков (Π½ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ интСрСсных), ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅. Π’ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ…: Parser (http://www.parser.ru/), JudoScript (http://www.judoscript.com/), HaskellScript (http://www.haskell.org/haskellscript/), LuaScript (http://www.luascript.thersgb.net/luascript/), NullScript (http://www.iwebthereforeiam.com/projects/NullScript.asp).

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *