ืžืขืœื“ื•ื ื’ ืคื•ืŸ Tinygo 0.7.0, LLVM-ื‘ืื–ื™ืจื˜ ื’ื™ื™ืŸ ืงืึทืžืคึผื™ื™ืœืขืจ

ื‘ื ื™ืžืฆื ืคึผืจื•ื™ืขืงื˜ ืžืขืœื“ื•ื ื’ ื˜ื™ื ื™ื’ืึธ 0.7.0, ื•ื•ืึธืก ืื™ื– ื“ืขื•ื•ืขืœืึธืคึผื™ื ื’ ืึท Go ืฉืคึผืจืึทืš ืงืึทืžืคึผื™ื™ืœืขืจ ืคึฟืึทืจ ื’ืขื‘ื™ื˜ืŸ ื•ื•ืึธืก ื“ืึทืจืคืŸ ืกืึธืœื™ื“ ืคืึทืจื˜ืจืขื˜ื•ื ื’ ืคื•ืŸ ื“ื™ ืจื™ื–ืึทืœื˜ื™ื ื’ ืงืึธื“ ืื•ืŸ ื ื™ื“ืขืจื™ืง ืžื™ื˜ืœ ืงืึทื ืกืึทืžืฉืึทืŸ, ืึทื–ืึท ื•ื•ื™ ืžื™ืงืจืึธืงืึธื ื˜ืจืึธืœืœืขืจืก ืื•ืŸ ืกืึธืœื™ื“ ืื™ื™ืŸ-ืคึผืจืึทืกืขืกืขืจ ืกื™ืกื˜ืขืžืขืŸ. ืงืึธื“ ืคื•ื ืื ื“ืขืจื’ืขื˜ื™ื™ืœื˜ ื“ื•ืจืš ืื•ื ื˜ืขืจ ื“ื™ BSD ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ.

ื–ืึทืžืœื•ื ื’ ืคึฟืึทืจ ืคืึทืจืฉื™ื“ืŸ ืฆื™ืœ ืคึผืœืึทื˜ืคืึธืจืžืก ืื™ื– ื™ืžืคึผืœืึทืžืขื ืึทื“ ืžื™ื˜ LLVM, ืื•ืŸ ืœื™ื™ื‘ืจืขืจื™ื– ื’ืขื ื™ืฆื˜ ืื™ืŸ ื“ื™ ื”ื•ื™ืคึผื˜ ื˜ืึธืึธืœืงื™ื˜ ืคื•ืŸ ื“ื™ Go ืคึผืจื•ื™ืขืงื˜ ื–ืขื ืขืŸ ื’ืขื ื™ืฆื˜ ืฆื• ืฉื˜ื™ืฆืŸ ื“ื™ ืฉืคึผืจืึทืš. ื“ื™ ืงืึทืžืคึผื™ื™ืœื“ ืคึผืจืึธื’ืจืึทื ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืœื™ื™ืš ืœื•ื™ืคืŸ ืื•ื™ืฃ ืžื™ืงืจืึธืงืึธื ื˜ืจืึธืœืœืขืจืก, ืึทืœืึทื•ื™ื ื’ Go ืฆื• ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ื•ื•ื™ ืึท ืฉืคึผืจืึทืš ืคึฟืึทืจ ืฉืจื™ื™ื‘ืŸ ืึธื˜ืึทืžื™ื™ืฉืึทืŸ ืกืงืจื™ืคึผืก.

ื“ื™ ืžืึธื•ื˜ืึทื•ื•ื™ื™ืฉืึทืŸ ืคึฟืึทืจ ืฉืืคืŸ ืึท ื ื™ื™ึทืข ืคึผืจื•ื™ืขืงื˜ ืื™ื– ื’ืขื•ื•ืขืŸ ื“ืขืจ ืคืึทืจืœืึทื ื’ ืฆื• ื ื•ืฆืŸ ื“ื™ ื‘ืึทืงืึทื ื˜ืข Go ืฉืคึผืจืึทืš ืื•ื™ืฃ ืกืึธืœื™ื“ ื“ืขื•ื•ื™ืกืขืก - ื“ื™ ื“ืขื•ื•ืขืœืึธืคึผืขืจืก ื”ืึธื‘ืŸ ืจื™ื–ืึทื ื“ื™ื“ ืึทื– ืื•ื™ื‘ ืขืก ืื™ื– ื’ืขื•ื•ืขืŸ ืึท ืคึผื™ื˜ื”ืึธืŸ ื•ื•ืขืจืกื™ืข ืคึฟืึทืจ ืžื™ืงืจืึธืงืึธื ื˜ืจืึธืœืœืขืจืก, ืคืืจื•ื•ืืก ื˜ืึธืŸ ื ื™ื˜ ืžืึทื›ืŸ ืึท ืขื ืœืขืš ืคึฟืึทืจ ื“ื™ Go ืฉืคึผืจืึทืš. ื’ื™ื™ ืื•ื™ืกื’ืขืงืœื™ื‘ืŸ ืึทื ืฉื˜ืึธื˜ ืจื•ืกื˜ ื•ื•ื™ื™ึทืœ ืขืก ืื™ื– ื’ืจื™ื ื’ืขืจ ืฆื• ืœืขืจื ืขืŸ, ื’ื™ื˜ ืคืึธื“ืขื-ืคืจื™ื™ึท ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืงืึธืจื•ื˜ื™ื ืข-ื‘ืื–ื™ืจื˜ ืคึผืึทืจืึทืœืขืœื™ื–ืึทื˜ื™ืึธืŸ, ืื•ืŸ ืึธืคืคืขืจืก ืึท ื‘ืจื™ื™ื˜ ื ืึธืจืžืึทืœ ื‘ื™ื‘ืœื™ืึธื˜ืขืง ("ื‘ืึทื˜ืขืจื™ื– ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜").

ืื™ืŸ ื–ื™ื™ืŸ ืงืจืึทื ื˜ ืคืึธืจืขื, 15 ืžื™ืงืจืึธืงืึธื ื˜ืจืึธืœืœืขืจ ืžืึธื“ืขืœืก ื–ืขื ืขืŸ ื’ืขืฉื˜ื™ืฆื˜, ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ืคืึทืจืฉื™ื“ืŸ ื‘ืึธืจื“ื– ืคื•ืŸ Adafruit, Arduino, BBC micro:bit, ST Micro, Digispark, Nordic Semiconductor, Makerdiary ืื•ืŸ Phytec. ืžื’ื™ืœื” ืงืขื ืขืŸ ืื•ื™ืš ื–ื™ื™ืŸ ืงืึทืžืคึผื™ื™ืœื“ ืฆื• ืœื•ื™ืคืŸ ืื™ืŸ ืึท ื‘ืœืขื˜ืขืจืขืจ ืื™ืŸ ื•ื•ืขื‘ืึทืกืกืขืžื‘ืœื™ ืคึฟืึธืจืžืึทื˜ ืื•ืŸ ื•ื•ื™ ืขืงืกืขืงื•ื˜ืึทื‘ืœืข ื˜ืขืงืขืก ืคึฟืึทืจ ืœื™ื ื•ืงืก. ืฉื˜ื™ืฆื˜ ESP8266/ESP32 ืงืึทื ื˜ืจืึธื•ืœืขืจื– ื ืืš ื ื™ืฉื˜, ืึธื‘ืขืจ ืึท ื‘ืึทื–ื•ื ื“ืขืจ ืคึผืจื•ื™ืขืงื˜ ืื™ื– ื“ืขื•ื•ืขืœืึธืคึผืขื“ ืฆื• ืœื™ื™ื’ืŸ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื“ื™ Xtensa ืฉืคึผืึธืŸ ืื™ืŸ LLVM, ื•ื•ืึธืก ืื™ื– ื ืึธืš ืื ื’ืขืฆื™ื™ื›ื ื˜ ื•ื•ื™ ืึทื ืกื˜ื™ื™ื‘ืึทืœ ืื•ืŸ ื ื™ืฉื˜ ื’ืจื™ื™ื˜ ืคึฟืึทืจ ื™ื ื˜ืึทื’ืจื™ื™ืฉืึทืŸ ืžื™ื˜ TinyGo.

ื“ื™ ื”ื•ื™ืคึผื˜ ืฆื™ืœืŸ ืคื•ืŸ ื“ื™ ืคึผืจื•ื™ืขืงื˜:

  • ื“ื•ืจ ืคื•ืŸ ื–ื™ื™ืขืจ ืกืึธืœื™ื“ ืขืงืกืขืงื•ื˜ืึทื‘ืœืข ื˜ืขืงืขืก;
  • ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื“ื™ ืžืขืจืกื˜ ืคึผืจืึธืกื˜ ืžืึธื“ืขืœืก ืคื•ืŸ ืžื™ืงืจืึธืงืึธื ื˜ืจืึธืœืœืขืจ ื‘ืึธืจื“ื–;
  • ืžืขื’ืœืขื›ืงื™ื™ื˜ ืคื•ืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืคึฟืึทืจ ื“ื™ ื•ื•ืขื‘;
  • CGo ืฉื˜ื™ืฆืŸ ืžื™ื˜ ืžื™ื ื™ืžืึทืœ ืึธื•ื•ื•ืขืจื›ืขื“ ื•ื•ืขืŸ ืจื•ืคืŸ ืคืึทื ื’ืงืฉืึทื ื– ืื™ืŸ C;
  • ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืจื•ื‘ึฟ ื ืึธืจืžืึทืœ ืคึผืึทืงืึทื“ื–ืฉืึทื– ืื•ืŸ ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ืฆื•ื ื•ื™ืคื ืขืžืขืŸ ื“ื–ืฉืึทื ืขืจื™ืง ื™ื’ื–ื™ืกื˜ื™ื ื’ ืงืึธื“ ืึธืŸ ื˜ืฉืึทื ื’ื™ื ื’ ืขืก.

    ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืžืึทืœื˜ื™-ื”ืึทืจืฅ ืกื™ืกื˜ืขืžืขืŸ ืื™ื– ื ื™ืฉื˜ ืฆื•ื•ื™ืฉืŸ ื“ื™ ื”ื•ื™ืคึผื˜ ื’ืึธื•ืœื–,
    ืขืคืขืงื˜ื™ื•ื• ืงืึทื˜ืขืจ ืคื•ืŸ ืึท ืจื™ื–ื™ืง ื ื•ืžืขืจ ืคื•ืŸ ืงืึธืจืึธื•ื˜ื™ื ืขืก (ื“ืขืจ ืงืึทื˜ืขืจ ืคื•ืŸ ืงืึธืจืึธื•ื˜ื™ื ืขืก ื–ื™ืš ืื™ื– ื’ืึธืจ ื’ืขืฉื˜ื™ืฆื˜), ื“ืขืจื’ืจื™ื™ื” ืคื•ืŸ ื“ื™ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืžื“ืจื’ื” ืคื•ืŸ ื“ืขืจ ืจืขืคึฟืขืจืขื ืฅ ืงืึทืžืคึผื™ื™ืœืขืจ gc (ืึธืคึผื˜ื™ืžื™ื–ืึทื˜ื™ืึธืŸ ืื™ื– ืœื™ื ืงืก ืฆื• LLVM ืื•ืŸ ืื™ืŸ ืขื˜ืœืขื›ืข ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ื˜ื™ื ื™ื’ืึธ ืงืขืŸ ื–ื™ื™ืŸ ืคืึทืกื˜ืขืจ ื•ื•ื™ ื’ืง) ืื•ืŸ ื’ืึทื ืฅ ืงืึทืžืคึผืึทื˜ืึทื‘ื™ืœืึทื˜ื™ ืžื™ื˜ ืึทืœืข Go ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื–.

    ื“ืขืจ ื”ื•ื™ืคึผื˜ ื—ื™ืœื•ืง ืคื•ืŸ ืึท ืขื ืœืขืš ืงืึทืžืคึผื™ื™ืœืขืจ emgo ืื™ื– ืึทืŸ ืคึผืจื•ื•ื•ืŸ ืฆื• ื•ืคื”ื™ื˜ืŸ Go's ืึธืจื™ื’ื™ื ืขืœ ื–ื›ึผืจื•ืŸ ืคืึทืจื•ื•ืึทืœื˜ื•ื ื’ ืžืึธื“ืขืœ ื ื™ืฆืŸ ืžื™ืกื˜ ื–ืึทืžืœื•ื ื’ ืื•ืŸ ื ื•ืฆืŸ LLVM ืฆื• ื“ื–ืฉืขื ืขืจื™ื™ื˜ ืขืคืขืงื˜ื™ื•ื• ืงืึธื“ ืึทื ืฉื˜ืึธื˜ ืคื•ืŸ ืงืึทืžืคึผื™ื™ืœื™ื ื’ ืขืก ืฆื• ืึท C ืคืึทืจื˜ืจืขื˜ื•ื ื’. Tinygo ืื•ื™ืš ืึธืคืคืขืจืก ืึท ื ื™ื™ึทืข ืจื•ื ื˜ื™ืžืข ื‘ื™ื‘ืœื™ืึธื˜ืขืง ื•ื•ืึธืก ื™ืžืคึผืœืึทืžืึทื ืฅ ืึท ืกืงืขื“ื–ืฉื•ืœืขืจ, ื–ื›ึผืจื•ืŸ ืึทืœืึทืงื™ื™ืฉืึทืŸ ืกื™ืกื˜ืขื ืื•ืŸ ืฉื˜ืจื™ืงืœ ื”ืึทื ื“ืœืขืจืก ืึธืคึผื˜ื™ืžื™ื–ืขื“ ืคึฟืึทืจ ืกืึธืœื™ื“ ืกื™ืกื˜ืขืžืขืŸ. ืขื˜ืœืขื›ืข ืคึผืึทืงืึทื“ื–ืฉืึทื–, ืึทื–ืึท ื•ื•ื™ ืกื™ื ืง ืื•ืŸ ืคืึทืจื˜ืจืึทื›ื˜ื  ื–ื™ืš, ื–ืขื ืขืŸ ืจื™ืงืจื™ื™ื™ื˜ื™ื“ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื“ื™ ื ื™ื™ึทืข ืจื•ื ื˜ื™ืžืข.

    ืฆื•ื•ื™ืฉืŸ ื“ื™ ืขื ื“ืขืจื•ื ื’ืขืŸ ืื™ืŸ ืžืขืœื“ื•ื ื’ 0.7 ื–ืขื ืขืŸ ื“ื™ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคื•ืŸ ื“ื™ "ื˜ื™ื ื™ื’ืึธ ื˜ืขืกื˜" ื‘ืึทืคึฟืขืœ, ื“ื™ ื˜ื ื™ื™ึท ืคื•ืŸ ืžื™ืกื˜ ื–ืึทืžืœื•ื ื’ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืจื•ื‘ึฟ ืฆื™ืœ ื‘ืึธืจื“ื– (ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ARM Cortex-M) ืื•ืŸ ื•ื•ืขื‘ ืึทืกืขืžื‘ืœื™, ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื“ื™ HiFive1 ืจืขื•ื• ื‘ ื‘ืจืขื˜ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื“ื™ RISC- V ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจ ืื•ืŸ ื“ื™ Arduino nano33 ื‘ืจืขื˜,
    ื™ืžืคึผืจื•ื•ื•ื“ ืฉืคึผืจืึทืš ืฉื˜ื™ืฆืŸ (ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื‘ื™ืกืœ ืคืขืœื“ืขืจ ื ื™ืฆืŸ ื’ืขื˜ืขืจ ืื•ืŸ ืกืขื˜ืขืจืก, ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืึทื ืึทื ืึทืžืึทืก ืกื˜ืจืึทืงื˜ืฉืขืจื–).

    ืžืงื•ืจ: opennet.ru

  • ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’