El significado de la programación en Rust
Personalmente, cuando escuché por primera vez sobre Rust, era un desarrollador y científico de datos que escribía código en lenguajes como Python y Go. Me encantan ambos lenguajes y uso Python casi todos los días y voy ocasionalmente. Por curiosidad, comencé a aprender Rust. Debido a mi experiencia en programación Python, no es fácil aprender Rust porque Rust es muy diferente de otros lenguajes populares.
El origen y naturaleza de Rust
El lenguaje de programación Rust salió a la luz en 2010 y rápidamente se hizo popular. Su rendimiento y características lo hacen muy atractivo para los desarrolladores de código que anteponen la seguridad y la velocidad. Rust comenzó como un proyecto paralelo del empleado de Mozilla, Graydon Hoare.
Mozilla vio el potencial de este nuevo lenguaje y comenzó a patrocinarlo antes de su lanzamiento. Desde el principio, Rust se ha centrado en la seguridad y el rendimiento. La parte de seguridad proviene principalmente de la forma en que se procesa la memoria Rust.
Rust no tiene recolección de basura. El mecanismo de concurrencia de ust es el mismo que el de C, que llama al subproceso nativo del sistema operativo. La ventaja de Rust en concurrencia es que puede comprobar estáticamente si hay problemas de "carrera de datos". La ventaja de Rust en concurrencia es que puede comprobar estáticamente si hay problemas de "carrera de datos". Debido a esto, Firefox, Cloudflare, Dropbox y Yelp favorecen a Rust.
La segunda métrica clave en la que Rust enfatiza es el rendimiento. Rust es realmente rápido, incluso más rápido que C/C para algunas tareas. C y Rust son muy diferentes en cuanto a seguridad se refiere. El lenguaje C es muy inseguro porque necesita manejar la memoria por sí solo. Rust se optimiza aún más en función de C. Los objetos Rust tienen un propietario y múltiples referencias.
Rust sólo permite un propietario, las transferencias y traspasos provocarán que la propiedad se traslade. Esto se parece al Unique_ptr de C, pero en realidad se parece más a la semántica de movimientos de C. En otras palabras, la copia de C es implícita, el movimiento es explícito y el movimiento de Rust es implícito. Por supuesto, Rust tiene un análisis estático por parte del compilador y no hay sobrecarga de tiempo de ejecución.
¿Por qué deberías aprender Rust?
Rust no está orientado a objetos ni es funcional. Al igual que C y Go, eso significa que Rust admite algunas características funcionales y OO, como métodos y cierres. Entonces, ¿por qué deberías aprender Rust? Porque es un lenguaje moderno, tiene concurrencia, admite paralelismo, es uno de los lenguajes de programación más rápidos del mundo y es muy seguro para la memoria y liviano. Lo más importante es que te convierte en un mejor programador, porque cuando programas en Rust, debes pensar en algunas de las mejores prácticas en las que nunca antes habías pensado.
Libros sobre Rust
Si ya estás planeando aprender Rust, debes leer el siguiente libro: el lenguaje de programación Rust.
Este libro es el documento oficial de Rust. Proporciona una versión en línea y un libro en papel. La explicación del concepto, la implementación del código y la experiencia de lectura son bastante buenas. Tiene una calificación de 9,0 en Douban y se la conoce cariñosamente como la "Biblia Rust". Este libro proporciona una descripción general del lenguaje Rust a partir de los principios básicos. A medida que lea este libro, construirá varios proyectos. Después de leer este libro, comprenderá firmemente Rust Language.
Los primeros tres capítulos le brindarán una introducción rápida a los conceptos básicos de Rust. Se recomienda navegar rápidamente por estos tres capítulos. A partir del Capítulo 4, implica conocimientos de gestión de memoria y es adecuado para programadores con cierta experiencia. El capítulo 5 comienza con una introducción a la estructura de Rust, que no es muy similar a la estructura del lenguaje C, por lo que debes prestar atención a este capítulo. El Capítulo 6 presenta enumeraciones y coincidencias de módulos; el Capítulo 7 presenta módulos;
Los métodos de manejo de errores de Rust son diferentes y este conocimiento se explicará en el Capítulo 9.
El Capítulo 10 presenta el conocimiento relevante de los genéricos; el Capítulo 11 presenta cómo escribir pruebas automatizadas; el Capítulo 12 presenta cómo construir programas de línea de comandos; el Capítulo 13 presenta funciones de lenguaje funcional, iteradores y cierres en Rust. El capítulo 15 presenta punteros inteligentes; los siguientes tres capítulos analizan las características orientadas a objetos, la coincidencia de patrones y las características avanzadas de Rust, y el capítulo final presenta los servidores web multiproceso en forma de ejemplos extendidos.
Rust language 2065 438 versión 08 contiene muchas mejoras para hacer que Rust sea más ergonómico y más fácil de aprender. Desde que este libro se publicó oficialmente, las actualizaciones correspondientes son relativamente oportunas. Actualmente puede leer la última versión en línea en el sitio web oficial. En resumen, si desea trabajar en la programación de Rust, este libro debe incluirse en su lista de lectura obligada.