Skip to content

Instantly share code, notes, and snippets.

@wgcv
Last active September 15, 2021 07:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save wgcv/954471e71f42d49d76ec17b35383fe4d to your computer and use it in GitHub Desktop.
Save wgcv/954471e71f42d49d76ec17b35383fe4d to your computer and use it in GitHub Desktop.
Capitulo_1.md

Rust

Capitulo 1 Instalación y Hola mundo

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 %}

Instalamos

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

Empezamos Hello World

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

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

@wgcv
Copy link
Author

wgcv commented Sep 15, 2021

First chapter

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment