5 raons per considerar aprendre aquesta llengua estimada

Des de mitjans de la dècada de 1980, C i C++ van dominar quan es tractava de desenvolupament de sistemes de baix nivell. Després va venir Rust, llançat el 2015 després de deu anys de desenvolupament. Des de llavors, s’ha convertit en el llenguatge de programació més estimat a l’enquesta anual de desenvolupadors de Stack Overflow… durant diversos anys seguits.

Què hi ha darrere d’aquest amor? Aquí teniu cinc raons per les quals potser voldreu considerar Rust.

Rust té suport per a grans empreses a través de la Fundació Rust

Hi ha molts llenguatges de programació que s’inventen cada any, però només se’n parla d’uns quants. Aquests últims acostumen a ser els que tenen un gran suport de l’empresa darrere d’ells, penseu en Dart (Google), C# (Microsoft) i Swift (Apple).

Rust va ser iniciat per Mozilla i ara està sota el paraigua de la Rust Foundation, que inclou membres com Amazon, Google, Huawei, Microsoft, Meta, Arm, Dropbox, Toyota i altres. La fundació es va iniciar com una manera d’assegurar el futur de Rust després que Mozilla va acomiadar 250 empleats el 2020 a causa dels efectes econòmics de la COVID-19.

Rust ofereix una alternativa a C++

És una mica com comparar pomes i peres, però sospito que un gran factor afavoreix Rust: és un bon ajust per crear aplicacions que, d’altra manera, hauríeu escrit en C++. Això es deu al fet que Rust elimina classes d’errors relacionats amb C++ (per exemple, un error de C++ el 2016 va permetre un pirateig de criptomoneda que va provocar pèrdues de milions de dòlars). Rust no té nuls, que són coneguts per causar problemes.

C++ encara és més ràpid a l’hora de compilar fitxers font, però si toqueu qualsevol capçalera, C++ haurà de fer moltes recompilacions. Afortunadament, els desenvolupadors estan treballant per millorar la velocitat de compilació de Rust, ajudats per millores a LLVM (el compilador utilitza LLVM per al backend).

Una vegada que aneu més enllà de la compilació de fitxers únics amb el compilador Rust, el millor és utilitzar Cargo, el sistema de compilació oficial i el gestor de paquets de Rust. Comprova les dependències i no es recompila si no hi ha canvis. Sens dubte, aquesta és una gran millora respecte a C++, que no té un sistema de compilació oficial (però almenys set alternatives com Make, MSBuild, Ninja, etc.).

És significatiu que fins i tot Microsoft fomenti el desenvolupament a Rust. Segons Linus Torvalds, Rust apareixerà al nucli de Linux l’any 2023, convertint-lo en el segon idioma oficial per a Linux després de C. (Tingueu en compte que no tornaran a escriure els 25 milions de línies del codi C del nucli a Rust, sinó per utilitzar-lo). en àrees com els controladors de dispositius on la gestió de la memòria és crítica.)

Per al desenvolupament de Windows, encara necessiteu eines de creació de C++ o Visual Studio/Visual Studio Code instal·lats, a més de l’instal·lador Rust. Hi ha una caixa per a l’API de Windows. Una caixa és un paquet Rust; La càrrega s’utilitza per descarregar, compilar, distribuir i carregar caixes. Un projecte Rust normalment es construeix a partir de moltes caixes. Rust també té un dipòsit de paquets, Crates.io, amb actualment més de 87.000 “caixes en estoc”.

Gestió superior de la memòria

Rust ha tret una fulla del llibre C++ permetent-vos controlar on i com s’assigna i desassigna la memòria. Quan demaneu memòria per a una variable, es pot declarar un punter intel·ligent. Tanmateix, la desassignació es fa quan aquest punter intel·ligent surt de l’abast. El plantejament és força matisat; també podeu tenir diversos punters intel·ligents que comparteixen les mateixes dades i es recullen escombraries. També podeu accedir a la memòria per referència, que no allibera memòria quan surt de l’abast.

Una altra faceta de la gestió de la memòria és la propietat, que és semblant a moure la semàntica en C++. Això es fa a nivell de valor; cada valor té un propietari.

Competició feta correctament

La documentació en línia oficial de Rust l’anomena concurrència sense por, que “us permet escriure codi lliure d’errors subtils i fàcil de refactoritzar sense introduir nous errors”. Aquesta és tota una afirmació, ja que la concurrència normalment pot provocar alguns errors molt subtils. El compilador evita molts d’aquests errors en el moment de la compilació, cosa que facilita el desenvolupament de múltiples aplicacions amb fil sense els tipus d’errors difícils de localitzar habituals en altres idiomes.

Té un ampli suport de WebAssembly

WebAssembly permet crear vídeos, àudio, gràfics, entorns 3D, jocs multimèdia, càlculs criptogràfics i fins i tot implementacions de llenguatge. Molts idiomes admeten WebAssembly, però per al codi de qualitat de producció, es recomana que us limiteu a C/C++, Rust o AssemblyScript.

Es triga uns dos segons a instal·lar el compilador WebAssembly a Rust. Compilar a WebAssembly és considerablement més fàcil que, per exemple, per a C o C++ utilitzant EmScripten. Un exemple força clar de Rust i WebAssembly és Ruffle, un emulador Flash de codi obert que s’executa com a aplicació d’escriptori o al navegador mitjançant WebAssembly. S’executa qualsevol contingut Flash existent, fins i tot al mòbil.

Conclusió

Rust s’utilitza ara per crear controladors de dispositius, sistemes incrustats, emuladors, jocs i sistemes operatius en molts àmbits diferents, incloses les finances. Aquesta llista impressionant mostra que s’utilitza per a àrees que fa deu anys només haurien estat el domini de C++.

No he esmentat Go, que alguns veuen com un rival de Rust. Rust té una gran quantitat de funcions en comparació amb Go. Go és un llenguatge més senzill i immillorable a la velocitat de compilació, però si voleu escriure programari que tregui el màxim profit del maquinari, Rust té l’avantatge en velocitat d’execució i seguretat.

Una diferència important entre els idiomes més nous com Python, Rust, Dart i els idiomes més antics com C o C++ és el seu ús de repositoris de paquets i una connexió amb els sistemes de compilació. Hi ha molts gestors de paquets per a C++, però no n’hi ha cap d’oficial, igual que no hi ha cap sistema de compilació oficial. Aquesta és una gran força de les llengües més modernes.

Leave a Comment

Your email address will not be published. Required fields are marked *