Rust Überblick

Rust ist eine Programmiersprache, deren Entwicklung 2006 von Graydon Hoare begonnen und zwischen 2009 und 2020 maßgeblich durch seinen damaligen Arbeitgeber Mozilla Corporation gefördert und bestimmt wurde. Nachdem 2 Ansätze in C++ gescheitert waren, erhoffte sich Mozilla, mit Rust erstmals eine sichere und parallelisierte Webbrowser-Engine entwickeln zu können.

Mittlerweile sind mehrere Firefox-Komponenten durch Rust-Code ersetzt worden. Viele andere Unternehmen (siehe unten), sowie Entwickler von Projekten wie Apache httpd, AWS Firecracker, Chromium, Google Android (Binder, Bluetooth, Keystore, Virtualisierung), Google Fuchsia (Bluetooth, Netzwerk), Linux Kernel, librsvg, Mercurial, Node.ts, Parcel, Rome, Signal, Threema, Tor, das Unicode Consortium und im Windows Kernel wurden/haben Software teilweise oder vollständig in Rust neu- oder umgeschrieben.

Seit 2021 wird Rust durch die Rust Foundation gefördert, welcher u.a. AWS, Google, Huawei, Meta, Microsoft und Mozilla angehören. Einige Rust- und Tokio-Entwickler sind inzwischen Angestellte dieser Firmen.

Design

In der ersten Präsentation zu Rust wurde 2010 die Absicht ausgedrückt, ausschließlich auf Erkenntnisse und Erfahrungen anderer Programmiersprachen zurückzugreifen. Auch heute ist wohl nur das Zusammentreffen bestimmter Aspekte an Rust besonders.

Rust wurde gleichzeitig mit Servo entwickelt. Servo war, bis zu der firmenweiten Reorganisation im August 2020, das in Rust geschriebene Mozilla-Forschungsprojekt einer parallelisierten Webbrowser-Engine. Komponenten, die sich in Servo bewährt hatten, wurden in Firefox integriert. Erfahrungen aus der Programmierung von Servo beeinflussten wiederum das Design von Rust. So unterscheidet sich das Rust aus 2010 deutlich von Rust 1.0 aus 2015. Das frühe Rust hatte neben deutlichen syntaktischen Unterschieden auch Green Threads und einen Garbage Collector. Letzterer wurde durch das Ownership-Modell und den Borrow Checker hinfällig, als man erkannte, dass sowohl Thread- als auch Speichersicherheit mit den gleichen Mechanismen erreicht werden können.

Diskussion

Rust ist keine einfach zu erlernende Sprache. Das liegt vor allem an den Randbedingungen, die sich Rust verpflichtet hat, zu erfüllen. Diese führten auch dazu, dass die Entscheidungsfindung zum await-Syntax schwieriger war, als bei anderen Sprachen.

Rust wichtigstes Angebot ist die Verhinderung ganzer Klassen von Laufzeitfehlern bereits zur Kompilierzeit. Speicher- und Thread-Sicherheit ohne Garbage Collection sind dabei nur ein Aspekt. Dass Sprache und Ökosystem insgesamt eine hohe langfristige Produktivität ermöglichen können, wird oft übersehen. Aber: nicht nur das Erlernen von Rust ist einmalig eine Investition, sondern jedes mal, neuen oder veränderten Code kompilierbar zu machen. Ob diese Investition profitabel ist, lässt sich nur im Einzelfall entscheiden.

Im Folgenden eine Aufstellung von Rusts Chancen und Risiken. Da in Rust die Erfahrungen anderer Programmiersprachen eingeflossen sind, gibt es naturgemäß Übereinstimmungen, besonders mit den Sprachen aus der ML-Familie.

Chancen

Risiken

Unternehmen, die Rust verwenden

3DSignals, Ahrefs, Aleph Alpha, Apple Inc., Asquera, Astropad Company, Avast, AWS, Barco, bearer, Bolt Labs, Brave Software Inc., Bundesdruckerei GmbH, Buoyant, Calendly, Canonical, Centogene, ChartMogul, Chef Software, Inc., citybldr, Clausehound, Cloudflare, Cloudseal Inc., Commure, Cosmian, Coursera, CrowdStrike, Crown Software GmbH, CSIS, Cultivate, CV Partner, Datalust, deepc, Deepgram, DeepSign Security, Deliveroo, DEMV Systems, Discord Inc., Ditto, Dropbox Inc., Dwelo, e.ventures, Einride, Elektron.se, ELOKON, eMundo, EnBW Energie Baden-Württemberg, Enhance, ESG, ESR Labs, Etsy Inc., Everlane, Faraday.ai, Fashion Digital GmbH & Co. KG, Fastly, Figma, Inc., FireEye, ForAllSecure, Foresight Mining Software Corporation, FullStory, GitHub Inc., Google Inc., HENSOLDT, Hopin, Huawei, HUM Systems, IBM, ifm software gmbh, Impero, Imperva, Indeed, InfluxData, inscripta, Intel, JetBrains, JoS QUANTUM, Joyent, jusst technologies, KENBUN IT AG, KISIO Digital, Komodo Platform, Kopernikus Automotive GmbH, launchbadge, LINE Plus Corporation, LogDNA, Lumeo, Materialize, Inc., Meta, Microsoft, MindBuffer, Moogsoft Inc., move innovation, Mozilla, Narrative, Nationwide Building Society, Nike, Noibu, Nymi, NZXT, Ockam, OneSignal, Oxide Computer, Paessler AG, Paige, Phylum, PingCAP, Postmates, PQShield Ltd., Qovery, Red Canary, Inc., Red Hat, Reddit, Redjack, Rhebo GmbH, SAP, Screenleap, Seaplane, Second Spectrum, SEED, Senacor, Sentry, Shopify, ShowSeeker, Signal Foundation, Signavio, sisu, Slight, Slowtec, Snapview, Snips, Sonos, Swift Navigation, System76, Tag1 Consulting, Temporal, Tempus Ex, The Techno Creatives, The Walt Disney Company, Threema GmbH, Ticketmaster, Tilde Inc., Tobii AB, tonari, TrueLayer, Tweede golf, Twitter Inc., ubix GmbH, Valve, vehicle.software, Vinted, VMRay, VMware, Wallaroo, wearTell, XAIN, Xayn, Y.at, YesLogic, Zenly, Zimpler

mit WebAssembly: 1Password

Computerspiel-Hersteller: DIMS, Embark Studios, Ready At Dawn Studios, Treyarch, Utopixel

mit Blockchain: Adobe Systems, Bitfinex, Bitski, Blockstack, BOTLabs GmbH, CasperLabs, ChainSafe, Chorus One, Clearmatics, Confio GmbH, Consensys, Famedly, filancore, Findora, Gnosis, Informal, IOHK, Kollider, Kraken, Layer1 Capital, LayerTwo, Massa, Meta, NEAR, nem, Parity Technologies, Polymath, SimpleStaking, SORAMITSU, TenX


Alle Angaben ohne Gewähr • HomeKontakt