3 Punkte von GN⁺ 2023-10-26 | 1 Kommentare | Auf WhatsApp teilen
  • Der Autor Jarrod Overson teilt seine Erfahrungen aus drei Jahren Nutzung von Rust, hauptsächlich für WebAssembly.
  • Er nutzte Rust, um Wick zu entwickeln, ein Anwendungs-Framework und eine Runtime, die WebAssembly als zentrales Modulsystem verwendet.
  • Rusts testgetriebener Entwicklungsansatz ermöglicht mit weniger Aufwand mehr Wartbarkeit und reduziert den Bedarf an umfangreichen Tests.
  • Der Autor stellte fest, dass das Programmieren in Rust seine Coding-Fähigkeiten in anderen Sprachen verbessert.
  • Clippy, der Linter von Rust, setzt eine breite Palette an Regeln durch, die Performance, Lesbarkeit und die Vermeidung unnötiger Indirektion verbessern.
  • Allerdings weist der Autor darauf hin, dass Rusts Bibliotheken und Tools bestimmte Anwendungsfälle oft nicht abdecken.
  • Er kritisiert die Schwierigkeiten bei der Veröffentlichung von Paketen auf crates.io, dem Paket-Registry von Rust, aufgrund bestimmter Einschränkungen.
  • Der Autor kritisiert außerdem Rusts Async-iness, die er als nachträglichen Gedanken beschreibt und die oft zu schwer lösbaren Fehlern führt.
  • Aufgrund von Rusts ausdrucksstarkem Typsystem kann Refactoring schwierig sein.
  • Trotz der Nachteile lobt der Autor Rusts Vielseitigkeit und Robustheit.
  • Der Autor kommt zu dem Schluss, dass Rust für Projekte, die schnelle Iteration benötigen, möglicherweise nicht geeignet ist, sich aber für Projekte mit klar bekanntem Umfang oder für solche, die höhere Vorabkosten tragen können, durchaus lohnt, in Betracht gezogen zu werden.

1 Kommentare

 
GN⁺ 2023-10-26
Hacker-News-Kommentare
  • Einige Nutzer empfinden Rust als unproduktiv und einschränkend und bevorzugen andere Sprachen wie Zig, weil sie sich damit stärker auf das Programmieren konzentrieren können.
  • Das Fehlen von Namespaces auf crates.io wird kritisiert, da dadurch jeder globale Paketnamen beanspruchen kann, was potenziell zu Problemen führt.
  • Einige Nutzer schätzen Rusts umfangreiche Bibliotheken und das hervorragende Dokumentationssystem.
  • Es gibt Bedenken wegen des Fehlens globaler Lint-Einstellungen für Projekte, aber als Lösung wird die Verwendung der Datei .cargo/config.toml vorgeschlagen.
  • Einige Nutzer äußern Unzufriedenheit darüber, dass wichtige Low-Level-Crates bei Version 0.x stehen geblieben sind.
  • Das Problem von Backreferences auf Sprachebene wird hervorgehoben, und es gibt Forderungen nach statischen Analyselösungen.
  • Einige Nutzer setzen den Rust-Compiler produktiv ein und loben seine Fehlermeldungen.
  • Es gibt eine Debatte über die Notwendigkeit von Tests in Rust: Einige behaupten, wenn es kompiliert, ist es wahrscheinlich korrekt, während andere meinen, dass Business-Logik weiterhin getestet werden muss.
  • Einige Nutzer empfinden die Arbeit mit Rust als unbequem, lernen die Sprache aber aus beruflichen Gründen.
  • Einige Nutzer schätzen an Rust, dass es mit der Vorstellung bricht, Programmierer müssten alles, was der Compiler tut, vollständig kontrollieren und vollständig verstehen.
  • Über den Einsatz von async in Rust wird gestritten: Einige sehen darin eine Ursache für Unzufriedenheit, während andere glauben, dass es überall verwendet werden sollte.