Les traigo una selección subjetiva de noticias oxidadas para enero. En esta selección: Rust 1.32, Steve Klabnik y Nick Cameron se van, quiche de Cloudflare, analizador de óxido y dispositivo de memoria de página, GUI y búsquedas asíncronas, conferencia Oxydyze para ingenieros incorporados.

Rust 1.32 ha sido lanzado. En comparación con el lanzamiento anterior a gran escala, en el que se concentraron muchos esfuerzos de toda la comunidad, no hay muchas innovaciones importantes:
Detalles en la traducción de las noticias .
Steve Klabnik y Nick Cameron dejan Mozilla

Triste noticia: Steve Klabnik y Nick "nrc" Cameron dejan Mozilla.
La publicación de Steve "gracias, siguiente" ( discusión ) afirma que las razones principales son los ralladores con la parte "externa" de Mozilla to Rust y todo tipo de problemas de dinero con los pies en la tierra. Steve quiere encontrar trabajo relacionado con Rust e intentará continuar participando en la vida y el desarrollo del lenguaje, aunque ciertamente no está en el volumen anterior.
En "Dejando Mozilla y (la mayoría de) el proyecto Rust" ( discusión ), Nick dice que estuvo cansado de este proyecto durante siete años y quiere un cambio de escenario. Ya se fue a trabajar a PingCAP :
"Comenzando en PingCAP" ( discusión ).
Guía para el analizador de óxido y salsa

Alex @matklad publicó una guía / recorrido por la estructura del analizador de óxido ( ¿qué es esto ?, discusión ):
rust-analyzer utiliza la biblioteca de compilación incremental de Salsa, recientemente se han publicado una publicación y un par de videos sobre su dispositivo:
Rust OS: memoria de página

La serie de artículos Writing an OS in Rust se ha rellenado con dos artículos sobre memoria de página:

humbug tradujo su artículo en inglés, "The Bot for Starcraft, a Rust, C y Any Other Language" .
Escribir una biblioteca dinámica para Windows, que podría cargar en el espacio de direcciones del juego StarCraft: Brood War y administrar unidades.
Si alguien no ha leído, entonces aquí hay una razón para familiarizarse. :)
¿Ya estamos asíncronos?
Últimamente ha habido tanta actividad al arrastrar la sintaxis asincrónica al idioma ( por ejemplo ) que han creado una página actualizada separada con el estado de RFC / debates clave: areweasyncyet.rs ( discusión ).
¿Ya somos GUI?
areweguiyet.com ( discusión ) es un intento similar de reunir en un solo lugar toda la información sobre el estado de los intentos siempre actualizados para dar a luz a una GUI confiable e idiomática para Rust.
Una excelente visión general de la biblioteca crossbeam , que proporciona estructuras de datos eficaces sin bloqueo, y su evolución en los últimos años ( discusión ).
Implementaciones de protocolo RIC QUIC: Quiche de Cloudflare y Quinn

El protocolo experimental QUIC (alternativa al TCP, programa educativo ) está ganando popularidad lentamente. Este mes:
Se lanzó Quinn v0.2 ( código , discusión ), ahora es una de las implementaciones más precisas del protocolo. Esta biblioteca se centra principalmente en la API idiomática de Rust, que incluye soporte para futuros;
Cloudflare lanzó su implementación, Quiche ( discusión ), más centrada en la API C bien desarrollada para la integración en aplicaciones en otros idiomas.

Una traducción del artículo de Mozilla, "Seguridad intrépida: seguridad de la memoria", que describe los conceptos básicos de cómo Rust proporciona memoria segura.
Incrustado




En una linea
- Las actualizaciones de IntelliJ-Rust de enero ( # 90 , # 91 ) incluyen: soporte para renombrar dependencias en Cargo.toml , soporte inicial para macro 2.0 , solución rápida "Make mutable" ( GIF ), refactoring "Introducir parámetro" ( GIF ) e inferencia de tipos para probar bloques y generadores ;
- WebRender se publicó en crates.io ( discusión ): ahora será más fácil hacer otros proyectos con él;
- dtolnay / request-for-implement ( discusión ): una lista de "paquetes que no existen, pero que deberían" con una descripción bastante detallada de ideas e información sobre dónde buscar ayuda y asesoramiento;
- Rust es ahora el decimotercer lenguaje más popular en GitHub ( discusión );
- John Carmack enseña a Rust ( discusión );
- Mi experiencia al convertir una biblioteca de Python a Rust ( discusión ): un informe sobre la reescritura de toda la biblioteca de Python a Rust (el tiempo de desarrollo es significativamente más largo, pero no hay muchos problemas con las optimizaciones);
- Rust hoja de trucos multipantalla para principiantes ( discusión ) - LMB para arrastrar y soltar;
- ¿Es hora de reescribir el sistema operativo en óxido? ( discusión ): una presentación con QCon de que no debe intentar reescribir algo a gran escala en Rust a la vez, debe pasar por la creación e implementación de bloques de construcción oxidados pequeños, útiles y de alta calidad;
- El ensamblaje de ripgrep 0.10 (y sus dependencias) en Debian ahora es reproducible ( discusión ) - esto es importante para que los paquetes de óxido penetren en otros ecosistemas;
- / r / rust: "¿Tus trucos Rust favoritos?" - discusión con todo tipo de trucos de óxido y trucos no obvios;
- / r / rust: Rust in the Benchmarks Game es, en promedio, un 3% más rápido que C ++ y un 4% más lento que C " ; se arrastra lentamente, pero con los puntos de referencia todo es siempre complicado y ambiguo;
- informe "Rust at speed - construyendo una base de datos rápida y concurrente" ( discusión ) - sobre cómo construir una base de datos rápida de múltiples subprocesos sobre Rust;
- librsvg dvizhuha: un gráfico del librsvg "oxidado" , un informe más detallado sobre el estado del proceso y un informe separado sobre la simplificación del trabajo con GObject de Rust ;
- Desarrollador Red Hat: Acelere su Python usando Rust ( discusión ): cómo y por qué expandir el código Python con Rust, comparación con la resolución de un problema usando numpy, selección de enlaces para una mayor inmersión en la pregunta;
- QtCreator y su uso como IDE para Rust ;
- / r / rust: Creación de herramientas de desarrollo de JavaScript con Rust : presenta tres paquetes "Rusty ECMAScript": escáner (RESS) , analizador de sintaxis (RESSA) , escritor (RESW) , que permiten desarrollar herramientas de desarrollo de JavaScript para Rust;
- Cuando Rust es más seguro que Haskell ( discusión ) - Comparación de seguridad de Rust y Haskell;
- / r / rust discusión sobre las perspectivas de rust-vs-go en el contexto de la web ;
- / r / rust: "¿Dónde crees que estará Rust dentro de 3 años?" - Vanging sobre el futuro de Rust, hay opiniones interesantes en los comentarios;
Paquetes nuevos y actualizados
- Ropey ( discusión ) es una implementación eficiente y compatible con utf8 de la estructura de datos Rope / Cord , que a menudo se usa en editores de texto;
- hexyl ( discusión ): un visor hexadecimal de consola que utiliza activamente colores para indicar grupos de valores hexadecimales;
- cargo-cache ( discusión ): le permite limpiar selectivamente las piezas
~/.cargo/
; - typetag ( discusión ): un atributo macro que permite la serialización indolora de
&dyn Trait
y la deserialización de objetos de tipo Box<dyn Trait>
; - dness ( discusión ) - cliente dns dinámico;
- regex-automata ( discusión ): proporciona una interfaz de bajo nivel para trabajar con expresiones regulares (a diferencia de
regex
), que es menos conveniente, pero permite un control detallado del consumo de memoria y el tiempo de búsqueda; usa DFA y admite la serialización; - Stretch ( código , discusión ): una implementación oxidada de flexbox, utilizada en Shard (cómo está repleto de Android e iOS );
- arbalest ( discusión ) es una alternativa al Arc normal, pero los enlaces débiles no prohíben modificar el acceso a datos;
- Toshi ( discusión ): un motor de búsqueda de texto completo similar a Elasticsearch (una alternativa a lo que Tantivy , que se centra en Lucene);
- puerto inferno - oxidado de un visualizador de barra de perlas de los resultados de la creación de perfiles de flamegraph, el proceso de desarrollo se presenta en forma de secuencias ( video 1 , video 2 );
- DataFusion v0.6 ( discusión , código ): la primera versión del motor de consulta en memoria que utiliza la implementación oficial Rust de Apache Arrow ;
- cargo-expand v0.4 ( discusión ): el expansor de macros ahora admite trabajar con módulos / tipos / funciones específicos;
- fluent-rs v0.5 ( discusión ): una implementación oxidada del moderno sistema de localización Fluent ha actualizado el enfoque de asignación de recursos, recibió un analizador de copia cero y mejoró la documentación;
- Tokei v9.0 ( código , discusión ): el programa para contar líneas en el código fuente recibió soporte para archivos de configuración, el número de PL comprensibles aumentó a 170;
- cargo-crev v0.4 ( discusión ) - El sistema UX de revisiones de paquetes distribuidos ha sido rediseñado para simplificar enormemente ;
- Smithay v0.2 ( código , discusión ): se agregó un ejemplo de Yunque a la biblioteca para desarrollar gestores de ventanas para Wayland , soporte mejorado para colores y XWayland, DRM reescrito;
- oxid-auth v0.4 ( discusión ) - La biblioteca OAuth2 ha sido reescrita completamente y ahora es compatible con actix, rocket y rouille;
Habr ha aflojado recientemente las nueces y ahora permite referirse a los recursos externos de la comunidad, por lo que invito a todos a familiarizarse con Rust para buscar ayuda y asesoramiento en recursos en ruso sobre Rust:
Eso es todo, ¡gracias por mirar!
Si no he agregado ningún enlace o evento importante, no dude en dejarlo en los comentarios. :)
KDPV tomado de aquí , las imágenes restantes de los sitios de los respectivos proyectos.