Hace tiempo que no aprendiía un nuevo lenguaje por estar dedicado a la inteligencia artificial, sobretodo un lenguaje que sea diferentes a lo tradicional. Estaba entre un lenguaje funcional o algun lenguaje que me una caracteriística diferente, así que luego de revisar algunos lenguajes decidí por Rust que me llamó la atención la velocidad, los conceptos, el sueldo promedio y que sea compilado (Creo que estoy algo cansado de scripting). Siempre me han gustado los lenaguajes de bajo nivel a mi parecer Rush es un lenguaje de bajo nivel pero con una velocidad de desarrollo mucho maás raápida, igual no me crean lo iremos descrubiendo juntos. Cargo es el manejador de dependencias, al muy estilo de npm en JavaScript o pip en Python, se supone que crear un programa con Rush es super ligero y rápido, esperemos que este manejador de dependecias cuente con dependecias rápidas y ligeras. Bueno gracisas a el deja de ser un lenguaje de bajo nivel a ser un lenguaje de sistema. Donde encontramos a Rush:
- DevOps tooling
- Embedded devices
- Audio and video analysis and transcodin
- Cryptocurrencies
- Internet of Things applications
- Machine learning
Empresas como Mozilla (En gran parte de ella), facebook y Aamazon (lambda) usan Rust. Bueno en estos videos revisaremos el libro "The Rust Programming Language"
{% youtube XvAeN64T9JI %}
Si usas linux o MacOs solo debemos correr una línea de código
curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh
Si estamos en windows, descargamos el exe e instalamos (Debemos tener Ms VS C++)
https://www.rust-lang.org/tools/install
Para revisar que lo tenemos bien instalados corremos
rustc --version
Al menos que este sea tu primer lenguaje de programación, sabemos que lo más básico es un Hello World, nos empezamos a familiarizar con la estrucutra de archivos y el estilo de código.
mkdir hello_world
cd hello_world
Dentro de hello_world
creamos el archivo main.rs
y añadimos la estructura básica
fn main() {
println!("Hello, world!");
}
El main()
es la función que se ejecuta al inicio y no debe tener ningún paraámetro ni retortanar ningún valor. Dentro de nuestro código siempre usaremos 4 espacios para indentar no el tab.
Luego con println!("Hello, world!");
vamos a correr un Macro para mostrar algo en la pantalla, los macros son parecidos a las funciones pero eso lo veremos más adelante y terminamos con un punt y coma.
Terminamos probando nuestro programa con
rustc main.rs
$ ./main
Si usamos windows corremos con .\main.exe
En nuestra consola debe mostrar Hello, world!
Cargo es el manejador de dependencias (Librerías) y es el estandar de Rust, viene instalado por defecto y para verisar que lo tenemos corramos
build system
Anterioremente creamos un proyecto con una estrcutura muy básica, ahora vamos a iniciar el proyecto con cargo.
cargo new hello_cargo
cd hello_cargo
Al crear el proyecto con Cargo vamos a iniciar un repositorio Git y un archivo Cargo.toml
que contiene nuestras dependencias.
Nuestro main ahora se encuentra en src/main.rs
y vamos a colar nuestro hello, world!
fn main() {
println!("Hello, world!");
}
Si por una razón iniciaste un proyecto sin Cargo solo debes copiar el código a src/
Para compilar podemos usar cargo build
pero si queremos compilar y ejecutar pusaremos cargo run
. Si queremos solo revisar el código pero no compilar podemos usar cargo check
, la venta es que es un poco más rápido al no compilarlo.
cargo run
Compiling hello_cargo v0.1.0 (file:///dev/hello_cargo)
Finished dev [unoptimized + debuginfo] target(s) in 0.55 secs
Running `target/debug/hello_cargo`
Hello, world!
Si queremos dejar listo nuestro programa para compartirlo y publicarlo lo haremos con cargo build --release
el cual nos genera un ejecutable optimizado. Los compilados tanto debug como release los encontramos en ./target
First chapter