Los desarrolladores analizan por qué Rust es tan caliente


Comentario: el óxido se calienta más. Estas son algunas de las principales razones.

Desarrollador programador Desarrollo Diseño de sitios web y tecnologías de codificación que trabajan en la oficina de la compañía de software

Imagen: SARINYAPINNGAM, Getty Photos / iStockphoto

Oxido no tiene derecho a ser tan hot como es. Después de todo, es un lenguaje de programación de bajo nivel que promociona «la seguridad es nuestra prioridad número uno», como si fuera Una aerolínea o algo. Aun así, Rust se ha disparado a la cima de las listas de popularidad del lenguaje de programación, situándose justo fuera de los 20 mejores de RedMonk para el strategy del tercer trimestre de 2019 en el puesto # 21, analista líder de RedMonk Steven O&#39Grady para escribir, «Para que un lenguaje de sistemas continúe su trayectoria ascendente de esta manera sugiere que alguna combinación del diseño, la comunidad del lenguaje y la demanda del mercado se combinan para que supere sus expectativas naturales».

Mientras O&#39Grady identifica algunos puntos clave de venta para Rust, Publicación de Cliff Biffle 2019 va un paso más allá al ilustrar por qué un desarrollador de C / C ++ podría enamorarse de Rust.

VER: Rust: qué es, por qué debería aprenderlo y cómo puede dominarlo (PDF gratuito) (TechRepublic)

Lo que C ++ aspira a ser

Biffle ha pasado años optimizando el código C ++ para ejecutar un complicado demostración de gráficos de microcontrolador. Dados años de optimizaciones, ¿por qué futz con Rust? Porque, dijo, «la mayoría de los errores comunes de seguridad / confiabilidad que vemos en el software hoy en día son el resultado de fallas en los lenguajes C y C ++». Rust, como primer lenguaje de seguridad, prometió reducir o eliminar los errores al tiempo que ofrece el rendimiento de un verdadero lenguaje de sistemas.

Prometido, claro. ¿Entregado? Absolutamente. Biffle escribió, «La implementación de Rust es más easy, más corta (en líneas de código), más rápida y más pequeña (en bytes de Flash) que mi versión C ++ altamente optimizada, y debido a que es un código casi completamente seguro, peleé varios tipos de errores regularmente, como las condiciones de carrera y los punteros colgantes, ahora se capturan por el compilador«Eso es un respaldo bastante fuerte.

Él continúa identificando otras cuatro áreas donde Rust triunfa sobre C ++:

  • Las herramientas Rust y el ecosistema de la biblioteca son fantásticos. Simplemente tener un administrador de paquetes es un avance increíblemente importante.

  • Cuando escribo C ++, estoy pensando en comportamientos indefinidos y errores que el compilador no detectará. Cuando escribo Rust, estoy pensando en cómo optimizar cosas o agregar características. Hay una diferencia de carga cognitiva muy authentic y me hace más productivo.

  • Las características de seguridad de Rust, como la verificación de límites, han detectado errores y no han causado problemas de rendimiento …

  • El puerto reveló errores sutiles significativos en el código C ++ cuando el compilador Rust no me dejaba hacer ciertas cosas … que resultaron ser cosas legítimamente incorrectas.

Bizzle tampoco está solo en su entusiasmo por Rust.

Un coro creciente de alabanza

En una conversación con Oso CTO Sam Scott, comentó sobre cómo Rust le permite profundizar en la programación de sistemas sin perderse fácilmente:

(Rust) fe (els) como sistemas de programación con barandillas. Todo lo que necesitaba para hacer la programación de sistemas de bajo nivel, pero con mucha ayuda para depurar y hacer que el código sea seguro, como el comprobador de préstamos y el compilador, y luego herramientas como los linters («clippy»). Había ofrecido muchos de los aspectos familiares de la programación funcional y orientada a objetos, y parecía encajar con mi modelo mental de cómo quería construir sistemas.

El desarrollador David Barsky no es menos efusivo en una entrevista, mencionando, entre otras cosas, las formas en que Rust mejora la productividad del desarrollador: «Cargo, la herramienta de construcción y el administrador de paquetes, es uno de los mejores sistemas de construcción y administradores de paquetes que he usado «Rust también viene con una excelente documentación incorporada y excelentes pruebas integradas de unidad, integración y documentación». Esto, combinado con el rendimiento superior de Rust («Para los servicios de pink sensibles a la latencia, la falta de recolección de basura en tiempo de ejecución de Rust resulta en latencias de cola casi inexistentes», señaló Barsky) hace que sea un lenguaje que valga la pena conocer.

Si ha querido experimentar con un lenguaje de sistemas pero se ha rehuido debido a la complejidad percibida (o actual), pruebe con Rust podría ser la actualización de código abierto en C / C ++ que estaba esperando.

Divulgación: trabajo para AWS, pero nada en este documento se relaciona con mi empleo allí.

Ver también



Enlace a la noticia first