1. Foren
  2. Kommentare
  3. Software-Entwicklung
  4. Alle Kommentare zum Artikel
  5. › Mozillas…

Ein paar Anmerkungen zum Artikel

  1. Thema

Neues Thema Ansicht wechseln


  1. Ein paar Anmerkungen zum Artikel

    Autor: esgeh 16.07.15 - 11:05

    Die Codebeispiele sind syntaktisch nicht korrekt. Irgendwo scheinen auf dem zu der HTML-Version die Spitzen Klammern im Code verloren gegangen zu sein.

    > Gedacht ist Rust als schnellere und einfachere Alternative zu C und C++.

    Man kann von Rust nicht behaupten, erwähnenswert schneller als C bzw C++ gedacht zu sein -- zumindest nicht, was das Laufzeitverhalten angeht. Das Ziel von Rust ist es, wie bei C und C++ auch, relativ viel "Kontrolle" zu behalten. "Kontrolle" heißt hier unter anderem, dass einem kein Garbage Collector aufgezwungen wird und dass man mit Zeigern auch direkt in den Stack zeigen kann. Der Unterschied zu C und C++: Man will nicht auf Speichersicherheit verzichten. Speichersicherheit ist nämlich genau das, was man haben will, wenn man die Zahl möglicher Sicherheitslücken klein halten will. Neben Speichersicherheit kann Rust auch garantieren, dass es keine Datenrennen geben wird. Dieser Spagat aus Kontrolle und Speichersicherheit ist einzigartig in der Programmiersprachlandschaft und eines der Verkaufsargumente von Rust.

    > Doch die Programmiersprache unterscheidet sich teils deutlich von ihren Vorbildern.

    Deswegen würde ich sie auch gar nicht als Vorbilder bezeichnen. Rust hat sich von vielen Sprachen beeinflussen lassen. Von C++ kommen quasi nur die geschweiften Klammern, Destruktoren und Movesemantik, wobei dies gleichzeitig stark vereinfacht wurde und weniger fehleranfälliger sein dürfte.

    > Zeigerwerte legt sie hingegen im Heap des Hauptspeichers ab.

    Was sind denn Zeigerwerte? Sind Zeigerwerte nicht das, was Zeiger speichern, nämlich Adressen? Natürlich kann man Adressen auch im Stack speichern, also Zeigervariablen im Stack anlegen. Und natürlich kann man sich auch Adressen von Dingen im Stack geben lassen und speichern. Man ist also nicht wie in anderen Sprachen (Sprachen aus der JVM-Welt, Python, Ruby, Swift, etc) auf Zeiger beschränkt, die nur in den Heap zeigen können. Dies ist ein Aspekt der "Kontrolle". Rust zwingt einen nicht, Dinge im Heap anzulegen, um darauf zeigen zu können. Damit das aber immer noch alles speichersicher bleibt, sind Zeiger über Lebenszeiten parameterisiert. Damit wird zur Übersetzungszeit ausgeschlossen, dass Zeiger irgendwann ungültig werden. Die zitierte Aussage ist also unabhängig von der Interpretation von "Zeigerwerten" falsch.

  1. Thema

Neues Thema Ansicht wechseln


Um zu kommentieren, loggen Sie sich bitte ein oder registrieren Sie sich. Sie müssen ausserdem in Ihrem Account-Profil unter Forum einen Nutzernamen vergeben haben. Zum Login

Stellenmarkt
  1. Bundeskriminalamt, Wiesbaden
  2. Mensch und Maschine Deutschland GmbH, Weßling bei München
  3. TGW Software Services GmbH, Teunz
  4. ALDI International Services GmbH & Co. oHG, Mülheim

Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Spiele-Angebote
  1. 36,99€
  2. 5,99€
  3. 32,99€


Haben wir etwas übersehen?

E-Mail an news@golem.de


  1. EU warnt: Phishing mit Coronahilfen trifft vor allem T-Online-Nutzer
    EU warnt
    Phishing mit Coronahilfen trifft vor allem T-Online-Nutzer

    Die Betrüger fälschen die E-Mail-Absender und geben sich als EU-Mitarbeiter aus. Die EU-Kommission kritisiert mangelnden Schutz bei der Telekom.

  2. Konsole: Sony verbaut in PS5 mindestens drei Lüftermodelle
    Konsole
    Sony verbaut in PS5 mindestens drei Lüftermodelle

    Die eigene Playstation 5 ist flüsterleise - und trotzdem gibt's im Netz das Gejammer über den Geräuschpegel? Dafür könnte es Gründe geben.

  3. Großbritannien: Huawei-Bann kostet Steuerzahler 280 Millionen Euro
    Großbritannien
    Huawei-Bann kostet Steuerzahler 280 Millionen Euro

    Die britische Regierung will nach dem Ausschluss von Huawei ab 2027 den Wettbewerb wiederherstellen. Die Kosten der Netzbetreiber sind erheblich höher als 280 Millionen Euro.


  1. 18:50

  2. 18:38

  3. 17:55

  4. 17:00

  5. 16:38

  6. 16:12

  7. 15:53

  8. 15:31