Normale Ansicht

Es gibt neue verfügbare Artikel. Klicken Sie, um die Seite zu aktualisieren.
Ältere BeiträgeHaupt-Feeds

Rust 1.59 erschienen

28. Februar 2022 um 20:00

Kurz notiert: Rust ist in Version 1.59 erschienen. Die spannendste Neuerung ist hierbei aus meiner Sicht die Unterstützung für Inline-Assembly-Instructions. Dabei lassen sich innerhalb von Rust-Quellcodedateien Assembly-Instructions übergeben, die so in das Kompilat übernommen werden können. Dies ist immer dann nötig, wenn bestimmte Spezialbefehle benötigt werden, welche der Compiler nicht standardmäßig ausgibt.

Manuelle Assembler-Programmierung wird bei den meisten Programmen nicht benötigt. Beispiele sind eher vor allem in der Embedded-Programmierung zu finden, wo meist direkt Interrupts konfiguriert werden, die wiederum in vielen Architekturen über spezielle Operationen eingestellt werden können. Aber auch der Einsatz von SIMD benötigt spezielle Befehle. Dies ist besonders für Bibliotheken hilfreich, die Daten parallel verarbeiten.

Klassischerweise können die Assembler-Module in .S-Dateien geschrieben werden, welche dann, ähnlich wie C-Dateien, zu .o-Objektdateien assembliert resp. übersetzt werden. Verschiedene Objektdateien, welche auch aus unterschiedlichen Programmiersprachen stammen können, lassen sich dann zu einem Programm linken. Die Option von Assembler-Sektionen innerhalb einer höheren Programmiersprache vereinfacht den Umgang allerdings deutlich. So bietet auch GNU GCC für C ein spezielles asm-Keyword an, mit dem direkt Assembler-Befehle übergeben werden können. Mehr Informationen diesbezüglich bietet die GCC-Doku.

Das Rust By Example-Handbuch bietet eine eigenen neue Sektion zur Inline Assembly mit Beispielen an. Es lässt sich erkennen, dass es einige Parallelen zum C-Äquivalent gibt, obgleich die Syntax Unterschiede aufweist. Es ist möglich, ähnlich wie bei format-Strings, Zusatzinformationen zu Variablen und Registern zu übergeben. Dabei sollte jedoch bedacht werden, dass für den asm-Code natürlich keine strenge Typsicherheit gelten kann und der Einsatz nur innerhalb von unsafe-Blöcken möglich ist.

Weitere Änderungen in der neuen Rust-Version beziehen sich auf destructuring assignments und const generics-Standards und Verschachtelungen. Die destructuring assignments können bei der Lesbarkeit helfen, da mehrere Werte auf der rechten Seite mehreren Variablen auf der linken Seite in einem Statement zugewiesen werden können. Ähnliches ist man auch schon im Python mit dem Unpacking gewohnt.

Alles in allem aus meiner Sicht ein sehr spannender Release, der besonders die Entwickler von Bibliotheken freuen wird, da weitere Optimierungsmöglichkeiten komfortabler zur Verfügung stehen.

Programmiersprache: Rust 1.60 steht bereit

07. April 2022 um 18:39

Kurz notiert: Rust ist eine Programmiersprache, in der auch die Rendering-Engine Servo geschrieben wird, aus welcher Firefox-Innovationen wie Quantum CSS und WebRender stammen. Mittlerweile steht Rust 1.60 bereit.

Die Programmiersprache Rust wurde planmäßig in Version 1.60 veröffentlicht. Wer sich für alle Highlights der neuen Version interessiert, findet wie immer in der offiziellen Release-Ankündigung weitere Informationen.

Der Beitrag Programmiersprache: Rust 1.60 steht bereit erschien zuerst auf soeren-hentzschel.at.

Programmierung: Rust im Linux-Kernel bekommt Async und Netzwerk-Code

Mit den aktuellen Rust-Patches für den Linux-Kernel bekommt das Projekt ein neues Programmiermodell, das es mit C so nicht gibt.

Der Betreuer des Projekts, Rust im Linux-Kernel zu etablieren, Miguel Ojeda, hat seine Patch-Serie aktualisiert und dabei erstmals Unterstützung für Netzwerk-Code umgesetzt sowie erste Arbeiten am Async-Support vorgenommen. Beides zusammen könnte ein grundlegend neues Programmiermodell im Linux-Kernel etablieren, sofern die Rust-Patches irgendwann im stabilen Hauptzweig landen.

Für die Netzwerkunterstützung sind vor allem einige sehr wichtige und grundlegende Datentypen hinzugekommen. Dazu zählen etwa Typen für IPv4- und IPv6-Adressen sowie Socket-Adressen für IPv4 und IPv6, ein Buffer für Sockets, Namensräume sowie mit TcpListener und TcpStream ein prinzipieller Ersatz für die klassischen Netzwerk-Sockets.

Darüber hinaus ist das Async-Modul von Rust auf den Linux-Kernel adaptiert worden. Damit könnte das Projekt erstmals eine in die Sprache eingebaute Möglichkeit zur asynchronen Programmierung erhalten. Das ist mit C so bisher nicht möglich. Umsetzen lassen soll sich so etwa asynchroner TCP-Socket-Code, was Ojeda auch direkt mit einem Code-Beispiel in Rust illustriert und dieses erklärt. Dazu heißt es, dass der Code sehr ähnlich zu seiner synchronen Variante sei, der sogenannte Executor aber noch fehle.

Neu zum Rust-Code hinzugekommen sind außerdem Paketfilter, einige Locking-Mechanismen, eine einfache Mutex-Variante, die weniger Funktionen als das vorhandene C-Pendant bietet, sowie ein neuer Datentyp zu Referenzzählung, der das Definieren von Wrapper für den C-Code erleichtern soll. Möglich ist mit dem Rust-Code nun auch, Dokumentationstests auszuführen. Durch Umbauarbeiten am Code lassen sich so auch Kernel-APIs testen.

Der Beitrag Programmierung: Rust im Linux-Kernel bekommt Async und Netzwerk-Code erschien zuerst auf Linux-Magazin.

Programmiersprache: Rust 1.61 steht bereit

19. Mai 2022 um 20:54

Kurz notiert: Rust ist eine Programmiersprache, in der auch die Rendering-Engine Servo geschrieben wird, aus welcher Firefox-Innovationen wie Quantum CSS und WebRender stammen. Mittlerweile steht Rust 1.61 bereit.

Die Programmiersprache Rust wurde planmäßig in Version 1.61 veröffentlicht. Wer sich für alle Highlights der neuen Version interessiert, findet wie immer in der offiziellen Release-Ankündigung weitere Informationen.

Der Beitrag Programmiersprache: Rust 1.61 steht bereit erschien zuerst auf soeren-hentzschel.at.

Programmiersprache: Rust 1.62 steht bereit

01. Juli 2022 um 21:01

Kurz notiert: Rust ist eine Programmiersprache, in der auch die Rendering-Engine Servo geschrieben wird, aus welcher Firefox-Innovationen wie Quantum CSS und WebRender stammen. Mittlerweile steht Rust 1.62 bereit.

Die Programmiersprache Rust wurde planmäßig in Version 1.62 veröffentlicht. Wer sich für alle Highlights der neuen Version interessiert, findet wie immer in der offiziellen Release-Ankündigung weitere Informationen.

Der Beitrag Programmiersprache: Rust 1.62 steht bereit erschien zuerst auf soeren-hentzschel.at.

Meta empfiehlt Rust für CLIs und als C++-Alternative

01. August 2022 um 07:21

Für die Programmierung der Dienste von Facebook-Mutter Meta darf nun auch offiziell Rust verwendet werden. Die Nutzung wachse rasant, heißt es.

Für die Programmierung der serverseitigen Dienste des Facebook-Mutterkonzerns Meta können die Angestellten künftig auch offiziell die als besonders sicher geltende Programmiersprache Rust verwenden. Das kündigt das Team in seinem Engineering-Blog an. Damit zählt Rust nun zu den wenigen intern unterstützten Sprachen.

Zum Hintergrund der Entscheidung heißt es: “Die Unterstützung einer neuen Sprache ist keine Entscheidung, die wir leichtfertig treffen. Es ist wichtig, dass jede Sprache, die wir übernehmen, für einen bestimmten Anwendungsfall am besten geeignet ist, daher lassen wir bei der Bewertung einer Sprache ein hohes Maß an Sorgfalt walten. Sprachentscheidungen bleiben in der Regel bestehen, sobald sie einmal getroffen wurden, daher möchten wir von Anfang an bewusst vorgehen, um unseren Entwicklern die besten Werkzeuge zum Arbeiten zur Verfügung zu stellen.”

Die interne Unterstützung bedeutet laut Meta, dass die Entwickler mit den üblichen Werkzeugen zum Schreiben von Code, Debugging, den Builds und dem Ausrollen gut arbeiten können. Ähnliches gilt für Kernbibliotheken und Interoperabilität. Bisher zählten zu der Liste der unterstützten Sprachen die Eigenentwicklung Hack sowie Python und C++.

Die Nutzung von Rust empfiehlt Meta parallel zu C++ für Backend-Dienste, deren Leistung besonders kritisch ist. Das Unternehmen schreibt dazu: “Der Anteil von Rust an unseren Produkten und Dienstleistungen nimmt rapide zu, wir setzen uns langfristig für Rust ein und begrüßen Early Adopters.”

Zusätzlich dazu sollen mit Rust vor allem Kommandozeilenwerkzeuge erstellt werden. Für zustandslose Anwendungen werde hingegen Hack bevorzugt, Python wiederum für Data-Science- und Machine-Learning-Anwendungen. Nur in kleinen Teilbereichen werde außerdem auf Go, Java, Erlang und Haskell gesetzt.

Der Beitrag Meta empfiehlt Rust für CLIs und als C++-Alternative erschien zuerst auf Linux-Magazin.

Rust mit (etwas) höheren Anforderungen an Glibc und Linux-Kernel

02. August 2022 um 08:09

Mit dem für September erwarteten Release 1.64.0 steigen die Anforderungen der Programmiersprache Rust an die Glibc und den Linux-Kernel.

Die Glibc für Rust-Toolchains, die auf Linux ausgerichtet sind, muss dann mindestens in Version 2.17 vorliegen, bislang genügte eine Version ab 2.11. Der Kernel ist ab Version 3.2 einsatzfähig, bislang war Version 2.6.32 und höher ausreichend.

Wie das Rust-Team mitteilt, gelten diese Anforderungen dann für das Ausführen des Rust-Compilers selbst, nebst anderer Rust-Werkzeuge wie Cargo oder Rustup und auch für das Ausführen von Binärdateien, die von Rust erzeugt wurden, wenn sie die libstd verwenden.

Betroffen von diesen veränderten Voraussetzungen sollten nach Meinung der Entwickler nur Anwender mit einer sehr betagten LTS-Version von Linux sein oder auch Anwender von Embedded-Hardware, die eine alte Linux-Version an Bord hat. Immerhin seien die Glibc- und Kernel-Versionen, die für die neuen Basisanforderungen verwendet werden, schon fast ein Jahrzehnt alt.

Der Beitrag Rust mit (etwas) höheren Anforderungen an Glibc und Linux-Kernel erschien zuerst auf Linux-Magazin.

Go 1.19 mit Updates bei der Implementierung

04. August 2022 um 08:23

Rund fünf Monate nach der Version 1.18 erscheint die Ausgabe 1.19 der Programmiersprache Go. Viele Neuerungen betreffen Implementierungen in Toolchain und Runtime.

Auch die Bibliotheken haben Neuerungen erfahren. Wie gewohnt betonen die Entwickler die Rückwärtskompatibilität: Wir erwarten, dass fast alle Go-Programme weiterhin kompiliert werden und wie bisher laufen.

An der Sprache selbst gebe es nur eine kleine Änderung und die betreffe eine Korrektur des Geltungsbereichs von Typparametern in Methodendeklarationen, teilen die Entwickler mit. Bestehende Programme seien davon nicht betroffen.

Zudem sei das Speichermodell von Go wurde überarbeitet worden, um Go an das von C, C++, Java, JavaScript, Rust und Swift verwendete Speichermodell anzugleichen, heißt es weiter. Mit der Aktualisierung des Speichermodells führt Go 1.19 neue Typen im sync/atomic-Paket ein, die die Verwendung atomarer Werte erleichtern, wie atomic.Int64 und atomic.Pointer[T].

Die Laufzeitumgebung bietet nun Unterstützung für eine weiche Speicherbegrenzung. Diese Speichergrenze umfasst den Go-Heap und alle anderen von der Laufzeitumgebung verwalteten Speicher und schließt externe Speicherquellen wie Mappings der Binärdatei selbst, in anderen Sprachen verwalteten Speicher und vom Betriebssystem im Auftrag des Go-Programms gehaltenen Speicher aus, teilen die Entwickler mit.

Die Ankündigung nennt weitere Details.

Der Beitrag Go 1.19 mit Updates bei der Implementierung erschien zuerst auf Linux-Magazin.

Programmiersprache: Rust 1.63 steht bereit

13. August 2022 um 19:50

Kurz notiert: Die Programmiersprache Rust steht ab sofort in Version 1.63 bereit.

Die Programmiersprache Rust wurde planmäßig in Version 1.63 veröffentlicht. Wer sich für alle Highlights der neuen Version interessiert, findet wie immer in der offiziellen Release-Ankündigung weitere Informationen.

Der Beitrag Programmiersprache: Rust 1.63 steht bereit erschien zuerst auf soeren-hentzschel.at.

FreeBSD-Kernel bekommt experimentelle Rust-Patches

02. September 2022 um 08:20

Die Rust-Arbeiten an Linux zeigen, dass die Sprache auch im Kernel genutzt werden kann. Nun gibt es Experimente für FreeBSD.

Der Entwickler David Young hat experimentelle Patches erstellt, um Kernel-Module für FreeBSD in der Programmiersprache Rust erstellen zu können. Das berichtet Young zusammen mit einer sehr ausführlichen Erläuterung im Forschungsblog des IT-Sicherheitsunternehmens NCC Group.

Motivation der Arbeiten sind dabei die zahlreichen Speicherfehler, die im Zusammenhang mit der Nutzung von C und C++ auftreten, in denen bisher üblicherweise Betriebssystemkernel erstellt werden. Young schreibt dazu: “Es ist allgemein anerkannt, dass ein großer Teil der Sicherheitsprobleme in komplexer Software auf Speichersicherheitsprobleme zurückzuführen ist.” Die Sprache Rust helfe dagegen dabei, bestimmte Fehlerklassen im Zusammenhang mit der Speicherverwaltung vorzubeugen.

Young verweist darüber hinaus auf die Arbeiten am Linux-Kernel, um dort Rust als Sprache neben C zu etablieren. Auch diese Arbeiten sind primär durch die Sicherheitsperspektive motiviert. Das sieht auch Linux-Gründer Linus Torvalds als einen der Hauptvorteile der Arbeiten an. Für FreeBSD habe es bisher bis auf veralteten Beispielcode aber keine Arbeiten in diese Richtung gegeben, weshalb Young diese Arbeit nun wieder aufgenommen habe, schreibt er.

Der so entstandene Code steht nun auf Github bereit. Dabei handelt es sich unter anderem um Rust-Sprachanbindungen für die Kernel-Header von FreeBSD, eine sichere Abstraktionsschicht sowie ein Beispielmodul. Die Abstraktionen seien jedoch nicht so fortgeschritten, wie dies bei Linux der Fall sei, räumt Young ein. Darüber hinaus wünscht sich der Entwickler, dass diese Arbeiten weitergeführt und künftig eventuell auch Kern-Komponenten in Rust erstellt werden. Ob dies aber letztlich geschieht und der Code in den Hauptzweig von FreeBSD aufgenommen wird, ist derzeit noch nicht absehbar.

Der Beitrag FreeBSD-Kernel bekommt experimentelle Rust-Patches erschien zuerst auf Linux-Magazin.

Arti 1.0.0: Tor in Rust

06. September 2022 um 07:21

Mit Arti 1.0.0 hat das Tor-Projekt ihre Implementierung der Tor-Protokolle in der Programmiersprache Rust veröffentlicht. Arti sei nun für einen breiteren Einsatz bereit, teilt das Projekt mit.

Bei der Definition des jetzt erreichten Meilensteins 1.0.0 sei man zur Auffassung gelangt, dass Arti “bereit für den Produktionseinsatz” sei. Man sollte in der Lage sein, Arti in der realen Welt benutzen zu können und ein ähnliches Maß an Privatsphäre, Benutzerfreundlichkeit und Stabilität zu erhalten, wie man es mit einem C-Client Tor möglich sei. Und die APIs sollten einigermaßen stabil sein.

Die Entscheidung, mit der Umsetzung in Rust sei gefallen, nachdem die C-Tor-Implementierung in die Jahre gekommen sei. Man habe bei der weiteren Entwicklung in C immer unter Beschränkungen gelitten. C ermutige einen unnötigen Low-Level-Ansatz für viele Programmierprobleme, und es erfordere dann mühsame Sorgfalt und Aufwand, um sicher benutzbar zu sein.  Auch deswegen sei das Entwicklungstempo in C immer langsamer als gewünscht gewesen, heißt es im Blogbeitrag von Tor.

Außerdem sei die bestehende C-Implementierung im Laufe der Jahre zu einem nicht gerade modularen Design herangewachsen. Es sei fast alles ist mit allem anderen verbunden, was es noch schwieriger mache, den Code zu analysieren und sichere Verbesserungen vorzunehmen.

Der Beitrag Arti 1.0.0: Tor in Rust erschien zuerst auf Linux-Magazin.

Programmiersprache: Rust 1.64 steht bereit

22. September 2022 um 21:34

Kurz notiert: Die Programmiersprache Rust steht ab sofort in Version 1.64 bereit.

Die Programmiersprache Rust wurde planmäßig in Version 1.64 veröffentlicht. Wer sich für alle Highlights der neuen Version interessiert, findet wie immer in der offiziellen Release-Ankündigung weitere Informationen.

Der Beitrag Programmiersprache: Rust 1.64 steht bereit erschien zuerst auf soeren-hentzschel.at.

Uutils 0.0.16 verbessert Kompatibilität zu den GNU Coreutils

14. Oktober 2022 um 07:19

Das uutils-Projekt implementiert die GNU Coreutils und somit die grundlegenden Kommandozeilenprogramme eines Linux-Systems in Rust. Mit der neuen Version nähern sich mehrere Tools ihren alten Kollegen weiter an.

Bei einem Fehler beenden sich jetzt die meisten Werkzeuge mit dem Rückgabewert „1“ und entsprechen so dem Verhalten der GNU-Tools. In den vorherigen uutils-Versionen gaben die Programme im Fehlerfall noch eine „2“ zurück. Auch „chroot“ liefert bessere Exit-Codes und unterstützt obendrein Kommandos mit Flags.

„cp“ kennt den Parameter „-H“ und behandelt weitere Fälle korrekt. „test“ unterstützt „-N“, „-ef“, „-nt“ und „-ot“ sowie 128 Bit lange Integer-Zahlen. Darüber hinaus haben die Entwickler die Art und Weise angepasst, wie „dd“ seine Parameter interpretiert. Damit bietet auch dieses Werkzeug eine bessere Kompatibilität zu seinem GNU-Pendant.

Die Neuimplementierung der Coreutils in Rust soll gleich mehrere Fliegen mit einer Klappe schlagen. So stellt Rust eine zeitgemäße Programmiersprache und bietet einen besseren Schutz vor Speicherfehlern. Obendrauf sollen die neu geschriebenen Tools auch noch flotter zu Werke gehen.

Weitere Informationen zur neuen Version liefern die Release Notes auf GitHub.

Der Beitrag Uutils 0.0.16 verbessert Kompatibilität zu den GNU Coreutils erschien zuerst auf Linux-Magazin.

Programmiersprache: Rust 1.65 steht bereit

05. November 2022 um 18:07

Kurz notiert: Die Programmiersprache Rust steht ab sofort in Version 1.65 bereit.

Die Programmiersprache Rust wurde planmäßig in Version 1.65 veröffentlicht. Wer sich für alle Highlights der neuen Version interessiert, findet wie immer in der offiziellen Release-Ankündigung weitere Informationen.

Der Beitrag Programmiersprache: Rust 1.65 steht bereit erschien zuerst auf soeren-hentzschel.at.

Arti 1.1.0: Feature-Release von Tor-Client in Rust

05. Dezember 2022 um 10:56

Im September gab es mit Arti 1.0 die erste stabile Veröffentlichung des in Rust geschriebenen Tor-Client. Nun haben die Entwickler mit Arti 1.1.0 ein Feature-Release nachgereicht.

So lasse sich Arti 1.1.0 nun mit Support für die Anti-Zensur-Funktionen von Tor nutzen. Artie komme nun mit Bridges und pluggable Transports zurecht, teilen die Entwickler mit. Und obwohl dies wie eine relativ kleine Ankündigung aussehe, stecke dahinter eine Menge Arbeit, die in den vergangenen Monaten geleistet worden sei. Die Verwendung dieser Funktionen könne Arti effektiver machen, um Zugang zu Tor zu erhalten, trotz Zensur zwischen dem Nutzer und dem öffentlichen Internet, heißt es weiter.

Arti könne sich mit Bridges verbinden, wenn es mit der “bridge-client”-Funktion kompiliert wurde, was in der Arti-Binärdatei standardmäßig aktiviert sei. Auch die Verbindung mit pluggable Transports klappe beim Kompilieren mit der “pt-client”-Funktion, die ebenfalls standardmäßig in der Arti-Binärdatei aktiviert sei.

Arti benötigt jetzt aber Rust 1.60 oder höher, steht im Changelog für die neue Version. Damit seien einige neue Funktionen möglich geworden und es sei möglich geworden, Abhängigkeiten zu aktualisieren, die veraltet gewesen seien.

Der Beitrag Arti 1.1.0: Feature-Release von Tor-Client in Rust erschien zuerst auf Linux-Magazin.

Programmiersprache: Rust 1.66 steht bereit

15. Dezember 2022 um 19:38

Kurz notiert: Die Programmiersprache Rust steht ab sofort in Version 1.66 bereit.

Die Programmiersprache Rust wurde planmäßig in Version 1.66 veröffentlicht. Wer sich für alle Highlights der neuen Version interessiert, findet wie immer in der offiziellen Release-Ankündigung weitere Informationen.

Der Beitrag Programmiersprache: Rust 1.66 steht bereit erschien zuerst auf soeren-hentzschel.at.

Rust 1.66.1 schließt Sicherheitslücke

17. Januar 2023 um 11:55

Mit der Veröffentlichung der Version 1.66.1 beheben die Entwickler der Programmiersprache Rust eine Sicherheitslücke, über die ein Man-in-the-Middle-Angriff (MITM) möglich wird.

Rust 1.66.1 behebt das Problem, dass der enthaltene Paketmanager Cargo die SSH-Hostschlüssel nicht verifiziert, wenn Abhängigkeiten oder Registry-Indizes mit SSH geklont werden. Diese Sicherheitslücke wird als CVE-2022-46176 gelistet. Die Lücke betrifft alle Rust-Versionen vor 1.66.1.

Wenn ein SSH-Client eine Kommunikation mit einem Server aufbaut, sollte der Client zur Vermeidung von MITM-Angriffen prüfen, ob er bereits in der Vergangenheit mit diesem Server kommuniziert hat und wie der öffentliche Schlüssel des Servers damals lautete, heißt es im Advisory zur Lücke. Wenn sich der Schlüssel seit der letzten Verbindung geändert hat, muss die Verbindung abgebrochen werden, da wahrscheinlich ein MITM-Angriff stattfindet. Es sei nun aber festgestellt worden, dass Cargo solche Überprüfungen nie implementiert und keine Validierung des öffentlichen Schlüssels des Servers durchgeführt hat, wodurch Cargo-Benutzer anfällig für MITM-Angriffe seien.

Im Advisory sind Anleitungen für die Upgrades aufgeführt und Alternativen beschrieben, sollte ein Update nicht sofort möglich sein.

Der Beitrag Rust 1.66.1 schließt Sicherheitslücke erschien zuerst auf Linux-Magazin.

Programmiersprache: Rust 1.67 steht bereit

26. Januar 2023 um 20:03

Kurz notiert: Die Programmiersprache Rust steht ab sofort in Version 1.67 bereit.

Die Programmiersprache Rust wurde planmäßig in Version 1.67 veröffentlicht. Wer sich für alle Highlights der neuen Version interessiert, findet wie immer in der offiziellen Release-Ankündigung weitere Informationen.

Der Beitrag Programmiersprache: Rust 1.67 steht bereit erschien zuerst auf soeren-hentzschel.at.

Programmiersprache: Rust 1.68 steht bereit

13. März 2023 um 22:00

Kurz notiert: Die Programmiersprache Rust steht ab sofort in Version 1.68 bereit.

Die Programmiersprache Rust wurde planmäßig in Version 1.68 veröffentlicht. Wer sich für alle Highlights der neuen Version interessiert, findet wie immer in der offiziellen Release-Ankündigung weitere Informationen.

Der Beitrag Programmiersprache: Rust 1.68 steht bereit erschien zuerst auf soeren-hentzschel.at.

Ruffle-Projekt erhält Flash-Player in Rust am Leben

20. März 2023 um 08:35

Das Ruffle-Projekt reimplementiert den Flash-Player in der Programmiersprache Rust. Auf diese Weise sollen alte Flash-Anwendungen weiterbetrieben werden können. Bei der Entwicklung gab es jetzt größere Fortschritte.

Das berichtet das Team in seinem frisch eröffneten Blog. Demnach emuliert die AVM1-Engine ihr Vorbild aus Adobe Flash deutlich besser. Damit laufen wiederum viele ActionScript-2-Spiele unter Ruffle. Als Beispiele nennen die Entwickler Bubble Bobble: The Revival, The Powerpuff Girls: Attack of the Puppybots und Cube Colossus.

Fortschritte gibt es auch bei der AVM2-Engine, die sich um die Ausführung von ActionScript-3-Code kümmert. Welche Funktionen im einzelnen wie weit implementiert sind, listet eine eigene Seite detailliert auf. Besonders gut voran kommt derzeit die XML-Unterstützung. Des Weiteren haben die Entwickler verschiedene Probleme behoben, die in einigen Fällen das Anklicken von Schaltflächen verhindert hatten. Insgesamt ist die Entwicklung so weit, dass sich viele Spiele von Flipline spielen lassen. Dazu zählen Papa’s Burgeria und Jacksmith. Ebenfalls funktionieren unter anderem die Spiele Canabalt, Diggy und Dino Run: Marathon of Doom.

Wer Ruffle auf Mobilgeräten nutzt, kann nun Text in die entsprechenden Felder eingeben. Tippt man ein solches Feld an, fährt die Bildschirmtastatur aus, alternativ lässt sich eine Bluetooth-Tastatur nutzen. Auf iOS-Geräten öffnen sich zudem endlich Kontextmenüs. Um sie hervorzuholen, drückt man etwas länger auf den Bildschirm.

Der Beitrag Ruffle-Projekt erhält Flash-Player in Rust am Leben erschien zuerst auf Linux-Magazin.

NIST macht Rust zur Safer Language

29. März 2023 um 09:29

Das National Institute of Standards and Technology (NIST) hat die Programmiersprache Rust in die Liste der “Safer Languages” aufgenommen.

Rust verfüge über ein Ownership-Modell, das sowohl Speicher- als auch Threadsicherheit zur Kompilierzeit garantiere, ohne dass ein Garbage Collector erforderlich sei, begründet das NIST seine Wahl. Dieses Modell ermöglicht es den Benutzern, leistungsstarken Code zu schreiben und gleichzeitig viele Fehlerklassen zu eliminieren, heißt es weiter. Und obwohl Rust auch über einen unsicheren Modus verfüge, sei dessen Verwendung explizit, und erlaube nur einen engen Bereich von Aktionen.

Das 1901 gegründete NIST untersteht dem US-Handelsministerium und gilt als eine der ältesten naturwissenschaftlichen Forschungseinrichtungen in den USA. Eine der vielen Initiativen des NIST ist das Projekt Software Assurance Metrics And Tool Evaluation (SAMATE). Dieses Gremium “widmet sich der Verbesserung der Software Assurance durch die Entwicklung von Methoden zur Bewertung von Software-Tools, der Messung der Effektivität von Tools und Techniken sowie der Identifizierung von Lücken in Tools und Methoden”, heißt es auf der NIST-Website.

Die Safer Languages wiederum sind eine Kategorie der SMATE “Klassen von Software-Sicherheitsfunktionen”. Das NIST empfiehlt dort die Verwendung von Programmiersprachen mit eingebauten Sicherheitsfunktionen, die von den Entwicklern aktiv überwacht und unterstützt werden.

Neben Rust sind bei den Safer Languages auch die Programmiersprachen und Sprach-Tools SPARK, Escher C Verifier Language, Fail-Safe C, Safe-Secure C/C++ (SSCC), die CERT Coding Standards und CCured aufgeführt.

Der Beitrag NIST macht Rust zur Safer Language erschien zuerst auf Linux-Magazin.

Programmiersprache: Rust 1.69 steht bereit

20. April 2023 um 19:09

Kurz notiert: Die Programmiersprache Rust steht ab sofort in Version 1.69 bereit.

Die Programmiersprache Rust wurde planmäßig in Version 1.69 veröffentlicht. Wer sich für alle Highlights der neuen Version interessiert, findet wie immer in der offiziellen Release-Ankündigung weitere Informationen.

Der Beitrag Programmiersprache: Rust 1.69 steht bereit erschien zuerst auf soeren-hentzschel.at.

Rust 1.69 mit vielen Verbesserungen

24. April 2023 um 10:12

Die neue Version 1.69 der Programmiersprache Rust kann mit rund 3000 Commits von 500 Beitragenden aufwarten. Entsprechend zahlreich sind die Änderungen und Verbesserungen.

Obwohl die neue Ausgabe von Rust keine neuen Features mitbringt, sind die Entwickler angetan von Version 1.69. Besonders die zahlreiche Beteiligung sei erfreulich. Verbesserungen habe es unter anderem in der automatischen Behebung von Warnungen gegeben. Nachdem bereits in Rust 1.29.0 der Unterbefehl “cargo fix” hinzugefügt worden sei, um einige einfache Compiler-Warnungen automatisch zu beheben, habe es stetige Fortschritte in den automatisch zu behebenden Warnungen gegeben. Die Anzahl der Warnungen, die sich automatisch bereinigen ließen, sei entsprechend stetig gestiegen. Darüber hinaus habe man die Unterstützung für die automatische Behebung einiger einfacher Clippy-Warnungen hinzugefügt. Damit Entwickler von diesen Features auch Gebrauch machen, habe man nun mehr Aufmerksamkeit darauf gelenkt und der Paketmanager Cargo schlage nun vor, cargo fix oder cargo clippy –fix auszuführen, wenn es Warnungen entdecke, die sich automatisch beheben ließen, teilen die Entwickler mit.

Eine Verbesserung der Leistungsfähigkeit beim Kompilieren verspricht die Neuerung, dass Cargo nun standardmäßig die Ausgabe von Debug-Informationen in Build-Skripten vermeidet. Das Changelog zählt weitere Neuerungen in Rust auf.

Der Beitrag Rust 1.69 mit vielen Verbesserungen erschien zuerst auf Linux-Magazin.

❌
❌