paint-brush
为什么要学习 Leo 编程语言经过@kaylej
5,611 讀數
5,611 讀數

为什么要学习 Leo 编程语言

经过 Kaylej4m2023/01/03
Read on Terminal Reader

太長; 讀書

学习一门新的编程语言对于经验丰富的开发人员来说是很常见的。一般的程序员可以在 3-4 周内上手,而且通常一年可以学习 2-3 种新语言。狮子座值得你关注吗?前景如何?让我们找出来。
featured image - 为什么要学习 Leo 编程语言
Kaylej HackerNoon profile picture

学习一门新的编程语言对于经验丰富的开发人员来说是很常见的。一般的程序员可以在 3-4 周内上手,而且通常一年可以学习 2-3 种新语言。狮子座值得你关注吗?前景如何?让我们找出来。


Leo 语言与 Rust 非常相似

Leo 是一种为 Aleo 区块链构建的静态类型编程语言。您可以使用它在完全私有的去中心化区块链中构建私有应用程序,基本上是 Solidity,但对于 Aleo。


让我们比较一下最简单的数学运算的语法:


Leo 的简单程序示例:


Rust 也一样:


正如我们所见,两种语言的语法大致相同,但在输入输出结构上却有很大不同。虽然在 Leo 中我们可以集成来自单独输入文件的变量,但在 Rust 中默认情况下不能这样做(只有手动描述导入文件才能这样做)。这是由于 Aleo 区块链的结构——它专注于匿名性,开发人员认为输入应该在单独的文件中描述。自己试试:


https://play.leo-lang.org/ <- Leo 在线编译器


https://play.rust-lang.org/ <- Rust 在线编译器


让我们快速浏览一下 Leo 的基础知识:


Leo 支持使用letconst关键字来定义变量。


let定义了一个专用的程序变量。

const定义一个常量程序变量。


常量变量不定义约束系统中的变量。在使用分配的变量进行计算时,它们的值在模式中受到限制。常数变量不能改变。它们具有与 Rust 相同的功能。



计算以 R1CS 运算电路表示。因此,计算一个选定的变量总是会导致另一个选定的变量。


变化性

Leo 中的所有变量都是不可变的——它们在赋值后不能更改,就像在 Rust 中一样。 Leo 中的所有变量都是可修改的——它们可以在赋值后更改。由于 Leo 变量是按值传递的,因此变量功能不会在不同区域保留。


静态打字

Leo 是一种具有静态类型的语言,这意味着我们必须在执行模式之前知道每个变量的类型。


显式类型是必需的。

Leo 中没有未定义或空值。分配新变量时,值的类型必须是显式的。此规则的一个例外是新变量是否从先前变量继承其类型。


价值传递

Leo 中的变量总是按值传递,这意味着它们在用作函数输入或赋值时总是被复制。


布尔值

Leo 支持传统的元组或布尔值。在语句中为布尔值添加显式布尔类型是可选的。



整数

Leo 支持有符号整数i8i16i32i64i128和无符号整数u8u16u64 u32 u128


具有更高位长度的整数会在方案中产生更多限制,这会减慢计算时间。


综上所述,我们可以得出结论,学习 Leo 对于 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 美元(区块链和 Web2 示例)。比在 Leo 赚取的收入多(或少)多少?没有人知道,但您肯定可以期待一份高薪,因为 Leo 开发人员劳动力市场显然不是最具竞争力的。我认识的大多数开发人员都乐于构建自己的东西,例如 NFT 集合或 DAO,你也可以。您仍然可以在自雇时赚钱。更准确地说,它根本没有竞争力——你现在就可以成为 Leo 的第一批程序员之一!


从哪儿开始?学习Leo并不是最难的事情,因为目前项目的爱好者们已经在为Leo的教育资料做准备了!只需访问 Aleo Discord 官方频道即可查找任何语言的翻译: https ://discord.gg/aleohq


此外,您可以开始学习官方 Leo 文档: https ://developer.aleo.org/leo/language


祝你工作顺利!