Refine
Document Type
- Bachelor Thesis (1)
- Diploma Thesis (1)
Language
- German (2)
Keywords
- Java <Programmiersprache> (2) (remove)
Institute
- Angewandte Computer‐ und Biowissenschaften (2) (remove)
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.
Ziel der Diplomarbeit ist die Erstellung einer Software zum Auslesen und Aufbereiten von Fehlerdaten aus einer Datenbank einer Automatischen Optischen Inspektion (AOI). Des Weiteren sollen die Daten in Tabellenform und als Diagramm darstellbar und auch exportierbar sein.
Diese Arbeit befasst sich zunächst mit den Grundlagen von Java und Datenbanken sowie mit der Abfragesprache SQL. In den darauffolgenden Kapiteln werden die Anforderungen präzisiert und es wird näher auf die Installation der erforderlichen Komponenten sowie die Implementierung eingegangen. Im letzten Kapitel werden die Ergebnisse kurz zusammengefasst und ein Ausblick für Funktionserweiterungen wird dargestellt.