ΠšΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ язык: ΠšΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ языки: список, ΠΏΠ»ΡŽΡΡ‹ ΠΈ минусы

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

ΠšΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ язык программирования | это… Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠšΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ язык программирования?

ΠšΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ язык программирования — язык программирования, исходный ΠΊΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ прСобразуСтся компилятором Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ записываСтся Π² Ρ„Π°ΠΉΠ», с особым Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ ΠΈ/ΠΈΠ»ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ, для ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ этого Ρ„Π°ΠΉΠ»Π°, ΠΊΠ°ΠΊ исполняСмого, ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой (Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… языков программирования, Ρ‡ΡŒΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ-ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠΌ).

ΠšΠ»Π°ΡΡΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ языков программирования Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅, являСтся Π½Π΅Ρ‚ΠΎΡ‡Π½ΠΎΠΉ ΠΈ вСсьма условной, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ для любого языка программирования ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан ΠΊΠ°ΠΊ компилятор, Ρ‚Π°ΠΊ ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€. И, Π² Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, сущСствуСт мноТСство языков, инструмСнтарий ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя ΠΈ компилятор, ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ (Π½Π°ΠΏΡ€. Ch ΠΈ CINT[1] для C ΠΈΠ»ΠΈ Lisp). ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ языков, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‚ исходный тСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Ρ‚Π΅ΠΌ Π»ΠΈΠ±ΠΎ интСрпрСтируСтся, Π»ΠΈΠ±ΠΎ выполняСтся Ρ‚. Β Π½. JIT-компилятором. Π­Ρ‚ΠΎ привносит Π΅Ρ‰Ρ‘ большС нСясности Π² вопрос ΠΎ Ρ‚ΠΎΠΌ, Π³Π΄Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° Π³Ρ€Π°Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌ языком ΠΈ языком ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌ.

Π―Π·Ρ‹ΠΊΠΈ программирования принято Ρ€Π°Π·Π΄Π΅Π»ΡΡ‚ΡŒ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ Π² силу Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Ρ… Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ:

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

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

  • 1 ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅
  • 2 ΠšΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ языки программирования
  • 3 ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ
  • 4 Бсылки

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅

ΠšΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ языки ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π±Ρ‹ΡΡ‚Ρ€ΡƒΡŽ ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΈ поэтому ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ для создания часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

ΠšΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ языки программирования

Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ ссылок Π½Π° источники ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ провСряСма, ΠΈΠ½Π°Ρ‡Π΅ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ поставлСна ΠΏΠΎΠ΄ сомнСниС ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Π°.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ эту ΡΡ‚Π°Ρ‚ΡŒΡŽ, Π΄ΠΎΠ±Π°Π²ΠΈΠ² ссылки Π½Π° Π°Π²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π½Ρ‹Π΅ источники.
Π­Ρ‚Π° ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ° установлСна 30 ΠΌΠ°Ρ€Ρ‚Π° 2012.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ языки принято ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ:

  • Ada
  • ALGOL
    • Algol 60
    • Algol 68
    • SMALL
  • Asm
  • BASIC (создавался ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ, Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ)
  • C
    • C++
    • Objective-C
  • CLEO
  • COBOL
  • Cobra
  • Common Lisp
  • D
  • Delphi
  • Eiffel
    • Sather
    • Ubercode
  • Fortran
  • Go
  • Java
  • JOVIAL
  • LabVIEW
  • Lush
  • ML
    • Standard ML
      • Alice
    • Ocaml
  • Pascal
  • PureBasic
  • Visual Basic
  • Visual Foxpro
  • Visual Prolog

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ

  1. ↑ CINT | ROOT

Бсылки

  • ΠšΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ языки Π² dmoz.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ JS? | JS: Настройка окруТСния

Π—Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΡƒΠΉΡ‚Π΅ΡΡŒ для доступа ΠΊ 15+ бСсплатным курсам ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ с Ρ‚Ρ€Π΅Π½Π°ΠΆΠ΅Ρ€ΠΎΠΌ

Π§Ρ‚ΠΎ Π²ΠΎΠΎΠ±Ρ‰Π΅ Ρ‚Π°ΠΊΠΎΠ΅ язык программирования?

Π―Π·Ρ‹ΠΊΠΎΠΌ программирования Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΏΡ€Π°Π²ΠΈΠ»Π°, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ записываСтся исходный ΠΊΠΎΠ΄. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ СстСствСнных языков, эти ΠΏΡ€Π°Π²ΠΈΠ»Π° достаточно строги. Π›ΡŽΠ±Π°Ρ ΠΌΠ΅Π»ΡŒΡ‡Π°ΠΉΡˆΠ°Ρ ошибка β€” ΠΈ ΠΊΠΎΠ΄ Π½Π΅ запустится, ΠΈΠ»ΠΈ запустится, Π½ΠΎ Π½Π΅ Π·Π°Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΊ оТидаСтся. НапримСр, Π² JavaScript нСльзя Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ const name;. Π­Ρ‚ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΊΠ½ΠΈΠ³Π°Ρ… ΠΈ Π³ΠΎΠ»ΠΎΠ²Π°Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΏΠΈΡˆΡƒΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° этом языкС. Они Ρ‡Π΅Ρ‚ΠΊΠΎ описаны Π² спСцификации β€” Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΈΠΊΡ‚ΡƒΠ΅Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»Π°, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ язык.

БинтаксичСски ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ это Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° Π΄Π΅Π»Π°. Он Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это всСго лишь тСкст. ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΡƒΠΌΠ΅Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ лишь ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ (Π½ΡƒΠ»ΠΈ ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ‡ΠΊΠΈ). Для прСвращСния исходного ΠΊΠΎΠ΄Π° Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π΄Π²Π° ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°.

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

JavaScript относится ΠΊ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌ языкам. Для Π΅Π³ΠΎ запуска Π½ΡƒΠΆΠ½Π° ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° – ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€. НапримСр, ΠΊΠΎΠ³Π΄Π° JavaScript ΠΊΠΎΠ΄ выполняСтся Π½Π° сСрвСрС, ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠΌ Ρ‡Π°Ρ‰Π΅ всСго выступаСт Node.js, ΠΊΠΎΠ³Π΄Π° Π½Π° Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄Π΅ β€” сам Π±Ρ€Π°ΡƒΠ·Π΅Ρ€. Π’ Π΄Ρ€ΡƒΠ³ΠΈΡ… мСстах, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ встраиваСмыС устройства ΠΈΠ»ΠΈ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΠΈ, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ свои собствСнныС ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹.

Π’ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ всС Ρ‡ΡƒΡ‚ΡŒ слоТнСС. НСпосрСдствСнно ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΡŽ выполняСт «Π΄Π²ΠΈΠΆΠΎΠΊ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ встроСн ΠΈ Π² Node.js, ΠΈ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹.

// node запускаСт ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Π΅Ρ€Π΅Ρ‚ исходный ΠΊΠΎΠ΄ index. js,
// Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Π΅Π³ΠΎ (это называСтся парсинг),
// Π° Π·Π°Ρ‚Π΅ΠΌ построчно исполняСт
node index.js

Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½ΠΎ сущСствуСт Π΄Π²Π° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… класса языков – интСрпрСтируСмыС ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅. Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· этих Π³Ρ€ΡƒΠΏΠΏ Π΅ΡΡ‚ΡŒ свои ΠΏΠ»ΡŽΡΡ‹ ΠΈ минусы, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π² Ρ€Π°Π·Π½Ρ‹Ρ… ΡΡ‚Π°Ρ‚ΡŒΡΡ…. Π—Π΄Π΅ΡΡŒ ΠΆΠ΅ ΠΌΡ‹ сосрСдоточимся Π½Π° особСнностях ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ JavaScript.

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ‡Π΅ΡΠΊΠΈ JavaScript разрабатывался ΠΏΠΎΠ΄ самый популярный Π½Π° Ρ‚ΠΎΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€. Новый язык позволял Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Π½Π° страницы, хотя ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ всС сводилось ΠΊ снСТинкам ΠΈ Ρ€Π°Π·Π½Ρ‹ΠΌ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ эффСктам. Π‘ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ распробовали этот язык ΠΈ стали Π°ΠΊΡ‚ΠΈΠ²Π½Π΅Π΅ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ с Π΅Π³ΠΎ участиСм. Одним ΠΈΠ· самых извСстных ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Π½Ρ‹Ρ… ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠ² стало появлСниС сСрвиса Gmail, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π° ΠΏΠΎΠ»Π½ΡƒΡŽ ΠΊΠ°Ρ‚ΡƒΡˆΠΊΡƒ использовал AJAX (Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ HTTP-запросов ΠΊ сСрвСру). JavaScript Π½Π°Ρ‡ΠΈΠ½Π°Π» ΠΈΠ³Ρ€Π°Ρ‚ΡŒ всС Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ€ΠΎΠ»ΡŒ Π² создании сайтов, ΠΈ ΡƒΠΆΠ΅ всС Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ ΠΎΠ·Π°Π΄Π°Ρ‡ΠΈΠ²Π°Π»ΠΈΡΡŒ Π΅Π³ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ. Для этого практичСски ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΡ€ΡƒΠΏΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° создавал свой собствСнный ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€.

Π”Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅Π΅ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π²Ρ‹Π²Π΅Π»ΠΎ JavaScript Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π‘Π½Π°Ρ‡Π°Π»Π° появилась сСрвСрная рСализация Node.js, Π·Π°Ρ‚Π΅ΠΌ ΠΎΠ½ стал ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π΄Π°ΠΆΠ΅ Π²ΠΎ встраиваСмых систСмах. БСйчас Π΄Π°ΠΆΠ΅ ΡƒΡ‚ΡŽΠ³ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ JavaScript.

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

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

Π―Π·Ρ‹ΠΊΠΈ сцСнариСв ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ языки Π² WebAssembly

ΠžΠ±Π΅Ρ‰Π°Π½ΠΈΠ΅ WebAssembly состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±Ρ‰Π΅ΠΉ срСдой выполнСния для всСх Π²ΠΈΠ΄ΠΎΠ² языков. Но Π΅ΡΡ‚ΡŒ различия ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΌΡ‹ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎ пишСм Π½Π° скриптовых языках (JavaScript, Python, Ruby) ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ языками (C/C++, Go, Rust). Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ скомпилированныС языки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π² ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Java, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π°Ρ Π² JVM. Π’ этом постС ΠΌΡ‹ рассмотрим Π»Π°Π½Π΄ΡˆΠ°Ρ„Ρ‚ WebAssembly, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ происходит Π½Π° этих Ρ„Ρ€ΠΎΠ½Ρ‚Π°Ρ….

Взгляд Π½Π° языки программирования с высоты ΠΏΡ‚ΠΈΡ‡ΡŒΠ΅Π³ΠΎ ΠΏΠΎΠ»Π΅Ρ‚Π°

Взглянув Π½Π° самыС популярныС языки программирования, ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ Ρ‚Ρ€ΠΈ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ° языков программирования:

 1 JavaScript
2 ΠΏΠΈΡ‚ΠΎΠ½Π°
2 Π―Π²Π°
4 PHP
5 Π‘Π‘Π¦
5 Π‘++
5 Π‘#
8 машинопись
9 Ρ€ΡƒΠ±ΠΈΠ½
10 Π‘
 

Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΉ дСсяткС ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ нСсколько ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… языков, ΠΏΠ°Ρ€Ρƒ языков Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… машин ΠΈ ΠΏΡΡ‚ΡŒ языков сцСнариСв.

ΠšΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ языки

Π’ ΠΏΠ΅Ρ€Π²ΡƒΡŽ дСсятку списка C++ (β„–5) ΠΈ C (β„–10) входят языки, скомпилированныС Π² Ρ€ΠΎΠ΄Π½Ρ‹Π΅. Rust ΠΈ Go β€” Π΄Π²Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… популярных ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… языка, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΏΠΎΠΏΠ°Π»ΠΈ Π² Ρ‚ΠΎΠΏ-10. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, эти языки ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, спСцифичный для Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. ΠšΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΌΡƒ языку Π½Π΅ Π½ΡƒΠΆΠ΅Π½ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ ΠΈΠ»ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина для выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ΠšΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ языки ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Ρ€Π°Π½Π½ΡŽΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ WebAssembly. На самом Π΄Π΅Π»Π΅ всС Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ (C, C++, Rust ΠΈ Go) ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² WebAssembly. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ эти языки ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΈ ОБ. Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° C ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ скомпилирована ΠΎΠ΄Π½ΠΈΠΌ способом для запуска Π½Π° ARM ΠΈ Linux ΠΈ скомпилирована Π΄Ρ€ΡƒΠ³ΠΈΠΌ способом для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² macOS с процСссором Intel (ΠΈΠ½ΠΎΠ³Π΄Π° ΠΊΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹). Но ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ скомпилированы Π² WebAssembly, ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² любой срСдС выполнСния WebAssembly нСзависимо ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы, Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня.

Когда Π΄Π΅Π»ΠΎ Π΄ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Π΄ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ компиляторов WebAssembly, Rust ΠΈ C ΠΈΠ΄ΡƒΡ‚ дальшС всСх, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠΌΠ΅Π΅Ρ‚ Π±Π΅Π·ΡƒΠΏΡ€Π΅Ρ‡Π½ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° C++ обСспСчиваСтся компиляторами C ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‚Π°ΠΊΠΆΠ΅ Ρ…ΠΎΡ€ΠΎΡˆΠΎ поддСрТиваСтся. ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ дистрибутив Go (ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΠΉ Google) Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ отстаСт, Π½ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ TinyGo компСнсируСт Ρ€Π°Π·Π½ΠΈΡ†Ρƒ. ВсС эти языки Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΊ использованию Π² WebAssembly.

По сути, компиляция ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· этих Β«Ρ€ΠΎΠ΄Π½Ρ‹Ρ…Β» языков Π² WebAssembly ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π²Π΅Π΄ΡƒΡ‚ сСбя большС ΠΊΠ°ΠΊ языки Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… машин.

Π―Π·Ρ‹ΠΊΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹

Π’ ΠΏΠ΅Ρ€Π²ΡƒΡŽ дСсятку вошли Π΄Π²Π° языка Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… машин: Java (β„–2) ΠΈ C# (β„–5). Π”Ρ€ΡƒΠ³ΠΈΠ΅ популярныС языки Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… машин Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Scala, F# ΠΈ Kotlin. Π­Ρ‚ΠΈ языки ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ, Π½ΠΎ Π½Π΅ Π² собствСнный ΠΊΠΎΠ΄. Они ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ Β«Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Β». Π—Π°Ρ‚Π΅ΠΌ этот ΠΊΠΎΠ΄ загруТаСтся Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ срСду выполнСния ΠΈΠ»ΠΈ Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ (JVM для Java ΠΈΠ»ΠΈ CLR для C#).

.NET (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ C#, F# ΠΈ ASP.net) ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π½ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ WebAssembly Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅, ΠΈ ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° Microsoft Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π°Π΄ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡΠΌΠΈ.

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Kotlin развиваСтся быстро, ΠΈ Π΅ΡΡ‚ΡŒ ряд ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² для Java ΠΈ Scala.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ эти языки пСрСнСсСны Π² WebAssembly, ΠΈΠΌ большС Π½Π΅ понадобятся срСды выполнСния для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… языков. НапримСр, Kotlin Π½Π΅ понадобится JVM. Он Π±ΡƒΠ΄Π΅Ρ‚ скомпилирован нСпосрСдствСнно Π² WebAssembly, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ нСпосрСдствСнно Π²ΠΎ врСмя выполнСния WebAssembly.

На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° этих языков ΠΌΠ΅Π½Π΅Π΅ Π½Π°Π΄Π΅ΠΆΠ½Π°, Ρ‡Π΅ΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ языки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ рассмотрСли Π²Ρ‹ΡˆΠ΅ (хотя всС ΠΎΠ½ΠΈ быстро ΡƒΠ»ΡƒΡ‡ΡˆΠ°ΡŽΡ‚ΡΡ). Но Ссли Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΠ° сохранится, ΠΊΠ°ΠΊ сСгодня, ΠΌΡ‹ скоро ΡƒΠ²ΠΈΠ΄ΠΈΠΌ, ΠΊΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ языки Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… машин ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² WebAssembly.

Π‘Ρ†Π΅Π½Π°Ρ€Π½Ρ‹Π΅ (ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅) языки

ΠŸΡΡ‚ΡŒ языков сцСнариСв вошли Π² дСсятку Π»ΡƒΡ‡ΡˆΠΈΡ… языков программирования: JavaScript (β„–1), Python (β„–2), PHP (β„–4), TypeScript (β„–8) ΠΈ Ruby (β„–9). Π―Π·Ρ‹ΠΊΠΈ сцСнариСв ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ. ВмСсто этого ΠΊΠΎΠ΄ пСрСдаСтся нСпосрСдствСнно Π² ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Π²ΠΎ врСмя выполнСния. Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ ΠΈ выполняСт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Π»Π΅Ρ‚Ρƒ. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΊΠΎΠ΄ загруТаСтся ΠΈ выполняСтся Π² Ρ‚Π°Π½Π΄Π΅ΠΌΠ΅, срСды языков сцСнариСв ΠΈΠ½ΠΎΠ³Π΄Π° Π΄Π΅Π»Π°ΡŽΡ‚ Ρ‚ΠΎ, Ρ‡Π΅Π³ΠΎ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ языки. НапримСр, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ части исходного ΠΊΠΎΠ΄Π° Π²ΠΎ врСмя выполнСния являСтся Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ это Π½Π΅ являСтся Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… языков.

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

Из языков сцСнариСв, входящих Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ дСсятку, JavaScript находится Π² стадии Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎ Π΄Π²ΠΈΠΆΠΎΠΊ SpiderMonkey, Π»Π΅ΠΆΠ°Ρ‰ΠΈΠΉ Π² основС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ JavaScript Π² Firefox, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ компилируСтся Π² WebAssembly.

По ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ Π½Π° ΡΠ½Π²Π°Ρ€ΡŒ 2022 Π³ΠΎΠ΄Π° ΠΈ Ruby, ΠΈ Python Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠ³ΡƒΡ‚ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свои ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ срСды выполнСния Π² WebAssembly. Π₯отя Π² ΠΎΠ±ΠΎΠΈΡ… случаях ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Wasm находится Π½Π° Ρ€Π°Π½Π½Π΅ΠΉ стадии, ΠΌΡ‹ считаСм, Ρ‡Ρ‚ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° самая слоТная Ρ‡Π°ΡΡ‚ΡŒ сдСлана, ΠΎΠ½ΠΈ ΠΎΡ‡Π΅Π½ΡŒ быстро ΡΠΎΠ·Ρ€Π΅ΡŽΡ‚. (На Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π΅ Ρƒ нас Π΅ΡΡ‚ΡŒ нСсколько сообщСний Π² Π±Π»ΠΎΠ³Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Ruby ΠΈ Python Π² дСйствии!)

TypeScript ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ пСрСводится Π² JavaScript. Π—Π°Ρ‚Π΅ΠΌ сгСнСрированный Ρ„Π°ΠΉΠ» загруТаСтся Π² ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ JavaScript. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, успСх JavaScript автоматичСски ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ TypeScript. Но Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² TypeScript Π΅ΡΡ‚ΡŒ интСрСсная Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π°. AssemblyScript β€” это надмноТСство TypeScript, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ компилируСтся Π² WebAssembly. Π₯отя ΠΎΠ½ сохраняСт ΠΎΡ‰ΡƒΡ‰Π΅Π½ΠΈΠ΅ языка сцСнариСв, Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ ΠΎΠ½ Π²Π΅Π΄Π΅Ρ‚ сСбя ΠΊΠ°ΠΊ скомпилированный язык.

НаконСц, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° PHP Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ отстаСт ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… языков сцСнариСв. НСсколько Π½Π΅ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ выполнСния PHP Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅, загруТая ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ PHP, скомпилированный WebAssembly, Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΈ выполняя Ρ‚Π°ΠΌ ΠΊΠΎΠ΄. НСкоторыС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΏΠΎΡ€Π°ΠΆΠ°ΡŽΡ‚. PHP с Π΅Π³ΠΎ модСлью запрос/ΠΎΡ‚Π²Π΅Ρ‚ Π±Ρ‹Π» Π±Ρ‹ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΌ языком для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ WebAssembly. ΠœΡ‹ Π²ΠΎΠΎΠ΄ΡƒΡˆΠ΅Π²Π»Π΅Π½Ρ‹ пСрспСктивами Π½Π° Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅.

Π―Π·Ρ‹ΠΊΠΈ сцСнариСв ΠΌΠΎΠ³ΡƒΡ‚ ΡΡ‚Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ языками

И послСднСС Π·Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ… Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ Π² языках. Π‘ WebAssembly ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ языки, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ C, Rust ΠΈ Go, фактичСски становятся языками Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… машин. МоТСм Π»ΠΈ ΠΌΡ‹ ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚ΠΎ ΠΆΠ΅ самоС ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ ΠΈ Π² ΠΌΠΈΡ€Π΅ сцСнариСв? Π‘ΡƒΠ΄ΡƒΡ‚ Π»ΠΈ языки сцСнариСв ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ WebAssembly?

Π•ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ основания ΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° этот вопрос Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ.

  • ΠžΠ±Ρ‰Π°Ρ модСль выполнСния ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ с WebAssembly. А Π΄Π²ΡƒΡ…ΡΡ‚Π°ΠΏΠ½ΡƒΡŽ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ скриптовых языков ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ одноэтапной.
  • ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ‚ΠΎΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°. Π’Ρ€ΡƒΠ΄Π½ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ двухстадийный процСсс Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ, насколько ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ одностадийный процСсс.
  • Π˜Π·Π±Ρ‹Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° β€” Ρ‚Ρ€Π΅Ρ‚ΡŒΡ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°: прямо сСйчас ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ скрипт Python, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π½Π° WebAssembly, Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒΡΡ с ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠ΅ΠΉ срСды Python. ΠŸΡ€ΠΈ компиляции ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π² Python Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ части срСды Python ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹ Π²ΠΎ врСмя компиляции, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡŽ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° прилоТСния
  • .
  • AssemblyScript ΡƒΠΆΠ΅ Π»ΠΈΠ΄ΠΈΡ€ΡƒΠ΅Ρ‚, раздСляя Π΄ΠΈΠ·Π°ΠΉΠ½ TypeScript, Π½ΠΎ компилируя нСпосрСдствСнно Π² Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ WebAssembly.

JavaScript, Π±ΡƒΠ΄ΡƒΡ‡ΠΈ самым популярным языком программирования, вСроятно, являСтся Ρ‚Π΅ΠΌ, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅ языков сцСнариСв Π² WebAssembly. Но Π² настоящСС врСмя ΠΌΠΎΠΆΠ½ΠΎ с ΡƒΠ²Π΅Ρ€Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ модСль двухэтапного ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° являСтся основным ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ выполнСния языков сцСнариСв Π² WebAssembly.

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

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° выполнСния популярных языков Π² WebAssembly быстро растСт. ΠœΡ‹ исслСдовали 10 самых популярных языков, Π½ΠΎ Ссли Π±Ρ‹ ΠΌΡ‹ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΠ»ΠΈΡΡŒ Π΄ΠΎ 20 самых популярных, ΠΌΡ‹ Π±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Π»ΠΈ Ρ‚Ρƒ ΠΆΠ΅ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Ρƒ. МногиС языки, популярныС ΠΈ малоизвСстныС, ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ WebAssembly. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ сам WebAssembly ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π½ΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρƒ нас Π΅ΡΡ‚ΡŒ всС основания ΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ WebAssembly станСт популярной Ρ†Π΅Π»ΡŒΡŽ для растущСго числа языков.

Руководство ΠΏΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌ ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌ языкам программирования β€” GameDev Academy

Π₯ΠΎΡ‚ΠΈΡ‚Π΅ Π»ΠΈ Π²Ρ‹ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ свои Π½Π°Π²Ρ‹ΠΊΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΠ³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΡΡ Π² Π½ΠΎΠ²Ρ‹ΠΉ язык программирования, Π²Ρ‹, вСроятно, ΡΡ‚ΠΎΠ»ΠΊΠ½Π΅Ρ‚Π΅ΡΡŒ с ΠΎΠ΄Π½ΠΈΠΌ вопросом: ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ языки . Π₯отя эти Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ, Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ Π½Π΅ всСгда пСрСдаСтся β€” ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ это Π²Π°ΠΆΠ½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚Π΅ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ.

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

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

Как Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ шагом ΠΊ пониманию Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ языками программирования являСтся Π±Π°Π·ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹.

ΠœΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄

По сути, ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ β€” это просто Π½Π°Π±ΠΎΡ€ элСктричСских сигналов. Иногда ΠΌΡ‹ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ эти сигналы, Π° ΠΈΠ½ΠΎΠ³Π΄Π° Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ ΠΈΡ…. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ смыслС Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎΠ± этом ΠΊΠ°ΠΊ ΠΎ Π±ΠΎΠ»Π΅Π΅ элСмСнтарной вСрсии Π°Π·Π±ΡƒΠΊΠΈ ΠœΠΎΡ€Π·Π΅. И, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π°Π·Π±ΡƒΠΊΠ΅ ΠœΠΎΡ€Π·Π΅, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ этим элСктричСским сигналам значСния.

Π’ Π½Π°Ρ‡Π°Π»Π΅ этой ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ ΠΌΡ‹ Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ простыС значСния 0 ΠΈ 1, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, Π±Ρ‹Π» Π»ΠΈ сигнал Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΈΠ»ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ объСдинили эти 0 ΠΈ 1 Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ ΠΏΡ€ΠΈΠ΄Π°Π»ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· этих ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° людСй это Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ извСстно ΠΊΠ°ΠΊ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ , Π° Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ являСтся основной Π΄Π²ΠΈΠΆΡƒΡ‰Π΅ΠΉ силой машинного ΠΊΠΎΠ΄Π° , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ заставляСт ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° самом Π±Π°Π·ΠΎΠ²ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅.

Π’ этот ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΎΠ΄Π½Π°ΠΊΠΎ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ, Π·Π°Ρ‡Π΅ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊ? Ну, ΠΏΠΎ сути, для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ Ρ‚Π°ΠΊ ΠΆΠ΅ быстро, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ, Π½Π°ΠΌ Π½ΡƒΠΆΠ½Ρ‹ Π±Ρ‹Π»ΠΈ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±ΠΎΠ»Π΅Π΅ простыС числовыС значСния для ΠΏΠΎΠ΄Π°Ρ‡ΠΈ Π½Π° ЦП. Π‘Π΅Π· этого ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹, вСроятно, Π²Π΅Ρ‡Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ Π±Ρ‹ Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ, ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΌΡƒΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ доступ Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π²Ρ‹ ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ с ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ острова. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, это чистоС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π΄Π°Π»ΠΎ Π½Π°ΠΌ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ для выполнСния всСго, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π΄Π΅Π»Π°Π΅ΠΌ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ….

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ язык программирования?

Учитывая всС Π²Ρ‹ΡˆΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅, Π²Ρ‹, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΌΡ‹ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π²Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ (ΠΈΠ»ΠΈ ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½Ρ‹Ρ… числах, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π»Π΅Π³ΠΊΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ΡΡ Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅), Ссли Π²Π°ΠΌ Ρ‚Π°ΠΊ хочСтся. Однако Π·Π½Π°ΠΉΡ‚Π΅, Ρ‡Ρ‚ΠΎ это Π±ΡƒΠ΄Π΅Ρ‚ большой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ!

ВмСсто этого люди нашли Π±ΠΎΠ»Π΅Π΅ простой способ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ это: языков программирования .

Π―Π·Ρ‹ΠΊΠΈ программирования ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠΈ Π½Π° иностранныС языки. Они ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π½Π°ΠΌ структурированный словарный запас ΠΈ Β«Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΡƒΒ» (Ρ‚. ВмСсто Π½ΡƒΠ»Π΅ΠΉ ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ† языки программирования Π±Ρ‹Π»ΠΈ созданы с расчСтом Π½Π° Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π»Π΅Π³ΠΊΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈ ΠΏΠΈΡΠ°Ρ‚ΡŒ с ΠΈΡ… ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ для достиТСния ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ здСсь Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡŽΠ°Π½ΡΡ‹, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π½Π°ΠΌ всС Π΅Ρ‰Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ ΠΎΠ± этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ Π±Ρ‹Π» совмСстим с ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°ΠΌΠΈ (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΌΠΈ инструкциями). Но Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ‰Π΅, Ρ‡Π΅ΠΌ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ 10 000 Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… символов для достиТСния Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ эффСкта.

Однако, ΠΊΠ°ΠΊ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π΄ΠΎΠ³Π°Π΄Π°Ρ‚ΡŒΡΡ, ΠΌΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ этот ΡƒΠ΄ΠΎΠ±ΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΉ язык ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. Π˜Ρ‚Π°ΠΊ, Π½Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ способ пСрСвСсти Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ язык программирования, Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ссли Π±Ρ‹ Ρƒ нас Π±Ρ‹Π» ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ способ ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ этот ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΈΠ»ΠΈ, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, Π΄Π°ΠΆΠ΅ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π½Π° мСстС?

Π˜Ρ‚Π°ΠΊ, ΠΌΡ‹ подошли ΠΊ основной Ρ‚Π΅ΠΌΠ΅ этой ΡΡ‚Π°Ρ‚ΡŒΠΈ: ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ языки.

Π―Π·Ρ‹ΠΊΠΈ программирования для машинного ΠΊΠΎΠ΄Π°

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ язык?

ΠšΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ язык программирования β€” это Ρ‚ΠΎΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ компилятор для ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π΄ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния . ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° написана, скомпилированныС языки проходят этап, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ «сборкой». Π­Ρ‚ΠΎΡ‚ шаг сборки Π² основном инструктируСт компилятор, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π΅ΡΡ‚ΡŒ инструкции ΠΏΠΎ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρƒ языка программирования, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ свою Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΠΎ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρƒ ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ, ΠΏΠΎ сути, Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅. Π—Π°Ρ‚Π΅ΠΌ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ выполняСтС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ прямо ΠΊ этому Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΌΡƒ Ρ„Π°ΠΉΠ»Ρƒ ΠΈ выполняСт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π² соотвСтствии с Ρ‚Π΅ΠΌΠΈ скомпилированными инструкциями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΆΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Ρ‹ для понимания ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ популярных ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… языков: C++, C#, F#, Go, Kotlin, Python (Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ), Rust, Swift

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ язык?

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ популярных ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… языков: JavaScript, Lua, Perl, PHP, Python (Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ), Ruby, PowerShell

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ компилятор Just-In-Time?

Π₯отя ΠΌΡ‹ Π΅Ρ‰Π΅ Π½Π΅ упомянули ΠΎΠ± этом, сущСствуСт ΠΎΠ΄ΠΈΠ½ Ρ‚ΠΈΠΏ компиляции, тСсно связанный ΠΊΠ°ΠΊ с ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ, Ρ‚Π°ΠΊ ΠΈ с ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ языками, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ стоит ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ: JIT-компиляторы. ИдСя компиляторов Β«Ρ‚ΠΎΡ‡Π½ΠΎ Π² срок» состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ прСимущСства ΠΊΠ°ΠΊ компиляторов, Ρ‚Π°ΠΊ ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠ² (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ обсудим Π½ΠΈΠΆΠ΅). Π’Π°ΠΊΠΈΠ΅ компиляторы Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ΄ Π²ΠΎ врСмя выполнСния ΠΈ Π²Π·ΡΡ‚ΡŒ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹Π΅ части ΠΈ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ пСрСвСсти ΠΈΡ… Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. Π’ Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ замСдляСтся Π²ΠΎ врСмя Π°Π½Π°Π»ΠΈΠ·Π°, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ часто, ΠΎΠ±Ρ‰Π΅Π΅ прСимущСство позволяСт Π²Π°ΠΌ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ рСгулярно ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… языков β€” Π² основном Ρ‚Ρƒ Ρ‡Π°ΡΡ‚ΡŒ, Π³Π΄Π΅ ΠΎΠ½ΠΈ Π² Ρ†Π΅Π»ΠΎΠΌ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ языков, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ JIT-компиляторы: Java, C#, Scala, Visual Basic

ΠšΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅: прСимущСства ΠΈ нСдостатки

Π˜Ρ‚Π°ΠΊ, ΠΌΡ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ интСрпрСтация Π½Π° самых Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… уровнях. Однако Π·Π°Ρ‡Π΅ΠΌ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ Ρ‚ΠΈΠΏ языка/ΠΌΠ΅Ρ‚ΠΎΠ΄Π° компиляции Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ. Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΌΡ‹ обрисуСм основныС прСимущСства ΠΈ нСдостатки ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ языками.

Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ выполнСния

Π§Π°Ρ‰Π΅ всСго ΠΏΡ€ΠΈ обсуТдСнии ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… языков это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²ΠΎΠ΅, с Ρ‡Π΅ΠΌ Π²Ρ‹ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π΅Ρ‚Π΅ΡΡŒ. И Π½Π° Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ вСская ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ являСтся основным Ρ€Π΅ΡˆΠ°ΡŽΡ‰ΠΈΠΌ Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ для ΠΌΠ½ΠΎΠ³ΠΈΡ… Ρ€Π°Π·Π½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

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

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

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

Π¨Π°Π³ΠΈ компиляции

БущСствуСт Π΅Ρ‰Π΅ ΠΎΠ΄Π½ΠΎ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ «псСвдоскорости» Π² обсуТдСнии компиляции ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π·Π° Ρ€Π°ΠΌΠΊΠΈ выполнСния: шаги компиляции. Под этим ΠΌΡ‹ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅ΠΌ, насколько быстро ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΎΡ‚ Π½Π΅ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ для Π΅Π³ΠΎ выполнСния ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ быстрСС.

Π’ этом ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ языки Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠΌΠ΅ΡŽΡ‚ прСимущСство. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ языки пСрСводятся Π²ΠΎ врСмя выполнСния, Π²Π°ΠΌ ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… шагов, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΎΡ‚ ΠΊΠΎΠ΄Π° ΠΊ исполнСнию. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ всС, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, это Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, ΠΈ Π±ΡƒΠΌ, ваш ΠΊΠΎΠ΄ запускаСтся ΠΈ выполняСтся ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅.

Однако, ΠΊΠ°ΠΊ Π±Ρ‹Π»ΠΎ установлСно Ρ€Π°Π½Π΅Π΅, скомпилированныС языки Π½ΡƒΠΆΠ΄Π°ΡŽΡ‚ΡΡ Π² Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌ шагС «сборки», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΎΡ‚ ΠΊΠΎΠ΄Π° ΠΊ исполняСмому ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ. ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ этого шага сборки сильно различаСтся ΠΎΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΈ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ зависит ΠΎΡ‚ слоТности. НапримСр, ваш простой скрипт Β«Hello WorldΒ», скорСС всСго, скомпилируСтся ΠΌΠ΅Π½Π΅Π΅ Ρ‡Π΅ΠΌ Π·Π° 1 сСкунду. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, ваша ΠΈΠ³Ρ€Π° с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ ΠΌΠΈΡ€ΠΎΠΌ с сотнями пСрсонаТСй ΠΈ сцСнариями, вСроятно, Π·Π°ΠΉΠΌΠ΅Ρ‚ Π² Π»ΡƒΡ‡ΡˆΠ΅ΠΌ случаС нСсколько ΠΌΠΈΠ½ΡƒΡ‚.

ОбС «скорости» ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΏΠ°Ρ€Ρƒ компромиссов. ΠšΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ языки ΠΆΠ΅Ρ€Ρ‚Π²ΡƒΡŽΡ‚ Β«ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽΒ» компиляции Ρ€Π°Π΄ΠΈ Π±ΠΎΠ»Π΅Π΅ быстрого выполнСния, Π° ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ языки ΠΆΠ΅Ρ€Ρ‚Π²ΡƒΡŽΡ‚ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ выполнСния Ρ€Π°Π΄ΠΈ Π±ΠΎΠ»Π΅Π΅ быстрой компиляции.

Π“ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ

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

Как ΠΈ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ случаС, ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ языки Π²Ρ‹ΠΈΠ³Ρ€Ρ‹Π²Π°ΡŽΡ‚ здСсь. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ происходит Π²ΠΎ врСмя выполнСния, Π° Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ компиляции Π½Π΅Ρ‚; Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свой ΠΊΠΎΠ΄ Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΈ сразу ΠΆΠ΅ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ. На самом Π΄Π΅Π»Π΅, Π²Ρ‹ Π΄Π°ΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈ Π½Π΅ испытываСт ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Ρ… ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹Ρ… эффСктов! Π­Ρ‚ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚Π°ΠΊ просто.

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

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок компиляции

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, связанная с компиляциСй для ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… языков, β€” это ошибки. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ваш ΠΌΠ΅Ρ‚ΠΎΠ΄ компиляции, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ сталкиваСтся с ошибками компиляции Π² ΠΊΠΎΠ΄Π΅? Π£ этого слоТнСС ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρƒ ΠΊΠΎΠ³ΠΎ прСимущСство ΠΈΠ»ΠΈ нСдостаток, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ , ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠΉΠΌΠ°Ρ‚ΡŒ эти ошибки.

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

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

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ, всС зависит ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Π΅Π³ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ!

ΠŸΠ΅Ρ€Π΅Π½ΠΎΡΠΈΠΌΠΎΡΡ‚ΡŒ

ПослСднСС Π²Π°ΠΆΠ½ΠΎΠ΅ прСимущСство/нСдостаток, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ слСдуСт ΠΎΠ±ΡΡƒΠ΄ΠΈΡ‚ΡŒ для ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… языков, касаСтся пСрСносимости. Π’ этом ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Π»Π΅Π³ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ с устройства Π½Π° устройство.

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

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

ΠŸΠΎΡ‡Π΅ΠΌΡƒ скомпилированноС ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΌΡ‹ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠΌ этот пост, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΡƒΠ΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ врСмя ΠΎΠ±ΡΡƒΠΆΠ΄Π΅Π½ΠΈΡŽ послСднСй части скомпилированного ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ пространства: ΠΏΠΎΡ‡Π΅ΠΌΡƒ это Π²Π°ΠΆΠ½ΠΎ.

Π Π°Π·Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ Ρ€Π°Π·Π½ΠΎΠΉ скорости выполнСния

ΠœΡ‹ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΡΠ½ΡƒΠ»ΠΈΡΡŒ этого Π²Ρ‹ΡˆΠ΅, Π½ΠΎ этот ΠΌΠΎΠΌΠ΅Π½Ρ‚ стоит ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ. Как Π½ΠΈ посмотри, скомпилированныС языки Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ быстрСС, Π΄Π°ΠΆΠ΅ Ссли процСсс компиляции Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. И, Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, это ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹Π΅ послСдствия.

НапримСр, ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΈΠ³Ρ€Π°ΠΌΠΈ, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΌΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°, ΠΈ ΠΈΠ³Ρ€Π°ΠΌΠΈ класса AAA, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Soulcalibur VI . Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π½Ρ‹Ρ… ΠΈΠ³Ρ€ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ JavaScript, ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ языка, ΠΈ поэтому ΠΈΠΌΠ΅ΡŽΡ‚ мСньший ΠΌΠ°ΡΡˆΡ‚Π°Π±. Π’ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ это связано с Ρ‚Π΅ΠΌ Ρ„Π°ΠΊΡ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ языки нСсколько ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‚ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ этих ΠΈΠ³Ρ€. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π·Π°Π΄Π΅Ρ€ΠΆΠ΅ΠΊ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ ΠΈΡ… Ρ€Π°Π·ΠΌΠ΅Ρ€ β€” графичСски ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ.

Однако с Soulcalibur VI , здСсь Π³ΠΎΡ€Π°Π·Π΄ΠΎ большС возмоТностСй для слоТной Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΠΈ. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ эта ΠΈΠ³Ρ€Π° Π±Ρ‹Π»Π° основана Π½Π° C++, скомпилированном языкС, ΠΈΠ³Ρ€Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ прСимущСства скорости, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΎΠΏΡ‹Ρ‚ с интСнсивной 3D-Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠΉ, Ρ‡Π΅Π³ΠΎ Π²Ρ‹ Π½Π΅ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π½ΠΎΠΉ ΠΈΠ³Ρ€Π΅.

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

Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ быстрСС ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΡ‰Π΅

Когда Π²Ρ‹ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚Π΅ ΠΏΠΎΠ³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒΡΡ Π² ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ Π±ΠΎΠ»Π΅Π΅ высокого уровня, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ машинноС ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅, послСднСС, Ρ‡Ρ‚ΠΎ Π²Ρ‹, ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ, это Π·Π°ΡΠΎΡ€ΡΡ‚ΡŒ внСшний интСрфСйс врСмя компиляции. К соТалСнию, ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ языки Π΄Π΅Π»Π°ΡŽΡ‚ ΠΈΠΌΠ΅Π½Π½ΠΎ это, Π΄Π°ΠΆΠ΅ Ссли компиляция вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΌΠ΅Π½Π΅Π΅ 1 сСкунды. Иногда Π²Π°ΠΌ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ быстро ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, строки ΠΊΠΎΠ΄Π° ΠΈ Ρ‚. Π΄., Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ Π΅Π³ΠΎ. А ΠΈΠ½ΠΎΠ³Π΄Π° Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ тСсты Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ.

Если Π²Ρ‹ чувствуСтС, Ρ‡Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π½Π°Π΄ Ρ‡Π΅ΠΌ-Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Π»Π΅Ρ‚Ρƒ, Ρ‚ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ языки, вСроятно, Π±ΡƒΠ΄ΡƒΡ‚ Π»ΡƒΡ‡ΡˆΠΈΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ β€” ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π²Π°ΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ. ΠŸΡ€ΠΈ этом Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ язык, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ, ΠΈ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ любая слоТная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ, Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π·Π°Π΄ΡƒΠΌΠ°Π½ΠΎ.

Π’ Ρ†Π΅Π»ΠΎΠΌ, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ двумя Ρ‚ΠΈΠΏΠ°ΠΌΠΈ компиляции, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ для своСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

ΠšΡ€ΠΎΡΡΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎΡΡ‚ΡŒ

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ это Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, связана с Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ пСрСносимости, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ объяснили Π²Ρ‹ΡˆΠ΅. Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ, ΠΊ Ρ‡Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ с Π΄Ρ€ΡƒΠ³ΠΈΡ… устройств, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΊΠΎΠ΄. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡ‚ΡŒΡΡ ΠΎΠ± ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΊΡ‚ΠΎΡ€Π°Ρ…, связанных с компилятором, ΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° своСм ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ особСнно Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ, Ссли Π²Ρ‹ создаСтС Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ Π²Π΅Π±-прилоТСния, Π³Π΄Π΅ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ²Π΅Ρ€Π΅Π½Π½Ρ‹ΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Ρ‹ ΠΈ ПК ΠΌΠΎΠ³ΡƒΡ‚ Π»Π΅Π³ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ, ΠΈ Π²Ρ‹ Π½Π΅ засоряСтС свой сайт нСсколькими исполняСмыми Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ.

Π’ любом случаС, Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ², Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΡ€ΠΎΡΡΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… устройствах с ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌ языком, Ρ‡Π΅ΠΌ с ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌ языком. ΠŸΡ€ΠΈ этом Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ скомпилированных языков Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ кроссплатформСнными, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠ°ΠΊ Unity ΠΈ Unreal Engine (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°), ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ с простыми Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌΠΈ Π² ΠΎΠ΄ΠΈΠ½ ΠΊΠ»ΠΈΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²Π°ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ свои ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ Π±Π΅Π· лишнСй суСты. ЕдинствСнноС сообраТСниС Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ это Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ сборки для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ устройства.

Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π·Π½Π°Π½ΠΈΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄Π½ΠΎ обоснованноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΠΎΠΉ язык Π»ΡƒΡ‡ΡˆΠ΅ всСго ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Ending Words

ПониманиС Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ языками, бСзусловно, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Π°ΠΆΠ½Ρ‹ΠΌ. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ²Π»ΠΈΡΡ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Ρ‚ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ язык Π²Ρ‹ Π²Ρ‹Π±Π΅Ρ€Π΅Ρ‚Π΅ для своСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, Π½ΠΎ ΠΈ Π½Π° Ρ‚ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ Π² Ρ†Π΅Π»ΠΎΠΌ с фактичСской Ρ‡Π°ΡΡ‚ΡŒΡŽ программирования.

ΠžΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

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

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