Gehe nach Rust

Inhaltsverzeichnis

1. Gehen Sie Rust

Ein Internetnutzer, der Rust unterstützt, sagte: „Ich habe mir auch schon lange Sorgen über diese Wahl gemacht. Am Ende hat Rust gewonnen. Erstens habe ich das Gefühl, dass Rust näher an den Dingen der vorherigen Pascal-Ära ist, wo man kann.“ alles kontrollieren; zweitens wäre Rust eine sicherere Wahl, wenn Wasm und verwandte Technologien ein großer Outbreak wären; dann haben wir bereits Python für die schnelle Entwicklung, daher ist es sinnvoll, etwas Extremeres zu wählen, mit Go etwas in der Mitte. Schließlich , Rust sollte für seinen Kern verwendet werden und erhält viel Aufmerksamkeit, daher ist es unwahrscheinlich, dass es eliminiert wird.“

Ein anderer anderer Entwickler sagte: „Ich entwickle seit fast zehn Jahren in Go, aber vor kurzem habe ich auch Rust ausprobiert. Ich glaube, es gibt eine erzwungene und irreführende Vorliebe für Rust, und ich arbeite schon seit einem Jahr daran.“ Jetzt schon. Nach der Erfahrung mit verschiedenen Startups, einschließlich dem, für das ich derzeit arbeite, ist Go bei weitem die beste Wahl für die Backend-Entwicklung! Beachten Sie, dass diese beiden Sprachen in Bezug auf Leistung, Funktionalität oder was auch immer sehr gut sind , sehr ähnlich!“


Rust ist eine statisch typisierte Low-Level-Programmiersprache mit mehreren Paradigmen, die sich mehr auf Sicherheit und Leistung konzentriert.

—Gints Dreimanis

Go ist eine Open-Source-Programmiersprache, die es einfach macht, einfache, zuverlässige und effiziente Software zu erstellen.

—golang.org


Wir können sicherlich darüber streiten, was eine wirklich „objektorientierte“ Sprache ist. Aber fairerweise muss man sagen, dass der objektorientierte Programmierstil, den C++-, Java- oder C#-Benutzer erwarten, in Go oder Rust nicht existiert.

–Jack Mott


Der Stil von gofmt ist vielleicht nicht jedermanns Sache, aber gofmt kann jedem helfen.

–Rob Pike

Ich habe zu Beginn meiner Karriere mit Java und Ruby gearbeitet, daher war das Schreiben von Code in Go und Rust immer etwas einschüchternd und lag außerhalb meiner Kontrolle. Aber als ich zu Google ging und sah, dass der Dienst in Go geschrieben war, war ich wirklich erleichtert, weil ich feststellte, dass er einfach zu erstellen und auszuführen war.

Das Gleiche gilt für Rust. Obwohl ich nur an kleinen Projekten geforscht habe, kann ich auch die Benutzerfreundlichkeit erkennen. Ich hoffe, dass diese unendlich konfigurierbaren Build-Systeme bald der Vergangenheit angehören. Heutzutage verfügen neue Sprachen über ihre eigenen dedizierten Build-Tools und können sofort verwendet werden. Ist das nicht gut?

–Sam Rose


Go ist wirklich einfach zu erlernen. Ich habe das schon oft gehört, aber nachdem ich es tatsächlich verwendet habe, war ich immer noch überrascht, wie schnell es die Arbeitseffizienz verbessern kann. Dank der Go-Sprache, der zugehörigen Dokumentation und Tools konnte ich in nur zwei Tagen interessanten und einreichbaren Code schreiben.

– Die ersten Eindrücke der Rust-Programmierer von der Go-Sprache

Mit Go können wir Dinge schnell erledigen. Go ist eine der effizientesten Sprachen, die ich je verwendet habe, und ihr Motto lautet: Echte Probleme sofort lösen.

—Matthias Endler


Rust unterstützt mehr Komplexität als mehrere andere Programmiersprachen, daher ist auch der entsprechende Implementierungsumfang größer.

– Devathon

Wenn Sie bereit sind, im Austausch für höchste Leistung komplexere Syntax und Semantik (und einen höheren Schwellenwert für die Lesbarkeit des Codes) zu erlernen, kann Rust sogar mit C++ und D konkurrieren.

– Dave Cheney


Go macht es einfacher, eine sorgfältig dekonstruierte Anwendung zu erstellen, die als eine Reihe von Microservices bereitgestellt werden kann und die Vorteile der Parallelität voll ausnutzt. Es ist nicht so, dass Rust das nicht kann, es ist nur schwieriger zu implementieren.

In gewisser Weise ist Rust eher für Programmierer geeignet, die Sicherheitslücken aufgrund von Speicherproblemen niemals zulassen. Wenn sie jedoch bestimmte Aufgaben ausführen, die für andere Sprachen (einschließlich GO) einfacher sind, müssen sie mehr investieren Bemühung.

—Sonja Koptjew

Es wäre großartig, eine einfache Syntax zum Erstellen von Goroutinen und zum Verwenden von Kanälen zu haben. Dies spiegelt direkt die Leistungsfähigkeit der Syntax wider, und verschiedene kleine Details machen das gleichzeitige Programmiererlebnis von Go viel besser als das anderer Sprachen.

– Die ersten Eindrücke der Rust-Programmierer von Go

Go konzentriert sich auf Parallelität als eines seiner Kernkonzepte. Das bedeutet nicht, dass wir in Rust keine Parallelitätseffekte ähnlich wie bei Go erzielen können, aber die Schwierigkeit der Implementierung ist eine Art Test für Programmierer.

– Dave Cheney


Der Compiler von Rust ist so streng, dass er jede von uns verwendete Variable und jede von uns referenzierte Speicheradresse überprüft. Es vermeidet potenzielle Datenwettlaufbedingungen und benachrichtigt Sie auch über undefiniertes Verhalten. In der Welt von Rust ist es fast unmöglich, dass Parallelitäts- und Speichersicherheitsprobleme auftreten.

—Warum Rust wählen?

Für mich besteht der größte Vorteil von Rust darin, dass der Compiler zu meinem guten Assistenten wird und ihm keinen erkannten Fehler entgeht (im Ernst, manchmal kommt es mir wie Zauberei vor).

—Grzegorz Nosek

In Rust können verschiedene Bibliothekstools Programmierern dabei helfen, Benutzer vor Fehlern zu schützen. Rust ermöglicht es uns, ein Datenelement zu spezifizieren und dann zu garantieren, dass es zu nichts anderem gehört oder von irgendetwas anderem manipuliert wird. Ich kann mir keine andere Sprache vorstellen, die so viele Tools bereitstellt, um versehentlichen Missbrauch zu verhindern, was ein wunderbares Gefühl ist.

–Sam Rose

Wenn Sie sich für Rust entscheiden, liegt das oft an dem garantierten Design, das es bietet: Sicherheit rund um Nullzeiger-/Datenrennen, vorhersehbares Laufzeitverhalten und vollständige Kontrolle über die Hardware. Wenn dies für Sie keinen Sinn ergibt, besteht wirklich keine Notwendigkeit, Rust zu verwenden. Schließlich haben diese Vorteile ihren Preis: Der Einstieg ist schwer. Sie müssen schlechte Gewohnheiten ablegen und neue Konzepte meistern. Am Anfang wurden alle mit dem geliehenen Spielstein gequält.

—Matthias Endler

Wenn Sie ein C- oder C++-Programmierer sind, der wochenlang nach Speichersicherheitsfehlern in der Sprache gesucht hat, werden Sie sich in Rust verlieben. Aus „Kampf gegen den Borrow-Checker“ wurde also „Kann der Compiler noch so funktionieren? Wie cool!“

—Grzegorz Nosek


Heutige Serverprogramme enthalten Dutzende Millionen Codezeilen, werden von Hunderten von Programmierern geschrieben und fast täglich aktualisiert. Bei der Gestaltung und Entwicklung von Go wurde die Notwendigkeit, die Arbeitseffizienz in einer solchen Umgebung zu verbessern, vollständig berücksichtigt.

Zu den Entwurfsüberlegungen von Go gehören ein striktes Abhängigkeitsmanagement, die Anpassungsfähigkeit der Softwarearchitektur bei wachsendem System und Robustheit über Komponentengrenzen hinweg.

–Rob Pike

Mit der GO-Sprache ist es für junge Entwickler oft einfacher, produktiver zu arbeiten, für mittlere Entwickler ist es jedoch schwieriger, komplexe Abstraktionen einzuführen, die Probleme verursachen können. Aufgrund dieser Funktion ist Rust im Bereich der Unternehmenssoftwareentwicklung oft weniger attraktiv als Go.

– Loris Cro


Go und Rust sind zwei sehr unterschiedliche Sprachen. Obwohl beide einfach als Systemsprachen oder Ersatz für C beschrieben werden können, sind ihre Ziele und Anwendungsszenarien, Sprachdesignstile und Funktionsprioritäten tatsächlich sehr unterschiedlich. Die Garbage Collection ist ein wesentliches Unterscheidungsmerkmal. Durch die Garbage Collection in Go wird die Sprache einfacher, kleiner und verständlicher. Rusts fehlende Garbage Collection macht es extrem schnell (dies eignet sich besonders für Entwickler, die nicht nur einen hohen Durchsatz, sondern auch eine geringe Latenz benötigen), und es implementiert auch eine Reihe von Funktionen und Programmiermustern, die in Go einfach unmöglich sind (zumindest ohne Abstriche zu machen). Leistung).

—PingCAP


Beide Sprachen haben unterschiedliche Anwendungsbereiche. Go ist gut darin, Microservices und typische „DevOps“-Aufgaben zu schreiben, aber es ist keine Systemprogrammiersprache. Rust ist leistungsfähiger bei Aufgaben, bei denen Parallelität, Sicherheit und/oder Leistung im Vordergrund stehen, und die Lernkurve ist tatsächlich steiler als bei Go.

—Matthias Endler


Die Ausführungsgeschwindigkeit von Rust ist besser als die von Go. In Benchmark-Tests ist Rust tatsächlich schneller, teilweise um eine Größenordnung. Aber bevor Sie sich für die Rust-Sprache entscheiden, sollten Sie sich eines bewusst machen: Go hinkt in den meisten Benchmark-Tests nicht weit hinterher und behält dennoch einen Leistungsvorteil gegenüber Sprachen wie Java, C#, JavaScript und Python.

Wenn Sie höchste Leistung benötigen, wählen Sie zwischen diesen beiden Sprachen und Sie werden von der Geschwindigkeit nicht enttäuscht sein. Wenn Sie außerdem einen Webdienst erstellen, der hochintensive Lasten verarbeitet und eine flexible vertikale/horizontale Erweiterung erfordert, können beide Sprachen auch Ihre Anforderungen erfüllen.

–Andrew Lader


Meine Meinung ist: Für Code, der morgen veröffentlicht werden muss, verwenden Sie Go; wenn es sich um Code handelt, der in den nächsten fünf Jahren stabil laufen muss, dann wählen Sie Rust .

—Grzegorz Nosek

Wenn Sie die Entwicklung beschleunigen möchten, beispielsweise viele verschiedene Dienste schreiben müssen oder das Entwicklungsteam selbst groß ist, ist die Go-Sprache definitiv die richtige Antwort. Go legt besonderen Wert auf das Parallelitätsdesign und ist bestrebt, unsicheres Speicherzugriffsverhalten zu erkennen (Rust kann dies auch), zwingt Sie jedoch nicht dazu, jedes Detail einzeln zu verwalten.

Go ist schnell und leistungsstark, aber im Kern hilft es Entwicklern, aus dem Weg zu gehen und sich auf Einfachheit und Einheitlichkeit zu konzentrieren. Wenn Sie hingegen jedes Quäntchen Leistung aus Ihrem System herausholen müssen, ist Rust die ideale Wahl.

–Andrew Lader


Supongo que te gusta

Origin blog.csdn.net/wan212000/article/details/132347692
Recomendado
Clasificación