Artículos con etiqueta «rust»
Leer de teclado en Rust
En muchas aplicaciones es necesario leer datos de teclado. Si bien esto podría considerarse sencillo en lenguaje como Python o Ruby, lo cierto es que sí se quiere hacer bien es complicado. Funciones como scanf de C son consideradas inseguras y en Java, hasta la llegada de la clase java.util.Scanner era un dolor de cabeza. En Rust no es distinto, es por ello que muchos tutoriales de Rust obvian esta parte. No obstante, leer de teclado no es tan difícil, como veremos a continuación
Seguir leyendo
Gestión de errores en Rust, Option y Result
¿Conoces el error del billón de dólares? Tony Hoare es un reputado estudioso de la ciencia de la computación. Cuando se encontraba diseñando ALGOL W, se le ocurrió incorporar la referencia a NULL. Sin embargo, los errores informáticos que ha propiciado su existencia han supuesto pérdidas económicas superiores al billón de dólares. Es por ello que él mismo denominó a su creación, el error del billón de dólares
Seguir leyendo
Concurrencia en Rust
Rust destaca por su soporte nativo a la concurrencia. Aquí veremos exactamente qué es lo que hace
Seguir leyendo
Estructuras de control en Rust
Los lenguajes de programación imperativos no serían nada sin sus estructuras de control. En Rust no son muy diferentes respecto a otros lenguajes. Ya hemos visto de pasada que existe if-else y for-in. Ahora veamos la lista entera junto con un operador muy importante en Rust, match
Seguir leyendo
Funciones y closures en Rust
Rust posee una sintaxis para definir funciones muy similar a la de otros lenguajes. Veamosla en acción
Seguir leyendo
Structs, traits y POO en Rust
En este apartado vamos a tratar uno de los temas más densos de Rust, que son las estructuras, los traits y la orientación a objetos en general. Antes de empezar conviene hacerse una pregunta
Seguir leyendo
Referencias y préstamos en Rust
Continuando con Rust 101, tutorial de Rust en español vamos a adentrarnos en un concepto clave para entender y programar en Rust. Rust es un lenguaje seguro como hemos dicho, esto implica que no puede haber NULLs ni tampoco fugas de memoria. Es decir, tiene que gestionar la memoria de forma eficiente pero dejarla directamente al programador, ya que son una fuente de bugs peligrosa. Algunos lenguajes disponen de recolector de basura (GC, Garbage Collector), que reduce la eficiencia del lenguaje. Go, Swift o Java usan GC. Luego existen lenguajes que dejan la memoria al descubierto, como C y C++. Rust toma un enfoque diferente, ya que no deja la memoria al descubierto ni usa GC. Para ello el compilador realiza una tarea de dueños y préstamos que veremos a continuación
Seguir leyendo
Tests en Rust
Mientras los programas no puedan verificarse de forma matemática de forma sencilla, la única manera de asegurarse que un programa más o menos funciona es con tests. Rust soporta tests de forma nativa. Gracias a la directiva #[test]
Seguir leyendo
Rust 101, tutorial de Rust en español
Rust es un lenguaje imperativo, orientado a objetos y funcional, con gran soporte a concurrencia y de propósito general. En este tutorial de Rust daremos nuestros primeros pasos en Rust, un lenguaje que nace de las necesidades de tener un lenguaje que fuese rápido, concurrente y seguro. Aprenderemos a amar/odiar al estricto compilador y veremos algunas de las grandes ideas detrás de Rust. Sin embargo, esto requiere mayor atención de nuestra parte ya que Rust no es otro lenguaje basado en C. Algunas de sus características son:
Documentación con rustdoc
La documentación es una parte importante y muchas veces olvidada de un proyecto de software. Rust cuenta desde el principio con una herramienta destinada a que escribir documentación sea poco doloroso, se trata de rustdoc
Seguir leyendo