App installieren
How to install the app on iOS
Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature may not be available in some browsers.
Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Mozilla mit Programmiersprache Rust - wieso das Rad neu erfunden?
- Ersteller Nero24
- Erstellt am
Hallo zusammen,
mit Erstaunen habe ich bei der Vorstellung der Version 48 des Mozilla Firefox Browsers gelesen, dass die Programmiersprache Rust extra für und teils von Mozilla entwickelt worden ist, um den Browser sicherer zu machen. Das scheint mir doch ein bißchen sehr viel Aufwand, extra eine neue Programmiersprache zu erfinden und zu entwickeln, um die Unzulänglichkeiten von C/C++ zu umschiffen. Wieso hat man nicht eine bestehende Programmiersprache genommen, die von Haus aus Starke Typisierung verwendet und zweifelhafte Syntax, die der C-Compiler mit höchstens einer kleinen Warnung einfach durchwinkt, gar nicht erst kompiliert? Da fallen mir auf Anhieb z.B. alle Pascal-Derivate ein.
Hat da jemand eine Quelle warum das so gemacht wurde? Der Aufwand ist ja enorm, das Rad mit einer eigenen Programmiersprache nochmal neu zu erfinden, um die gesteckten Ziele zu erreichen statt eine bestehende zu nehmen, die über Jahrzehnte gereift ist.
mit Erstaunen habe ich bei der Vorstellung der Version 48 des Mozilla Firefox Browsers gelesen, dass die Programmiersprache Rust extra für und teils von Mozilla entwickelt worden ist, um den Browser sicherer zu machen. Das scheint mir doch ein bißchen sehr viel Aufwand, extra eine neue Programmiersprache zu erfinden und zu entwickeln, um die Unzulänglichkeiten von C/C++ zu umschiffen. Wieso hat man nicht eine bestehende Programmiersprache genommen, die von Haus aus Starke Typisierung verwendet und zweifelhafte Syntax, die der C-Compiler mit höchstens einer kleinen Warnung einfach durchwinkt, gar nicht erst kompiliert? Da fallen mir auf Anhieb z.B. alle Pascal-Derivate ein.
Hat da jemand eine Quelle warum das so gemacht wurde? Der Aufwand ist ja enorm, das Rad mit einer eigenen Programmiersprache nochmal neu zu erfinden, um die gesteckten Ziele zu erreichen statt eine bestehende zu nehmen, die über Jahrzehnte gereift ist.
Zuletzt bearbeitet:
tomturbo
Technische Administration, Dinosaurier
- Mitglied seit
- 30.11.2005
- Beiträge
- 9.450
- Renomée
- 664
- Standort
- Österreich
- Aktuelle Projekte
- Universe@HOME, Asteroids@HOME
- Lieblingsprojekt
- SETI@HOME
- Meine Systeme
- Xeon E3-1245V6; Raspberry Pi 4; Ryzen 1700X; EPIC 7351
- BOINC-Statistiken
- Mein Laptop
- Microsoft Surface Pro 4
- Prozessor
- R7 5800X
- Mainboard
- Asus ROG STRIX B550-A GAMING
- Kühlung
- Alpenfön Ben Nevis Rev B
- Speicher
- 2x32GB Mushkin, D464GB 3200-22 Essentials
- Grafikprozessor
- Sapphire Radeon RX 460 2GB
- Display
- BenQ PD3220U, 31.5" 4K
- SSD
- 1x HP SSD EX950 1TB, 1x SAMSUNG SSD 830 Series 256 GB, 1x Crucial_CT256MX100SSD1
- HDD
- Toshiba X300 5TB
- Optisches Laufwerk
- Samsung Brenner
- Soundkarte
- onboard
- Gehäuse
- Fractal Design Define R4
- Netzteil
- XFX 550W
- Tastatur
- Trust ASTA mechanical
- Maus
- irgend eine silent Maus
- Betriebssystem
- Arch Linux, Windows VM
- Webbrowser
- Firefox + Chromium + Konqueror
- Internetanbindung
-
▼300
▲50
Zitat Rust Webseite: https://www.rust-lang.org
Rust is a systems programming language that runs blazingly fast, prevents segfaults, and guarantees thread safety.
[h=2]Featuring[/h]
Das alles klingt schon eher nicht nach "Pascal"
Man hat sich bei den Features offenbar einiges überlegt was Effizienz und Theading betrifft.
In der Kombination war/ist das anscheinend bisher nicht da gewesen.
Rust is a systems programming language that runs blazingly fast, prevents segfaults, and guarantees thread safety.
[h=2]Featuring[/h]
- zero-cost abstractions
- move semantics
- guaranteed memory safety
- threads without data races
- trait-based generics
- pattern matching
- type inference
- minimal runtime
- efficient C bindings
Das alles klingt schon eher nicht nach "Pascal"
Man hat sich bei den Features offenbar einiges überlegt was Effizienz und Theading betrifft.
In der Kombination war/ist das anscheinend bisher nicht da gewesen.
Ich habe zwar keine Quelle, aber ich denke, dass die jungen Entwickler von heute noch nie eine Zeile Pascal-Code gesehen haben. Die sind doch mit C, C++, C# und Java aufgewachsen. Woher sollen sie also die schöne Strukturiertheit und Klarheit von Pascal kennen? Ich bin überzeugt davon, dass wir global gesehen deutlich weniger Bugs, Patchdays und Hacks erleben müssten, wenn kritische Software wie Betriebssysteme, Netzwerkstacks oder Parser in Pascal geschrieben wären, schlichtweg weil es erheblich weniger Möglichkeiten gibt, Denkfehler bei der Werteübergabe zu machen, und Code mit Eingabefehlern übersetzt Pascal erst gar nicht.
Andererseits wurde Pascal schon seit 20 (?) Jahren von keiner großen Firma mehr weiterentwickelt. Buchhaltungssoftware wird ja auch nicht mehr in COBOL geschrieben obwohl die Programmiersprache wie gemacht ist dafür. Aber sie wurde schlichtweg nie auf einen modernen Stand gebracht. Gut, bei Pascal kann man streiten, ob das mit Delphi geschehen ist oder nicht, aber in Wahrheit gibt es doch so gut wie kein größeres Software-Projekt der letzten 10 Jahren, das in Pascal entwickelt worden wäre, oder täusche ich mich? Vermutlich wollte Mozilla einfach nicht auf ein totes Pferd setzen, und wer weiß, welche Lizenzfragen sich daraus ergeben hätten, Pascal weiterzuentwickeln. Ich kann mir gut vorstellen, dass die Rechte an Pascal weit gestreut sind.
Edit: tomturbo war schneller, und auch erfolgreicher bei der Quellensuche
Andererseits wurde Pascal schon seit 20 (?) Jahren von keiner großen Firma mehr weiterentwickelt. Buchhaltungssoftware wird ja auch nicht mehr in COBOL geschrieben obwohl die Programmiersprache wie gemacht ist dafür. Aber sie wurde schlichtweg nie auf einen modernen Stand gebracht. Gut, bei Pascal kann man streiten, ob das mit Delphi geschehen ist oder nicht, aber in Wahrheit gibt es doch so gut wie kein größeres Software-Projekt der letzten 10 Jahren, das in Pascal entwickelt worden wäre, oder täusche ich mich? Vermutlich wollte Mozilla einfach nicht auf ein totes Pferd setzen, und wer weiß, welche Lizenzfragen sich daraus ergeben hätten, Pascal weiterzuentwickeln. Ich kann mir gut vorstellen, dass die Rechte an Pascal weit gestreut sind.
Edit: tomturbo war schneller, und auch erfolgreicher bei der Quellensuche
Zuletzt bearbeitet:
Pascal war auch nur ein Beispiel. Es gibt ja genügend Programmiersprachen, die Jahrzehnte Reife hinter sich haben, auf die man hätte aufbauen können. Aber vermutlich ist es so wie Du sagst, Tom, dass es die Kombination aus den genannten Dingen war, die einen Start auf dem weißen Blatt Papier notwendig machte.
Ich dachte nur, es müsse doch irgendeine Doku, einen Blogeintrag oder Artikel geben, der die Gedankengänge und Abwägungen von damals offenlegt, was den Herrn Graydon Hoare damals dazu bewogen hat, bei Null neu anzufangen.
Ich dachte nur, es müsse doch irgendeine Doku, einen Blogeintrag oder Artikel geben, der die Gedankengänge und Abwägungen von damals offenlegt, was den Herrn Graydon Hoare damals dazu bewogen hat, bei Null neu anzufangen.
BoMbY
Grand Admiral Special
- Mitglied seit
- 22.11.2001
- Beiträge
- 7.462
- Renomée
- 293
- Standort
- Aachen
- Prozessor
- Ryzen 3700X
- Mainboard
- Gigabyte X570 Aorus Elite
- Kühlung
- Noctua NH-U12A
- Speicher
- 2x16 GB, G.Skill F4-3200C14D-32GVK @ 3600 16-16-16-32-48-1T
- Grafikprozessor
- RX 5700 XTX
- Display
- Samsung CHG70, 32", 2560x1440@144Hz, FreeSync2
- SSD
- AORUS NVMe Gen4 SSD 2TB, Samsung 960 EVO 1TB, Samsung 840 EVO 1TB, Samsung 850 EVO 512GB
- Optisches Laufwerk
- Sony BD-5300S-0B (eSATA)
- Gehäuse
- Phanteks Evolv ATX
- Netzteil
- Enermax Platimax D.F. 750W
- Betriebssystem
- Windows 10
- Webbrowser
- Firefox
Ja, die Idee ist halt, dass Rust total voll sicher ist per Design. Das Problem ist: Das ist von Mozilla ...
Meine Probleme damit: Hässliche Syntax, keine vernünftigen Datentypen, und vermutlich schlechte Performance.
Meine Probleme damit: Hässliche Syntax, keine vernünftigen Datentypen, und vermutlich schlechte Performance.
tomturbo
Technische Administration, Dinosaurier
- Mitglied seit
- 30.11.2005
- Beiträge
- 9.450
- Renomée
- 664
- Standort
- Österreich
- Aktuelle Projekte
- Universe@HOME, Asteroids@HOME
- Lieblingsprojekt
- SETI@HOME
- Meine Systeme
- Xeon E3-1245V6; Raspberry Pi 4; Ryzen 1700X; EPIC 7351
- BOINC-Statistiken
- Mein Laptop
- Microsoft Surface Pro 4
- Prozessor
- R7 5800X
- Mainboard
- Asus ROG STRIX B550-A GAMING
- Kühlung
- Alpenfön Ben Nevis Rev B
- Speicher
- 2x32GB Mushkin, D464GB 3200-22 Essentials
- Grafikprozessor
- Sapphire Radeon RX 460 2GB
- Display
- BenQ PD3220U, 31.5" 4K
- SSD
- 1x HP SSD EX950 1TB, 1x SAMSUNG SSD 830 Series 256 GB, 1x Crucial_CT256MX100SSD1
- HDD
- Toshiba X300 5TB
- Optisches Laufwerk
- Samsung Brenner
- Soundkarte
- onboard
- Gehäuse
- Fractal Design Define R4
- Netzteil
- XFX 550W
- Tastatur
- Trust ASTA mechanical
- Maus
- irgend eine silent Maus
- Betriebssystem
- Arch Linux, Windows VM
- Webbrowser
- Firefox + Chromium + Konqueror
- Internetanbindung
-
▼300
▲50
blazing fast klingt eher nicht nach schlechter Performance
BoMbY
Grand Admiral Special
- Mitglied seit
- 22.11.2001
- Beiträge
- 7.462
- Renomée
- 293
- Standort
- Aachen
- Prozessor
- Ryzen 3700X
- Mainboard
- Gigabyte X570 Aorus Elite
- Kühlung
- Noctua NH-U12A
- Speicher
- 2x16 GB, G.Skill F4-3200C14D-32GVK @ 3600 16-16-16-32-48-1T
- Grafikprozessor
- RX 5700 XTX
- Display
- Samsung CHG70, 32", 2560x1440@144Hz, FreeSync2
- SSD
- AORUS NVMe Gen4 SSD 2TB, Samsung 960 EVO 1TB, Samsung 840 EVO 1TB, Samsung 850 EVO 512GB
- Optisches Laufwerk
- Sony BD-5300S-0B (eSATA)
- Gehäuse
- Phanteks Evolv ATX
- Netzteil
- Enermax Platimax D.F. 750W
- Betriebssystem
- Windows 10
- Webbrowser
- Firefox
Behaupten kann man viel. Mit den Einschränkungen ist eine gute Performance kaum möglich. Abgesehen davon ist das ehh alles Käse, weil man unter Windows wieder System-DLLs einbinden muss.
Und wenn ich mir so einen Code anschaue, dann bekomme ich das Kotzen:
Und wenn ich mir so einen Code anschaue, dann bekomme ich das Kotzen:
Code:
fn fizzbuzz_to(n: u32) -> () {
for n in 1..n + 1 {
fizzbuzz(n);
}
}
- Mitglied seit
- 16.11.2001
- Beiträge
- 21.664
- Renomée
- 1.248
- Standort
- München
- Aktuelle Projekte
- World Community Grid
- Lieblingsprojekt
- Folding@Home
- Meine Systeme
- AMD Ryzen 9 5950X
- BOINC-Statistiken
- Folding@Home-Statistiken
- Prozessor
- AMD Ryzen 9 5950X
- Mainboard
- ASUS TUF Gaming X570-Pro [WI-FI]
- Kühlung
- be quiet! Shadow Rock 3
- Speicher
- 4x 16GB DDR4-3200 Corsair Vengeance LPX
- Grafikprozessor
- ASRock Radeon RX 550 Phantom Gaming Aktiv 2GB
- Display
- LG 27UL850-W, 27"
- SSD
- Samsung 980 PRO 2TB, Samsung 840 EVO 500GB
- HDD
- Seagate Barracuda 7200.14 3TB SATA3
- Optisches Laufwerk
- Samsung SH-S183A SATA schwarz (im externen Gehäuse)
- Gehäuse
- be quiet! Silent Base 802 schwarz
- Netzteil
- be quiet! Straight Power 11 Platinum 550W
- Tastatur
- Logitech G613 Lightspeed
- Maus
- Logitech MX Master 3S
- Betriebssystem
- Ubuntu Linux 22.04
- Webbrowser
- Vivaldi
- Internetanbindung
-
▼100 MBit
▲40 MBit
Du musst die Sprache ja nicht verwenden. Wenn sie für Firefox taugt und dort für mehr Sicherheit und Performance sorgt, hat die Sprache ihr Ziel erfüllt.
E555user
Admiral Special
- Mitglied seit
- 05.10.2015
- Beiträge
- 1.758
- Renomée
- 707
Lustig, 8 Jahre später schickt sich Rust an den Linux-Kernel umzukrempeln und wir haben einen Kulturkampf in der Entwicklergemeinde der anarchisch Konservativen gegen die neuen kontrolliert Progressiven.
www.theregister.com/2024/09/19/torvalds_talks_rust_in_linux/
www.theregister.com/2024/09/19/torvalds_talks_rust_in_linux/
Zuletzt bearbeitet:
hoschi_tux
Grand Admiral Special
- Mitglied seit
- 08.03.2007
- Beiträge
- 4.783
- Renomée
- 299
- Standort
- Ilmenau
- Aktuelle Projekte
- Einstein@Home, Predictor@Home, QMC@Home, Rectilinear Crossing No., Seti@Home, Simap, Spinhenge, POEM
- Lieblingsprojekt
- Seti/Spinhenge
- BOINC-Statistiken
- Prozessor
- AMD Ryzen R9 5900X
- Mainboard
- ASUS TUF B450m Pro-Gaming
- Kühlung
- Noctua NH-U12P
- Speicher
- 2x 16GB Crucial Ballistix Sport LT DDR4-3200, CL16-18-18
- Grafikprozessor
- AMD Radeon RX 6900XT (Ref)
- Display
- LG W2600HP, 26", 1920x1200
- HDD
- Crucial M550 128GB, Crucial M550 512GB, Crucial MX500 2TB, WD7500BPKT
- Soundkarte
- onboard
- Gehäuse
- Cooler Master Silencio 352M
- Netzteil
- Antec TruePower Classic 550W
- Betriebssystem
- Gentoo 64Bit, Win 7 64Bit
- Webbrowser
- Firefox
Nicht nur dort, MS setzt auch in ihrem Mikrokernel zunehmend auf Rust.
E555user
Admiral Special
- Mitglied seit
- 05.10.2015
- Beiträge
- 1.758
- Renomée
- 707
Ob die bei MS auch so Schwierigkeiten haben? Der zuletzt abgetretene Maintainer dem die Kritik an Rust generft hat war ja Microsoft-Entwickler.
hoschi_tux
Grand Admiral Special
- Mitglied seit
- 08.03.2007
- Beiträge
- 4.783
- Renomée
- 299
- Standort
- Ilmenau
- Aktuelle Projekte
- Einstein@Home, Predictor@Home, QMC@Home, Rectilinear Crossing No., Seti@Home, Simap, Spinhenge, POEM
- Lieblingsprojekt
- Seti/Spinhenge
- BOINC-Statistiken
- Prozessor
- AMD Ryzen R9 5900X
- Mainboard
- ASUS TUF B450m Pro-Gaming
- Kühlung
- Noctua NH-U12P
- Speicher
- 2x 16GB Crucial Ballistix Sport LT DDR4-3200, CL16-18-18
- Grafikprozessor
- AMD Radeon RX 6900XT (Ref)
- Display
- LG W2600HP, 26", 1920x1200
- HDD
- Crucial M550 128GB, Crucial M550 512GB, Crucial MX500 2TB, WD7500BPKT
- Soundkarte
- onboard
- Gehäuse
- Cooler Master Silencio 352M
- Netzteil
- Antec TruePower Classic 550W
- Betriebssystem
- Gentoo 64Bit, Win 7 64Bit
- Webbrowser
- Firefox
Ich würde behaupten, weniger. Es macht einen großen Unterschied, ob man den Kern eines großen Monolithen anfässt, oder eine Hand voll Systemaufrufe in einem Mikrokernel.
Allerdings hat man beim Monolithen wenigstens die Möglichkeit alles zu testen. Microsoft weiß nicht, welche Software/Treiber wann und wie irgendwas aufruft und ob der dann schmeckt was sie als Antwort bekommt.
Allerdings hat man beim Monolithen wenigstens die Möglichkeit alles zu testen. Microsoft weiß nicht, welche Software/Treiber wann und wie irgendwas aufruft und ob der dann schmeckt was sie als Antwort bekommt.