Почему вы должны изучать язык программирования Leo
4 января 2023 г.Изучение нового языка программирования – обычное дело для опытных разработчиков. Средний программист может освоиться за 3-4 недели и часто может выучить 2-3 новых языка за год. Стоит ли Лео вашего внимания? Насколько это перспективно? Давайте узнаем.
Язык Leo очень похож на Rust
Leo – это язык программирования со статической типизацией, созданный для блокчейна Aleo. С его помощью вы можете создавать частные приложения в полностью частной децентрализованной цепочке блоков, в основном Solidity, но для Aleo.
Сравним синтаксис простейших математических операций:
Пример простой программы для Лео:
То же самое для Rust:
Как мы видим, оба языка имеют примерно одинаковый синтаксис, но существенно различаются по структуре ввода-вывода. В то время как в Leo мы можем интегрировать переменные из отдельного входного файла, в Rust вы не можете сделать это по умолчанию (вы можете сделать это, только если вы вручную описываете файл импорта). Это связано со структурой блокчейна Aleo — он ориентирован на анонимность, и разработчики посчитали, что входные данные должны быть описаны в отдельном файле. Попробуйте сами:
https://play.leo-lang.org/ <- онлайн-компилятор для Льва
https://play.rust-lang.org/ <- онлайн-компилятор для Rust
Давайте кратко рассмотрим основы Лео:
Leo поддерживает ключевые слова let
и const
для определения переменных.
let
определяет специальную программную переменную.
const
определяет постоянную программную переменную.
Постоянные переменные не определяют переменную в системе ограничений. Их значение ограничивается схемой при вычислениях с выделенной переменной. постоянные переменные не могут быть изменены. У них те же функции, что и у Rust.
Расчеты выражены в терминах арифметических схем R1CS. Таким образом, вычисление выбранной переменной всегда приводит к другой выбранной переменной.
Вариабельность
Все переменные в Leo неизменяемы — их нельзя изменить после присваивания, как и в Rust. Все переменные в Leo модифицируемы - их можно изменить после присваивания. Функциональность переменных не сохраняется в разных областях, поскольку переменные Leo передаются по значению.
Статическая типизация
Leo — это язык со статической типизацией, что означает, что мы должны знать тип каждой переменной перед выполнением схемы.
Требуются явные типы.
В Leo нет неопределенных или нулевых значений. При присвоении новой переменной тип значения должен быть явным. Исключением из этого правила является случай, когда новая переменная наследует свой тип от предыдущей переменной.
Передача значений
Переменные в Leo всегда передаются по значению, что означает, что они всегда копируются при использовании в качестве входных данных для функции или в назначениях.
Логические значения
Leo поддерживает традиционные кортежи или логические значения. Добавление явного логического типа для логических значений в инструкциях необязательно.
Целые числа
Leo поддерживает целые числа со знаком i8
, i16
, i32
, i64
, i128
и целые числа без знака u8
, u16
, u32
, u64
, u128
р>
Целые числа с большей битовой длиной создают больше ограничений в схеме, что может замедлить время вычислений.
Из вышесказанного можно сделать вывод, что изучение Лео не займет много времени у разработчиков на Rust. Однако у разработчиков Aleo возникает вопрос: «Как мы можем побудить разработчиков перейти с Rust на Leo?» Поскольку опытные строители пользуются спросом, проект ставит на карту высокие ставки. Для этого существует грантовая программа Aleo:
Программа грантов для выдающихся разработчиков
Чтобы побудить квалифицированных разработчиков присоединиться к Aleo, проект запустил программу грантов:
https://www.aleo.org/post/community-grants-program
Разработчики могут запросить до 100 000 долларов за свою работу. Однако чем больше запрашиваемая сумма денег, тем выше уровень требуемой работы. Вот пример некоторых победителей грантовой программы:
Pine Street Labs: https://www.aleo.org/post/aleo-grants-pine- street-labs – программа для создания кошельков.
Партнерство с Forte: https://www.aleo.org/post/aleo-announces-partnership- with-forte - разработка игр (на самом деле не получатель гранта, так как это не стартап)
Теперь сравним средний доход продвинутого разработчика Rust:
Давайте посмотрим на indeed.com:
В среднем разработчик на Rust среднего и старшего звена может зарабатывать до 150 000 долларов в год (примеры как Blockchain, так и Web2). Насколько больше (или меньше) того, что можно заработать на Лео? Никто не знает, но на высокую зарплату точно можно рассчитывать, так как рынок труда разработчиков-Лео явно не самый конкурентный. Большинство разработчиков, которых я знаю, чувствуют себя комфортно, создавая свои собственные вещи, такие как коллекции NFT или DAO, и вы тоже можете. Вы по-прежнему можете зарабатывать, будучи самозанятым. Точнее, вообще вне конкуренции — вы можете стать одним из первых программистов Лео прямо сейчас!
С чего начать? Изучение Лео — не самая сложная задача, потому что энтузиасты текущего проекта уже проделали большую работу по подготовке обучающих материалов для Лео! Просто посетите официальный канал Aleo Discord, чтобы найти переводы на любой язык: https://discord.gg/aleohq
Кроме того, вы можете начать обучение с официальной документации Leo: https://developer.aleo.org/leo/language р>
Удачи в ваших начинаниях!
Оригинал