Sunteți pe pagina 1din 3

Rust un lenguaje de la firma de Mozilla

1) Un poco de introducción a Rust:


a) Rust es un lenguaje de programación compilado, de propósito general y
multiparadigma que está siendo desarrollado por Mozilla.
b) Ha sido diseñado para ser "un lenguaje seguro, concurrente y práctico". Es un lenguaje
de programación multiparadigma, soporta programación funcional pura, por
procedimientos, imperativa y orientada a objetos.

c) El lenguaje surgió de un proyecto personal desarrollado por Graydon Hoare


(trabajador de Mozilla), quién empezó a trabajar en él en 2006; Mozilla se involucró en
este proyecto en 2009 y lo dio a conocer oficialmente en 2010. En el año 2010 este se
dio a conocer a la comunidad, este trabajo comenzó siendo programado bajo Ocaml a
ser un compilador auto contenido.
d) La primera versión del sistema apareció en enero del año 2012, en el tiempo hasta el
año 2015 ya existe la versión 1.0 y finalmente en 2017 su versión 1.16.0 y
continuando…
e) Según mozilla, Rust ha sido desarrollado de forma abierta por lo que la firma busca la
opinión y contribución de terceros con lo que gracias a esto se ha ido perfeccionando
gracias a experiencias generadas en el mismo desarrollo del motor y de terceros.
Por otra parte no solo es desarrollado y patrocinado solo por mozilla, sino que por la
firma de un grande “SAMSUNG”.

2) A quien va orientado este lenguaje:

a) Orientado a la seguridad
-Memoria de seguridad, para evitar bugs que sirvan como brechas de seguridad. Gestión
automática de guardado.
-Control de las modificaciones. Inmutables por defecto. El estado de mutabilidad no se
comparte entre tareas.
-Ejecución dinámica de seguridad: errores, registros, etc.
Capacidad para definir invariantes complejas

b) Orientado a la concurrencia y a la eficiencia


-Control de la memoria explícita. Control de localización y de etiquetas.
-Tareas de peso muy ligero (corotinas). Facilidad para convertir miles en millones.
-Stack iterators
-Compilación nativa y estática. Emite archivos ELF / PE / Mach-o
-Una interfaz simple y directa para C
c) Orientado a la práctica
-Multiparadigmático, totalmente funcional, concurrente, OO
-Funciones de primera clase con vínculos
-Multiplataforma. Desarrollado para Windows, Linux, OSX
-Cadenas UTF8
-Funciona con cadenas nativas existentes. GDB, Balgrind, Shark, etc
-Permite romper normas en la práctica, si es explícito dónde y cómo
4) Algunos ejemplos de uso:

a) Quiero hackear en hardware / aplicaciones de “Internet de las cosas”


La era Internet de las cosas (IoT) y la expansión del movimiento maker permite una
democratización real de proyectos de hardware. Ya se trate de la Raspberry Pi, Arduino, o
uno de los jóvenes titanes como el BeagleBone o Tessel, puedes elegir entre una gran
cantidad de lenguajes para codificar tus proyectos de hardware, incluyendo Python o
JavaScript.
Hay veces, sin embargo, cuando el rendimiento que ofrecen estos lenguajes no es
adecuado. En otras ocasiones, el microcontrolador de hardware que pretendemos
soportar no es adecuado para los ambientes de ejecución que estos lenguajes requieren:
chips lentos con reservas de memoria pequeñas y aplicaciones de ultra bajo consumo de
energía todavía requieren un lenguaje más cerca al metal. Tradicionalmente este lenguaje
ha sido C – pero como ya habrán adivinado, Rust es el nuevo chico en el bloque.
Rust es compatible con una amplia variedad de plataformas exóticas. Mientras que algo
de esto es todavía experimental, el soporte incluye hardware ARM genérico, el tablero de
desarrollo TIVA de Texas Instruments, e incluso el Raspberry Pi. Algunas de las nuevas
tablas de IoT como el Tessel 2, ¡vienen con soporte oficial para Rust!

b) Estoy operando aplicaciones de computación de alto rendimiento que escalan a


múltiples núcleos
Los estudios sugieren que Rust ya es bueno para HPC (computación de alto rendimiento).
Incluso no tienes que reescribir toda tu aplicación en Rust: su flexible interfaz para
funciones foráneas (FFI) proporciona enlaces de C eficientes que te permiten exponer y
llamar código Rust sin ninguna sobrecarga notable. Esto te permite volver a escribir tu
aplicación módulo por módulo, pasando lentamente hacia una mejor experiencia del
desarrollador que se traducirá en rendimiento equivalente al código antiguo o mejor.
También conseguirán una base de código más fácil de mantener con menos errores, que
escala mejor en un elevado número de núcleos.

d) ¡Simplemente necesito algo rápido!


Rust es ideal para reescribir partes sensibles al rendimiento de tu aplicación. Se conecta
bien con otros lenguajes a través de FFI y tiene un pequeño tiempo de ejecución que
compite con C y C ++ en la mayoría de los casos, incluso cuando los recursos son limitados.
A pesar de la naturaleza de trabajo en progreso del lenguaje, ya hay aplicaciones críticas
de negocio, en vivo en producción que han estado haciendo un buen uso de Rust desde
hace algún tiempo: el startup de Yehuda Katz, Skylight, utiliza código Rust de alto
rendimiento incrustado en un gem de Ruby para procesamiento de datos. La versión 1.0.0
estable es también un hito importante en que no deberían ocurrir cambios de ruptura de
compatibilidad a partir de ahora. ¡Eso hace que sea seguro recomendar Rust incluso para
las aplicaciones más exigentes y robustas!
Ve a Yehuda Katz y Tom Dale hablar de los fundamentos de la programación Rust y cómo
utilizaron Rust con Ruby en su aplicación.

3) De este lenguaje se han inspirado otros lenguajes también, tales como:

a) C#, Elm, Idris, Swift · Sistema operativo · Linux, Mac OS X, Windows, FreeBSD ·
Licencia · Licencia Apache 2.0 o Licencia MIT

4) Asi como ha influido a otros programados del mundo informatico, no debemos olvidar
por quien fue influenciado:
a) Alef, C#,C++,Common Cisp, Cyclone, Haskell, Hermes, Napier 88, Newsqueak, Ruby,
Sather, Standard ML, Ocaml, Racket, Swift, como algunos de los principales.

Nombre carpeta mapa


conceptual: Rust2017

Contruido por:

-Simón Muñoz

-Javier Sanchez

-Jari Marchant

S-ar putea să vă placă și