Empezando con Rust

Hace algunos días Mozilla hacia el anuncio de Servo, su nuevo trabajo en compañía de Samsung para las arquitecturas ARM. Lo que mas ha llamado la atención es que para este nuevo proyecto el lenguaje de programación que se usaría principalmente no seria ni C, ni python, ni Perl, ni alguno de los tan conocidos lenguajes de programación a los cuales estamos tan acostumbrados programar. Seria Rust el que tenga los créditos esta vez.

Como todo lo nuevo no siempre es malo, hoy quiero darles una pequeña introducción al manejo y funcionamiento de Rust, como para sacar conclusiones a nivel Dev y no solo lo que podamos leer y suponer.

Rust

https://i0.wp.com/www.rust-lang.org/logos/rust-logo-128x128-blk.png

  • Instalar Rust en nuestros equipos:

Esta no es una parte complicada a decir verdad es un parte sencilla ya que muchas de las dependencias de las que necesita Rust son comunes tenerlas instaladas en nuestro equipo, podemos detallar un poco mas esta parte aqui, pero si repasamos un poco las dependencias no resulta ser algo del otro mundo, veamos:

  • g++ 4.4 or clang++ 3.x
  • python 2.6 or later (but not 3.x)
  • perl 5.0 or later
  • gnu make 3.81 or later
  • curl

Nada del otro mundo cierto? Encontraremos mas detalles de como correr Rust en nuestros equipos aquí, ya que tratare de no enfocarme en ello y pasar al código que es lo que quiero mostrar.

  • Nuestro primer programa en Rust

Rust genera un archivo .rs que a final de cuentas no es nada del otro mundo encontrarnos con extensiones nuevas para nuestros ficheros y archivos de salida. Ahora tenemos el archivo hola.rs que contiene lo siguiente:

fn main() {
    io::println("hola gio");
}

Si Rust esta instalado por completo y funcionando correctamente podremos correr nuestro archivo hola.rs con este sencillo comando:

rustc hola.rs

Lo cual nos generará un archivo binario llamado hola o hola.exe (Para Windows), el cual mostrara tal cual lo que esperas ver. Rust trata de dar una información completa sobre lo que ha salido mal, así que por ejemplo, llegado el caso de que Rust encuentre una función inexistente en el código te mostrara algo como esto:

hello.rs:2:4: 2:16 error: unresolved name: io::print_with_unicorns
hello.rs:2     io::print_with_unicorns("hola gio");

Siendo nuestro código erróneo para este caso el siguiente:

fn main() {
    io::print_with_unicorns("hola gio");
}

Interesante esta parte y es una de las que mas me llama la atención. Es muy importante que hallan cambios que tras de ser pequeños, hagan la diferencia a los desarrolladores que se arriesguen a probarlo.

Rust nos ofrece de igual forma herramientas para ejecutar nuestro archivo hola.rs sin tener que compilarlo, simplemente usando el comando:

rust run hola.rs

Asombroso parace su funcionamiento, aunque no es algo del otro mundo, claro esta. Para saber todas las funcionanlidades y prefijos de Rust puedes consultarlos ejecutando desde tu terminal el comando:

rust
  • Sintaxis en Rust

Si en algún momento hemos programado en C o en lenguajes como C++, Java, JavaScript, C#, o PHP, Rust no sera nada nuevo y complicado para ti. En Rust para las estructuras también puedes usar if y while para llamar funciones podemos usar myfunc(arg1, arg2); casi todo esta estructurado como lo encontraríamos en C; incluso si queremos comentar nuestro código también lo haríamos como lo hacemos con el código que tenemos en C. Veamos un pequeño ejemplo de como va la estructura con Rust:

fn main() {
    /* A simple loop */
    loop {
        // A tricky calculation
        if universe::recalibrate() {
            return;
        }
    }
}

Fácil no? De hecho nos encontramos con una estructura en el código muy conocida ya, lo que nos permite integrarnos y manejar muy bien Rust, aquellos que estamos acostumbrados al bueno y conocido C. Tenemos una documentación muy amplia sobre las estructuras, funciones y demás cosas con las que podemos trabajar en Rust, todo lo podremos encontrar aquí. No pienso extenderme mucho en este articulo porque a la mayoría de nosotros nos gusta ver cosas minimistas y simples que nos muestren resultados. Mas adelante tendré otros artículos en donde explique nuevas cosas y aplique código generando algunos demos, pero por ahora ha sido todo.

Rust aun sigue en desarrollo y es posible que cambie bastante de aquí a que llegue a algo estable, sin embargo funciones y comandos básicos como los que he mencionado en este articulo son poco probables que lleguen a cambiar o ha ser modificados en un futuro. Sin embargo, siempre estaré pendiente de cambios y mejoras que les pueda comentar y/o anunciar.

6 pensamientos en “Empezando con Rust

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s