
ARTDEPARTMENT

En 2006, Graydon Hoare, un desarrollador de software que trabajaba en la Fundación Mozilla, regresaba a su calle en Vancouver cuando descubrió que una vez más, el montacargas estaba estropeado. Cansado (un poquito hasta las agallas, más adecuadamente) de subir 21 pisos a pie, Hoare se puso a darle vueltas: ¿cómo puede ser que a esta gloria sigamos siendo incapaces de obtener que poco tan simple como un montacargas funcione correctamente?
Aquel incidente aparentemente trivial (e incluso cómico... aunque no para las pobres rodillas de Hoare, claro), en sinceridad terminó plantando las semillas de toda una revolución en el campo del software, que adoptó la forma de lo que muchos ven como el lengua de programación seguro por excelencia.
La carrera de programador en 2017 y en el futuro (con Javier Santana)
Los ascensores modernos usan microcontroladores con firmware que controla el motor, sensores, cerraduras, y comunicación entre pisos. Este firmware suele estar escrito en lenguajes de bajo nivel (como C o C++) por eficiencia.
Sin secuestro, estos lenguajes adolecen de fallos comunes:
Hoare, consciente de estos riesgos, pensó que la raíz de los problemas de su montacargas podría tener estar en esa clase de fallos. Y ese pensamiento le terminó llevando a crear un lengua completamente nuevo que eliminara esas clases de errores desde su diseño. Y lo lanzó hace ahora una división. Y lo llamó 'Rust'.

Rust fue diseñado para evitar errores comunes relacionados con la diligencia de memoria, como los desbordamientos de búfer, punteros colgantes o condiciones de carrera. Gracias a su sistema de propiedad, préstamos y verificaciones en tiempo de compilación, Rust garantiza que los accesos a memoria sean seguros sin exigencia de subordinarse de un 'recolector de basura'. Esto permite escribir código que es tan competente como el de C o C++, pero con muchas más garantías de seguridad.
La concurrencia es notoriamente difícil y propensa a errores en lenguajes tradicionales. Rust aborda este problema integrando seguridad de concurrencia en su maniquí de tipo. El compilador impide, en tiempo de compilación, condiciones de secuencia, permitiendo que múltiples hilos compartan datos solo si es seguro hacerlo. Esto significa que los programas pueden utilizar múltiples núcleos y procesadores de guisa competente sin comprometer la seguridad o la estabilidad.
A diferencia de muchos lenguajes modernos como Java o Go, Rust no utiliza un 'recolector de basura'. En su ocasión, maneja la memoria a través de un sistema de propiedad y tiempo de vida de las variables. Este enfoque permite que Rust tenga un control preciso del uso de memoria, lo que resulta en un rendimiento predecible y competente. Encima, al eliminar la exigencia de un recolector, se evita la sobrecarga asociada y las posibles interrupciones que esta conlleva.
En esencia, Rust ofrece el control de C con la seguridad de lenguajes modernos como Java, pero sin el sobrecoste de rendimiento asociado a la monasterio de basura.

Aunque comenzó como un esquema de pasatiempo, Mozilla reconoció su potencial en 2009 y lo patrocinó oficialmente. La primera interpretación estable de Rust se lanzó en mayo de 2015. Diez primaveras luego, su comunidad ha crecido exponencialmente:
Rust es conocido por su pronunciada curva de estudios. Sin secuestro, sus beneficios a abundante plazo —robustez, seguridad y claridad— lo hacen suponer el esfuerzo. Por otra parte, existen numerosos bienes formativos a lo abundante y satisfecho de Internet que ayudan a suavizar la entrada a su ecosistema.
Rust no es simplemente un lengua; pretende ser una infraestructura para construir otras infraestructuras, desde sistemas operativos hasta navegadores web, servidores, bases de datos y más. Así, Rust ha sido prohijado por algunos de los nombres más grandes de la industria tecnológica:
Incluso el kernel de Linux ha empezado a integrar código Rust, aunque en este caso con enormes (y recientes) polémicas.
Imagen | Marcos Merino mediante IA
En Genbeta | Hay quien opina que C ya no es un lengua de programación (otros se conforman con proponer que no es un lengua de bajo nivel)
Compartir este artículo
Consultoria Personalizada
¡Si aun no tienes presencia en internet o
necesitas ayuda con tus proyectos, por favor, escribenos!