Let's TOLKВо время Ton Gateway был выпущен новый язык для смарт-контрактов на TVM — TOLK.
По факту, это не совсем новый язык, а переработанный FUNC, однако изменений и различий так много, что было решено перевести его в новый язык.
ИзмененияВозможности TOLK не отличаются от FUNC, однако TOLK был явно сделан с целью создать более дружественный новичкам язык разработки: комментарии, объявление функций, переменных, стандартные функции, декораторы и многое другое было переработано и стало выглядеть и работать как в python, C++ и JS.
Несомненно, это великолепное решение: теперь научиться писать смарт-контракты будет намного проще, если ты умеешь писать код на каком-либо современном ЯП.
ПроблемыНесмотря на все плюсы нового языка, существуют и некоторые минусы:
1. Недоработанный компилятор, из-за которого код на TOLK часто уступает коду на FUNC в потреблении газа. Эта проблема не новая и давно известна: чем выше абстракция — тем ниже эффективность кода. В блокчейн разработке эффективность кода влияет не только на скорость его выполнения, но и на потребление контрактом газа. Однако разработчики уже пообещали улучшить компилятор.
2. Отсутствие примеров и документации. Да, основные концепции остались такими же, как и в FUNC, однако это всё-таки другой язык, для которого нужна собственная документация. И главный источник примеров, уже существующие смарт-контракты, все написаны на FUNC и крайне маловероятно будут переписываться на новый язык.
В любом случае, TOLK определенно станет ведущим языком для TVM разработки в будущем, заменив FUNC(TOLK был создан именно для этого).
Это действительно хороший язык, однако именно отсутствие примеров будет останавливать разработчиков.@mirkaOff