paint-brush
¿Por qué debería aprender el lenguaje de programación Leo?por@kaylej
5,611 lecturas
5,611 lecturas

¿Por qué debería aprender el lenguaje de programación Leo?

por Kaylej4m2023/01/03
Read on Terminal Reader

Demasiado Largo; Para Leer

Aprender un nuevo lenguaje de programación es común para los desarrolladores experimentados. El programador promedio puede ponerse al día en 3-4 semanas y, a menudo, puede aprender 2-3 idiomas nuevos en un año. ¿Leo merece tu atención? ¿Qué tan prometedor es? Vamos a averiguar.
featured image - ¿Por qué debería aprender el lenguaje de programación Leo?
Kaylej HackerNoon profile picture

Aprender un nuevo lenguaje de programación es común para los desarrolladores experimentados. El programador promedio puede ponerse al día en 3-4 semanas y, a menudo, puede aprender 2-3 idiomas nuevos en un año. ¿Leo merece tu atención? ¿Qué tan prometedor es? Vamos a averiguar.


El lenguaje Leo es muy similar a Rust

Leo es un lenguaje de programación de tipo estático creado para la cadena de bloques de Aleo. Puede crear aplicaciones privadas en una cadena de bloques descentralizada totalmente privada usándola, básicamente Solidity pero para Aleo.


Comparemos la sintaxis de las operaciones matemáticas más simples:


Un ejemplo de un programa simple para Leo:


Lo mismo para el óxido:


Como podemos ver, ambos lenguajes tienen aproximadamente la misma sintaxis, pero difieren significativamente en la estructura de entrada y salida. Mientras que en Leo podemos integrar variables desde un archivo de entrada separado, en Rust no puede hacer esto de forma predeterminada (solo puede hacerlo si describe el archivo de importación manualmente). Esto se debe a la estructura de la cadena de bloques de Aleo: se centra en el anonimato y los desarrolladores sintieron que las entradas deberían describirse en un archivo separado. Pruébelo usted mismo:


https://play.leo-lang.org/ <- compilador en línea para Leo


https://play.rust-lang.org/ <- compilador en línea para Rust


Echemos un vistazo rápido a los conceptos básicos de Leo:


Leo admite las palabras clave let y const para definir variables.


let define una variable de programa dedicada.

const define una variable de programa constante.


Las variables constantes no definen una variable en un sistema de restricciones. Su valor está restringido en el esquema cuando se calcula con la variable asignada. las variables constantes no pueden ser modificables. Tienen la misma funcionalidad que Rust.



Los cálculos se expresan en términos de circuitos aritméticos R1CS. Por lo tanto, calcular una variable seleccionada siempre da como resultado otra variable seleccionada.


Variabilidad

Todas las variables en Leo son inmutables: no se pueden cambiar después de la asignación, al igual que en Rust. Todas las variables en Leo son modificables; se pueden cambiar después de la tarea. La funcionalidad de las variables no se conserva en diferentes áreas porque las variables Leo se pasan por valor.


Escritura estática

Leo es un lenguaje con tipado estático, lo que significa que debemos conocer el tipo de cada variable antes de ejecutar el esquema.


Se requieren tipos explícitos.

No hay un valor indefinido o nulo en Leo. Al asignar una nueva variable, el tipo del valor debe ser explícito. Una excepción a esta regla es si la nueva variable hereda su tipo de una variable anterior.


Paso de valor

Las variables en Leo siempre se pasan por valor, lo que significa que siempre se copian cuando se usan como entrada para una función o en asignaciones.


valores booleanos

Leo admite tuplas tradicionales o valores booleanos. Agregar un tipo booleano explícito para valores booleanos en declaraciones es opcional.



enteros

Leo admite enteros con signo i8 , i16 , i64 i32 i128 y enteros sin signo u8 , u16 , u32 , u64 , u128


Los enteros con longitudes de bit más altas crean más restricciones en el esquema, lo que puede ralentizar el tiempo de cálculo.


De lo anterior, podemos concluir que aprender Leo no llevará mucho tiempo a los desarrolladores de Rust. Sin embargo, la pregunta para los desarrolladores de Aleo es: "¿Cómo podemos alentar a los desarrolladores a cambiar de Rust a Leo?" Dado que los constructores experimentados están en demanda, el proyecto pone mucho en juego. Hay un programa de becas Aleo para este propósito:


Programa de subvenciones para desarrolladores destacados

Para alentar a los desarrolladores calificados a unirse a Aleo, el proyecto ha lanzado un programa de subvenciones:


https://www.aleo.org/post/community-grants-program


Los desarrolladores pueden pedir hasta $100,000 por su trabajo. Sin embargo, cuanto mayor sea la cantidad de dinero solicitada, mayor será el nivel de trabajo requerido. Aquí hay un ejemplo de algunos de los ganadores del programa de subvenciones:


Pine Street Labs: https://www.aleo.org/post/aleo-grants-pine-street-labs : básicamente es un creador de software de billetera.


Asociación con Forte: https://www.aleo.org/post/aleo-announces-partnership-with-forte - desarrollo de juegos (no es realmente un beneficiario de una subvención, ya que no es una startup)



Ahora comparemos el ingreso promedio de un desarrollador avanzado de Rust:


Echemos un vistazo a Indeed.com :



En promedio, un desarrollador de Rust Medio-Senior puede ganar hasta $150,000 al año (ambos ejemplos de Blockchain y Web2). ¿Cuánto más (o menos) de lo que se puede ganar en Leo? Nadie lo sabe, pero ciertamente puede esperar un salario alto ya que el mercado laboral de los desarrolladores Leo obviamente no es el más competitivo. La mayoría de los desarrolladores que conozco se sienten cómodos creando sus propias cosas, como colecciones NFT o DAO, y usted también puede hacerlo. Todavía puede ganar mientras trabaja por cuenta propia. Más precisamente, no es competitivo en absoluto: ¡puedes convertirte en uno de los primeros programadores de Leo ahora mismo!


¿Donde empezar? ¡Aprender a Leo no es la tarea más difícil, porque los entusiastas del proyecto actual ya están haciendo un gran trabajo preparando materiales educativos para Leo! Simplemente visite el canal oficial de Aleo Discord para buscar traducciones en cualquier idioma: https://discord.gg/aleohq


Además, puede comenzar a aprender con los documentos oficiales de Leo: https://developer.aleo.org/leo/language


¡Buena suerte en tus esfuerzos!