OPUS


Volltext-Downloads (blau) und Frontdoor-Views (grau)
  • search hit 2 of 4
Back to Result List

Vergleich der Programmiersprache Rust mit C und Java anhand einer prototypischen Implementierung eines Webservers

Comparison of the programming language Rust with C and Java using a prototypical implementation of a webserver

  • Das Ziel dieser Arbeit ist es, die Möglichkeit der Nutzung von Rust als Ersatz für C und Java zu evaluieren. Diese beiden wurden als Vertreter von hardwarenahen bzw. einfacheren und höheren Sprachen gewählt. Sie sind außerdem bekannt dafür, unsicher bzw. langsam zu sein. In beiden Punkten soll Rust genauso gut oder besser sein als C und Java. Daher werden sie für die drei Sprachen verglichen. Da für die Wahl einer Programmiersprache auch entscheidend ist, wie aufwendig es ist, ein Programm zu erstellen, wird die Komplexität als dritter Aspekt für den Vergleich genutzt. Anhand von Benchmarks wird zunächst die grobe Geschwindigkeit und Speichernutzung untersucht, während die Sicherheit der Sprachen in der Theorie und an einer realen Sicherheitslücke betrachtet wird. Für einen ausführlichen Vergleich wird ein in allen drei Sprachen erstellter Webserver genutzt. Mittels diverser Metriken wird die Komplexität des Quellcodes analysiert und anschließend mit Laufzeitmessungen die Performanz. Im Ergebnis ist Rust geeignet, C zu ersetzen, da es ähnlich schnell ist und ähnlich komplex, aber deutlich sicherer. Java hingegen ist zwar langsamer, aber dafür einfacher als Rust und sollte daher weiter eingesetzt werden für Programme, bei denen eine hohe Leistung nicht wichtig ist.
  • The goal of this thesis is to evaluate the possibility of Rust as replacement for C or Java. These two were selected as representative for low level/hardware-oriented and simple/high level programming languages, respectively. They are also known to be insecure and slow, respectively. Rust is supposed to be better than C and Java in both of these aspects. Therefore, they are compared for the three languages. As the effort to create a program is also important when choosing a programming language, the complexity will be the third aspect in this comparison. At first, some benchmark programs will be used to get a rough estimate of the performance. The security of these languages will be reflected upon in theory and by means of a real vulnerability. For a detailed comparison, a webserver created in each language will be used. Using different metrics, the complexity of the source code will be analysed, followed by a measurement of runtime performance. It becomes clear that Rust is a valid replacement for C, as their performance and complexity are similar, but Rust is much more secure. Java on the other hand is slower, but much easier than Rust and should therefore be used for programs that don’t need a high performance.

Download full text files

Export metadata

Additional Services

Search Google Scholar

Statistics

frontdoor_oas
Metadaten
Author:Konrad Lux
Referee:Thomas Beierlein, Uwe Schneider
Document Type:Bachelor Thesis
Language:German
Year of Completion:2021
Granting Institution:Hochschule Mittweida
Release Date:2022/10/07
GND Keyword:Rust <Programmiersprache>; C <Programmiersprache>; Java <Programmiersprache>; Server; Implementation
Institutes:Angewandte Computer‐ und Bio­wissen­schaften
DDC classes:005.13 graphische Programmiersprache, Programmiersprache
Open Access:Frei zugänglich
Licence (German):License LogoUrheberrechtlich geschützt