SlideShare a Scribd company logo
1 of 23
@sgcampus
@sgcampus
Mario García
Introducción a Rust
@sgcampus
¿Qué es Rust?
Un lenguaje de programación diseñado para ser:
seguro, concurrente y práctico
@sgcampus
Instalación
Linux o Mac:
curl https://sh.rustup.rs -sSf | sh
@sgcampus
¡Hola, mundo!
// hola.rs
// println!("cadena {} literal", expresiones);
fn main () {
println!("¡Hola, mundo!");
}
@sgcampus
Compilar
$ rustc hola.rs
$ ./hola
¡Hola, mundo!
@sgcampus
Comentarios
// Este es un comentario
@sgcampus
Variables
let nombre = valor;
@sgcampus
Ejemplo
fn main() {
let a = 7;
let b = 8;
println!("La suma es: {}", a+b);
}
@sgcampus
Mutabilidad
let mut nombre = valor;
@sgcampus
Tipos de datos
Numéricos
i8, i16, i32, i64
u8, u16, u32, u64
isize, usize
f32, f64
let x = 42; // x es de tipo i32
let y = 1.0; // y es de tipo f64
@sgcampus
Tipos de datos
Cadena
let cadena = ‘x’;
@sgcampus
Tipos de datos
Booleans
let x = true;
let y: bool = true;
@sgcampus
Sentencias condicionales
if condicion {
sentencias;
}
else {
sentencias;
}
fn main() {
let a = 8;
let b = 12;
if a > b {
println!("{} > {}", a, b);
}
else {
println!("{} > {}", b, a);
}
}
@sgcampus
Arreglos
let a = [1, 2, 3]; //a : [i32; 3]
let mut m = [1, 2, 3]; // m : [i32; 3]
@sgcampus
Ciclos
for i in x..n {
sentencias;
}
while condicion {
sentencias;
}
@sgcampus
Ejemplos
fn main () {
let a = [1, 2, 3, 4, 5];
for i in 0..5 {
println!("{}", a[i]);
}
}
fn main () {
let a = [1, 2, 3, 4, 5];
let mut i = 0;
while i < 5 {
println!("{}", a[i]);
i = i +1;
}
}
@sgcampus
Funciones
fn nombre(arg: Tipo) -> Tipo {
sentencias;
}
@sgcampus
Ejemplo
fn main () {
let a = 9;
let b = 15;
println("La suma es: {}", suma(a, b));
}
fn suma(a: i32, b: i32) -> i32 {
let c = a + b;
return c;
}
@sgcampus
Cargo
Sistema de
construcción y gestor
de paquetes
@sgcampus
Nuevo proyecto
$ cargo new hola_mundo --bin
~/hola_mundo$ ls -R
.:
Cargo.toml src
./src:
main.rs
@sgcampus
Manifiesto
[package]
name = "hola_mundo" # Nombre
version = "0.1.0" # Version actual
authors = ["tu@ejemplo.com"] # Autor
@sgcampus
Meetups
Rust MX
meetup.com/es/Rust-MX
rustlang_mx
@sgcampus
iscmariog
mariogmd
mattdark
Aprende más:
rust-lang.org
mattdark@mozilla-mexico.org

More Related Content

What's hot

Arquitectura del microcontrolador
Arquitectura del microcontroladorArquitectura del microcontrolador
Arquitectura del microcontrolador
Jose Chacho
 
Licenciamiento por sub capacidad español
Licenciamiento por sub capacidad   españolLicenciamiento por sub capacidad   español
Licenciamiento por sub capacidad español
Ricardo Spencer
 
proyecto conexion netbeans con Mysql
proyecto conexion netbeans con Mysqlproyecto conexion netbeans con Mysql
proyecto conexion netbeans con Mysql
BrenditaLr
 

What's hot (20)

Memoria caché (Explicación)
Memoria caché  (Explicación)  Memoria caché  (Explicación)
Memoria caché (Explicación)
 
Tipos de memoria
Tipos de memoriaTipos de memoria
Tipos de memoria
 
Arquitectura del disco duro
Arquitectura del disco duroArquitectura del disco duro
Arquitectura del disco duro
 
Optimizacion de la busqueda de discos
Optimizacion de la busqueda de discosOptimizacion de la busqueda de discos
Optimizacion de la busqueda de discos
 
Arquitectura de computadoras
Arquitectura de computadorasArquitectura de computadoras
Arquitectura de computadoras
 
Arquitectura del microcontrolador
Arquitectura del microcontroladorArquitectura del microcontrolador
Arquitectura del microcontrolador
 
Infografia modelo osi
Infografia modelo osiInfografia modelo osi
Infografia modelo osi
 
Instalacion de redes locales (2)
Instalacion de redes locales (2)Instalacion de redes locales (2)
Instalacion de redes locales (2)
 
Gestion de memoria en windows
Gestion de memoria en windowsGestion de memoria en windows
Gestion de memoria en windows
 
Historia y auge del switch
Historia y auge del switchHistoria y auge del switch
Historia y auge del switch
 
Normatividad en redes
Normatividad en redesNormatividad en redes
Normatividad en redes
 
Algoritmos Paralelos
Algoritmos ParalelosAlgoritmos Paralelos
Algoritmos Paralelos
 
Diseño y normas para data centers
Diseño y normas para data centersDiseño y normas para data centers
Diseño y normas para data centers
 
Memorias semiconductoras
Memorias semiconductorasMemorias semiconductoras
Memorias semiconductoras
 
Licenciamiento por sub capacidad español
Licenciamiento por sub capacidad   españolLicenciamiento por sub capacidad   español
Licenciamiento por sub capacidad español
 
MODELO OSI.: CAPA DE SESION Y CAPA DE PRESENTACION; RENDIMIENTO DE REDES
MODELO OSI.: CAPA DE SESION Y CAPA DE PRESENTACION; RENDIMIENTO DE REDESMODELO OSI.: CAPA DE SESION Y CAPA DE PRESENTACION; RENDIMIENTO DE REDES
MODELO OSI.: CAPA DE SESION Y CAPA DE PRESENTACION; RENDIMIENTO DE REDES
 
Estandar de red
Estandar de redEstandar de red
Estandar de red
 
Lan manager
Lan managerLan manager
Lan manager
 
Lectores y escritores
Lectores y escritoresLectores y escritores
Lectores y escritores
 
proyecto conexion netbeans con Mysql
proyecto conexion netbeans con Mysqlproyecto conexion netbeans con Mysql
proyecto conexion netbeans con Mysql
 

Viewers also liked

Criterio Para Citar
Criterio Para CitarCriterio Para Citar
Criterio Para Citar
anita2590
 
Taller de Presentaciones de alto impacto
Taller de Presentaciones de alto impactoTaller de Presentaciones de alto impacto
Taller de Presentaciones de alto impacto
Calidad Educativa Ipae
 

Viewers also liked (8)

Creando hardware libre en méxico
Creando hardware libre en méxicoCreando hardware libre en méxico
Creando hardware libre en méxico
 
Criterio Para Citar
Criterio Para CitarCriterio Para Citar
Criterio Para Citar
 
Madurez en equipos y procesos de Testing
Madurez en equipos y procesos de TestingMadurez en equipos y procesos de Testing
Madurez en equipos y procesos de Testing
 
Cómo tramitar la Visa TN (Trade NAFTA) y no morir en el intento
Cómo tramitar la Visa TN (Trade NAFTA) y no morir en el intentoCómo tramitar la Visa TN (Trade NAFTA) y no morir en el intento
Cómo tramitar la Visa TN (Trade NAFTA) y no morir en el intento
 
Java 8, tópicos de estudio para el examen upgrade
Java 8, tópicos de estudio para el examen upgradeJava 8, tópicos de estudio para el examen upgrade
Java 8, tópicos de estudio para el examen upgrade
 
Tendencias para profesionistas de software 2017
Tendencias para profesionistas de software 2017Tendencias para profesionistas de software 2017
Tendencias para profesionistas de software 2017
 
Machine Learning para Organizaciones
Machine Learning para OrganizacionesMachine Learning para Organizaciones
Machine Learning para Organizaciones
 
Taller de Presentaciones de alto impacto
Taller de Presentaciones de alto impactoTaller de Presentaciones de alto impacto
Taller de Presentaciones de alto impacto
 

Similar to Introducción a RUST

Experiencias con-asterisk-1.8-cert
Experiencias con-asterisk-1.8-certExperiencias con-asterisk-1.8-cert
Experiencias con-asterisk-1.8-cert
r3iz0
 
Cambia la forma de desarrollar tus aplicaciones web con groovy y grails
Cambia la forma de desarrollar tus aplicaciones web con groovy y grailsCambia la forma de desarrollar tus aplicaciones web con groovy y grails
Cambia la forma de desarrollar tus aplicaciones web con groovy y grails
Fátima Casaú Pérez
 

Similar to Introducción a RUST (20)

Python Multiuso
Python MultiusoPython Multiuso
Python Multiuso
 
Historia de los buffer overflows por Juan Sacco
Historia de los buffer overflows por Juan SaccoHistoria de los buffer overflows por Juan Sacco
Historia de los buffer overflows por Juan Sacco
 
The linux shell. Shell Scripting desde 0
The linux shell. Shell Scripting desde 0The linux shell. Shell Scripting desde 0
The linux shell. Shell Scripting desde 0
 
The original hacker Nro 1
The original hacker Nro 1The original hacker Nro 1
The original hacker Nro 1
 
Introduccion a ruby
Introduccion a rubyIntroduccion a ruby
Introduccion a ruby
 
Protocol Buffer Fantásticos y donde encontrarlos
Protocol Buffer Fantásticos y donde encontrarlosProtocol Buffer Fantásticos y donde encontrarlos
Protocol Buffer Fantásticos y donde encontrarlos
 
PHP's FIG and PSRs
PHP's FIG and PSRsPHP's FIG and PSRs
PHP's FIG and PSRs
 
Experiencias con-asterisk-1.8-cert
Experiencias con-asterisk-1.8-certExperiencias con-asterisk-1.8-cert
Experiencias con-asterisk-1.8-cert
 
Graficas especiales
Graficas especialesGraficas especiales
Graficas especiales
 
Computación distribuida usando Python
Computación distribuida usando PythonComputación distribuida usando Python
Computación distribuida usando Python
 
Tutorial perl en linux
Tutorial perl en linuxTutorial perl en linux
Tutorial perl en linux
 
Groovy&Grails: Cambia la forma de desarrollar tus aplicaciones web
Groovy&Grails: Cambia la forma de desarrollar tus aplicaciones webGroovy&Grails: Cambia la forma de desarrollar tus aplicaciones web
Groovy&Grails: Cambia la forma de desarrollar tus aplicaciones web
 
Cambia la forma de desarrollar tus aplicaciones web con groovy y grails
Cambia la forma de desarrollar tus aplicaciones web con groovy y grailsCambia la forma de desarrollar tus aplicaciones web con groovy y grails
Cambia la forma de desarrollar tus aplicaciones web con groovy y grails
 
Ansible DevOps Day Peru 2016
Ansible DevOps Day Peru 2016Ansible DevOps Day Peru 2016
Ansible DevOps Day Peru 2016
 
Parte01
Parte01Parte01
Parte01
 
Intro cassandra
Intro cassandraIntro cassandra
Intro cassandra
 
Exploits y stack overflows en windows 2017
Exploits y stack overflows en windows 2017Exploits y stack overflows en windows 2017
Exploits y stack overflows en windows 2017
 
Rust Hour Of Code 2017 - Valladolid
Rust Hour Of Code 2017 - ValladolidRust Hour Of Code 2017 - Valladolid
Rust Hour Of Code 2017 - Valladolid
 
Cifrar archivos y directorios en Linux
Cifrar archivos y directorios en LinuxCifrar archivos y directorios en Linux
Cifrar archivos y directorios en Linux
 
Spock
SpockSpock
Spock
 

More from Software Guru

More from Software Guru (20)

Hola Mundo del Internet de las Cosas
Hola Mundo del Internet de las CosasHola Mundo del Internet de las Cosas
Hola Mundo del Internet de las Cosas
 
Estructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso realesEstructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso reales
 
Building bias-aware environments
Building bias-aware environmentsBuilding bias-aware environments
Building bias-aware environments
 
El secreto para ser un desarrollador Senior
El secreto para ser un desarrollador SeniorEl secreto para ser un desarrollador Senior
El secreto para ser un desarrollador Senior
 
Cómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto idealCómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto ideal
 
Automatizando ideas con Apache Airflow
Automatizando ideas con Apache AirflowAutomatizando ideas con Apache Airflow
Automatizando ideas con Apache Airflow
 
How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:
 
Introducción al machine learning
Introducción al machine learningIntroducción al machine learning
Introducción al machine learning
 
Democratizando el uso de CoDi
Democratizando el uso de CoDiDemocratizando el uso de CoDi
Democratizando el uso de CoDi
 
Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0
 
Taller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJSTaller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJS
 
El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...
 
¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?
 
Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.
 
Pruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOpsPruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOps
 
Elixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivosElixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivos
 
Así publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stressAsí publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stress
 
Achieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goalsAchieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goals
 
Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19
 
De lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseñoDe lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseño
 

Recently uploaded

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Recently uploaded (12)

Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 

Introducción a RUST