Google trae Rust al proyecto Chromium
Google ahora admite bibliotecas Rust de terceros de C++ en el proyecto Chromium.
dana janssens, Escribiendo en el blog de seguridad de Googleescribe que para comenzar, el comando agrega un archivo Serie de herramientas de producción de óxido para sistemas de construcción. El símbolo de óxido aparecería en el binario de Chrome durante el próximo año.
Es un gran problema para Google agregar bibliotecas de Rust a Chromium. Sigue las profundas inversiones de Microsoft y Amazon Web Services en la programación de Rust. Nota de Jansens: Google no es necesariamente compatible con Rust, sino con bibliotecas de Rust de terceros.
Ir a lo seguro se manifiesta en el tono cautivador de Janssen. Comenzaron “lentos” y serían exigentes con las bibliotecas de terceros. yo aconsejo.
Mozilla desarrolló originalmente Rust, un lenguaje seguro para impresión. Microsoft y Amazon Web Services han invertido en Rust. Lo que esto dice sobre Mozilla es, en cierto modo, bastante sencillo. El óxido es el éxito. Pero aparte de eso, existe un cierto grado de incertidumbre sobre Firefox, aunque cuota de mercado cada vez menor.
Google admite bibliotecas de Rust por dos razones importantes. Se espera que el movimiento para aceptar las bibliotecas de Rust acelere el desarrollo y mejore la seguridad en Chromium. En términos de crecimiento, Jansens cita menos código de escritura, menos documentos de diseño y menos revisiones de seguridad. Proteger: más concretamente, es una oportunidad para aumentar el número de líneas de código sin errores de integridad de memoria y al mismo tiempo reducir la intensidad de los errores de código.
Algunos seguirán siendo escépticos sobre el cambio debido, por ejemplo, a la introducción de nuevos errores. Lowlander Escribe en Hacker News:
Reescribir en Rust no es necesariamente una buena idea para ningún proyecto determinado, y es casi seguro que Google no reescribiría grandes cantidades de Chrome en Rust de manera más proactiva que Mozilla.
La razón es que el error está principalmente en el nuevo código, no en el código que no se ha tocado durante mucho tiempo. Si bien puede resolver algunos problemas de memoria latente reescribiendo en Rust, es probable que introduzca nuevas regresiones, que podrían ser mucho peores. Centrarse en escribir su código único en un lenguaje seguro tiene más sentido y solo migrar las cosas de forma incremental cuando requiere una reescritura significativa de todos modos”.
Pero otros comentaristas de Hacker News dieron crédito al equipo de Chromium. como uno veterano de Google dijoEsto es realmente bueno, y después de haber pasado por esto en otros proyectos de Google, mis más sinceras felicitaciones a las personas que han demostrado la perseverancia para seguir avanzando, aunque estoy seguro de que se hacen muchas preguntas realmente difíciles y muchas de esfuerzo Este resultado será beneficioso para los usuarios a largo plazo “.
Jansen escribe que la interoperabilidad solo se admitirá en una dirección “por ahora” de C++ a Rust. Curiosamente, Google está invirtiendo en un brazo, una herramienta experimental C++/Rust “muy” bidireccional. Los colaboradores más importantes son los ingenieros de Google.
Rust y C++ se basan en diferentes conceptos que afectan la interoperabilidad. La forma en que maneje estas diferencias dependerá en cierto modo de cómo modele la interoperabilidad, de modo que los dos lenguajes puedan al menos comprender sus similitudes o diferencias insostenibles.
En particular, la mayor parte de la interoperabilidad entre Rust y C ++ se debe a API estrictamente definidas, lo que una vez más muestra cuán serio es el desafío de Google con la interoperabilidad. Se requiere estrechez debido a las diferencias en los idiomas.
Jansen escribe: “Por ejemplo, Rust garantiza la seguridad de la memoria caché mediante un análisis estático que se basa en dos entradas: para siempre (concluir o escrito explícitamente) f Mutación exclusiva. Este último no es compatible con la forma en que se escribe la mayoría de C++ de Chromium”.
“Alborotador. Amante de la cerveza. Total aficionado al alcohol. Sutilmente encantador adicto a los zombis. Ninja de twitter de toda la vida”.