ΠΎΠ±ΡΠ°Π²ΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΎΡ , ΠΊΠΎΡ ΡΠ°Π·Π²ΠΈΠ²Π° ΠΊΠΎΠΌΠΏΠ°ΡΠ»Π΅Ρ Π·Π° ΡΠ°Π·ΠΈΠΊ Go Π·Π° ΠΎΠ±Π»Π°ΡΡΠΈ ΠΊΠΎΠΈ Π±Π°ΡΠ°Π°Ρ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΠΎ ΠΏΡΠΈΠΊΠ°ΠΆΡΠ²Π°ΡΠ΅ Π½Π° Π΄ΠΎΠ±ΠΈΠ΅Π½ΠΈΠΎΡ ΠΊΠΎΠ΄ ΠΈ ΠΌΠ°Π»Π° ΠΏΠΎΡΡΠΎΡΡΠ²Π°ΡΠΊΠ° Π½Π° ΡΠ΅ΡΡΡΡΠΈ, ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠΈ ΠΈ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΡΠΎ Π΅Π΄Π΅Π½ ΠΏΡΠΎΡΠ΅ΡΠΎΡ. ΠΠΎΠ΄ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½ΡΠ°ΡΠ° BSD.
ΠΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡΠ°ΡΠ° Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ΅Π»Π½ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ ΡΠ΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ° ΡΠΎ ΠΏΠΎΠΌΠΎΡ Π½Π° LLVM, Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈΡΠ΅ ΡΡΠΎ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ Π²ΠΎ Π³Π»Π°Π²Π½ΠΈΠΎΡ ΠΏΠ°ΠΊΠ΅Ρ Π½Π° Π°Π»Π°ΡΠΊΠΈ ΠΎΠ΄ ΠΏΡΠΎΠ΅ΠΊΡΠΎΡ Go ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π½Π° ΡΠ°Π·ΠΈΠΊΠΎΡ. ΠΠΎΠΌΠΏΠ°ΡΠ»ΠΈΡΠ°Π½Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° ΠΌΠΎΠΆΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° Π½Π° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠΈ, ΡΡΠΎ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Go Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΠΊΠ°ΠΊΠΎ ΡΠ°Π·ΠΈΠΊ Π·Π° ΠΏΠΈΡΡΠ²Π°ΡΠ΅ ΡΠΊΡΠΈΠΏΡΠΈ Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡΠ°.
ΠΠΎΡΠΈΠ²Π°ΡΠΈΡΠ°ΡΠ° Π·Π° ΡΠΎΠ·Π΄Π°Π²Π°ΡΠ΅ Π½Π° Π½ΠΎΠ² ΠΏΡΠΎΠ΅ΠΊΡ Π±Π΅ΡΠ΅ ΠΆΠ΅Π»Π±Π°ΡΠ° Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΠΏΠΎΠ·Π½Π°ΡΠΈΠΎΡ ΡΠ°Π·ΠΈΠΊ Go Π½Π° ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΠΈ ΡΡΠ΅Π΄ΠΈ - ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΈΡΠ΅ ΡΠ°Π·ΠΌΠΈΡΠ»ΡΠ²Π°Π° Π΄Π΅ΠΊΠ° Π°ΠΊΠΎ ΠΈΠΌΠ° Π²Π΅ΡΠ·ΠΈΡΠ° Π½Π° Python Π·Π° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠΈ, ΡΠΎΠ³Π°Ρ Π·ΠΎΡΡΠΎ Π΄Π° Π½Π΅ ΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄Π΅ ΡΠ»ΠΈΡΠ½Π° Π·Π° ΡΠ°Π·ΠΈΠΊΠΎΡ Go. ΠΠ΄ΠΈ Π½Π°ΠΌΠ΅ΡΡΠΎ Rust Π·Π°ΡΠΎΠ° ΡΡΠΎ Π΅ ΠΏΠΎΠ»Π΅ΡΠ½ΠΎ Π΄Π° ΡΠ΅ Π½Π°ΡΡΠΈ, ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π½Π΅Π·Π°Π²ΠΈΡΠ½Π° ΠΎΠ΄ Π½ΠΈΡΠΊΠΈ Π·Π° ΠΏΠ°ΡΠ°Π»Π΅Π»ΠΈΠ·Π°ΡΠΈΡΠ° Π±Π°Π·ΠΈΡΠ°Π½Π° Π½Π° ΠΊΠΎΡΡΡΠΈΠ½ΡΠΊΠ° ΡΠΎΡΠΌΠ° ΠΈ Π½ΡΠ΄ΠΈ ΠΎΠ±Π΅ΠΌΠ½Π° ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° (βΠ²ΠΊΠ»ΡΡΠ΅Π½ΠΈ Π±Π°ΡΠ΅ΡΠΈΠΈβ).
ΠΠΎ ΡΠ΅Π³Π°ΡΠ½Π°ΡΠ° ΡΠΎΡΠΌΠ°, ΠΏΠΎΠ΄Π΄ΡΠΆΠ°Π½ΠΈ ΡΠ΅ 15 ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠΈ, Π²ΠΊΠ»ΡΡΡΠ²Π°ΡΡΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ°Π±Π»ΠΈ ΠΎΠ΄ Adafruit, Arduino, BBC micro:bit, ST Micro, Digispark, Nordic Semiconductor, Makerdiary ΠΈ Phytec. ΠΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ΅ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΠΌΠΏΠ°ΡΠ»ΠΈΡΠ°Π°Ρ Π·Π° Π΄Π° ΡΠ°Π±ΠΎΡΠ°Ρ Π²ΠΎ ΠΏΡΠ΅Π»ΠΈΡΡΡΠ²Π°Ρ Π²ΠΎ ΡΠΎΡΠΌΠ°Ρ WebAssembly ΠΈ ΠΊΠ°ΠΊΠΎ ΠΈΠ·Π²ΡΡΠ½ΠΈ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ Π·Π° Linux. ΠΠΎΠ΄Π΄ΡΠΆΡΠ²Π° ESP8266/ESP32 ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠΈ , Π½ΠΎ ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π° ΠΏΠΎΡΠ΅Π±Π΅Π½ ΠΏΡΠΎΠ΅ΠΊΡ Π·Π° Π΄ΠΎΠ΄Π°Π²Π°ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΡΠΈΠΏΠΎΡ Xtensa Π²ΠΎ LLVM, ΠΊΠΎΡ ΡΓ¨ ΡΡΡΠ΅ Π΅ ΠΎΠ·Π½Π°ΡΠ΅Π½ ΠΊΠ°ΠΊΠΎ Π½Π΅ΡΡΠ°Π±ΠΈΠ»Π΅Π½ ΠΈ Π½Π΅ Π΅ ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ Π·Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΠ° ΡΠΎ TinyGo.
ΠΠ»ΡΡΠ½ΠΈ ΡΠ΅Π»ΠΈ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΎΡ:
ΠΠΎΠ΄Π΄ΡΡΠΊΠ°ΡΠ° Π·Π° ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠ°Π΄ΡΠ΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π½Π΅ Π΅ ΠΌΠ΅ΡΡ Π³Π»Π°Π²Π½ΠΈΡΠ΅ ΡΠ΅Π»ΠΈ,
Π΅ΡΠΈΠΊΠ°ΡΠ½ΠΎ Π»Π°Π½ΡΠΈΡΠ°ΡΠ΅ Π½Π° ΠΎΠ³ΡΠΎΠΌΠ΅Π½ Π±ΡΠΎΡ ΠΊΠΎΡΡΡΠΈΠ½ΠΈ (ΡΠ°ΠΌΠΎΡΠΎ Π»Π°Π½ΡΠΈΡΠ°ΡΠ΅ Π½Π° ΠΊΠΎΡΡΡΠΈΠ½ΠΈ Π΅ ΡΠ΅Π»ΠΎΡΠ½ΠΎ ΠΏΠΎΠ΄Π΄ΡΠΆΠ°Π½ΠΎ), ΠΏΠΎΡΡΠΈΠ³Π½ΡΠ²Π°ΡΠ΅ Π½Π° Π½ΠΈΠ²ΠΎΡΠΎ Π½Π° ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈ Π½Π° ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠ½ΠΈΠΎΡ ΠΊΠΎΠΌΠΏΠ°ΡΠ»Π΅Ρ gc (ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡΠ°ΡΠ° Π΅ ΠΎΡΡΠ°Π²Π΅Π½Π° Π½Π° LLVM ΠΈ Π²ΠΎ Π½Π΅ΠΊΠΎΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ Tinygo ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΠΈΠ΄Π΅ ΠΏΠΎΠ±ΡΠ· ΠΎΠ΄ gc) ΠΈ ΡΠ΅Π»ΠΎΡΠ½ΠΎ ΡΠΎ ΡΠΈΡΠ΅ Go Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ.
ΠΠ»Π°Π²Π½Π°ΡΠ° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΠ΄ ΡΠ»ΠΈΡΠ΅Π½ ΠΊΠΎΠΌΠΏΠ°ΡΠ»Π΅Ρ Π΅ ΠΎΠ±ΠΈΠ΄ Π΄Π° ΡΠ΅ Π·Π°ΡΡΠ²Π° ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΠΎΡ ΠΌΠΎΠ΄Π΅Π» Π½Π° Go Π·Π° ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΡΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ° ΡΠΎ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° ΡΠΎΠ±ΠΈΡΠ°ΡΠ΅ ΡΡΠ±ΡΠ΅ ΠΈ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ LLVM Π·Π° Π΄Π° ΡΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΠ° Π΅ΡΠΈΠΊΠ°ΡΠ΅Π½ ΠΊΠΎΠ΄ Π½Π°ΠΌΠ΅ΡΡΠΎ Π΄Π° ΡΠ΅ ΠΊΠΎΠΌΠΏΠ°ΡΠ»ΠΈΡΠ° Π²ΠΎ C ΠΏΡΠ΅ΡΡΡΠ°Π²Π°. Tinygo Π½ΡΠ΄ΠΈ ΠΈ Π½ΠΎΠ²Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π·Π° Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΡΠ°Π΅ΡΠ΅ ΠΊΠΎΡΠ° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ° ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°Ρ, ΡΠΈΡΡΠ΅ΠΌ Π·Π° ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π±Π° Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° ΠΈ ΡΠ°ΠΊΡΠ²Π°ΡΠΈ ΡΠΎ ΡΡΡΠΈΠ½Π³ΠΎΠ²ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π·Π° ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ. ΠΠ΅ΠΊΠΎΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ, ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡΠ° ΠΈ ΡΠ΅ΡΠ»Π΅ΠΊΡΠΈΡΠ°, ΡΠ΅ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π΄Π΅Π½ΠΈ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° Π½ΠΎΠ²ΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΡΠ°Π΅ΡΠ΅.
ΠΠ΅ΡΡ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π²ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ΡΠΎ 0.7 ΡΠ΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° βtinygo testβ, ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π°ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΡΠΎΠ±ΠΈΡΠ°ΡΠ΅ ΡΡΠ±ΡΠ΅ Π·Π° ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΡΠ΅Π»Π½ΠΈ ΡΠ°Π±Π»ΠΈ (Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ARM Cortex-M) ΠΈ WebAssembly, ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΠΏΠ»ΠΎΡΠΊΠ°ΡΠ° HiFive1 rev B Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° RISC- V Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΈ ΠΏΠ»ΠΎΡΠΊΠ°ΡΠ° Arduino nano33,
ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΡΠ°Π·ΠΈΡΠ½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° (ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Π±ΠΈΡ ΠΏΠΎΠ»ΠΈΡΠ° ΡΠΎ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° Π΄ΠΎΠ±ΠΈΠ²Π°ΡΠΈ ΠΈ ΠΏΠΎΡΡΠ°Π²ΡΠ²Π°ΡΠΈ, ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ).
ΠΠ·Π²ΠΎΡ: opennet.ru
