Title: | Java vs. Kotlin : Fallstudie zur Energieeffizienz und Performance | Language: | German | Authors: | Sielaff, Aaron | Keywords: | Java; Kotlin; Energieeffizienz; Performance; Programmiersprachen | Issue Date: | 6-Dec-2024 | Abstract: | Die Performance und die Energieeffizienz sind häufig keine großen Faktoren bei der Wahl einer Programmiersprache. In dieser Bachelorarbeit wird untersucht, ob eine Sprachempfehlung auf Grundlage der Energieeffizienz oder der Performance für bestimmte Operationsdomänen getroffen werden kann. Dies geschieht durch einen Vergleich der Programmiersprachen Java und Kotlin auf der JVM. Dabei werden die Bereiche Algorithmen, Dateien, Listen und (De-)Serialisierung untersucht. Diese Programmiersprachen wurden aufgrund ihrer Popularität, ihrer Ähnlichkeiten zueinander und der breiten Verwendung im mobilen Bereich gewählt. Es werden zuerst einzelne Operationen mit festem Input und danach mit unterschiedlichem Input getestet, wobei beim unterschiedlichen Input alle Operationen eines Bereiches mit Ausnahme der Algorithmen kombiniert werden. Danach werden die Kosten der einzelnen Operationen betrachtet und mit statistischen Tests untersucht. Dabei wurde festgestellt, dass die Last der Operationen häufig zu gering war, um eine genaue Aussage zu treffen. Für den Bereich Dateien konnten kaum Unterschiede zwischen den Sprachen gefunden werden. Eine Sprachempfehlung kann nur für die (De-)Serialisierung für Kotlin ausgesprochen werden, sofern die Laufzeit ein wichtiges Entscheidungskriterium ist. Performance and energy efficiency are often not major factors when choosing a programming language. This bachelor thesis examines whether a language recommendation can be made on the basis of energy efficiency or performance for certain operation domains. This is done by comparing the programming languages Java and Kotlin on the JVM in the areas of algorithms, files, lists and (de-)serialization. Java and Kotlin were chosen based on their popularity, similarity, and widespread use in mobile application development. First, individual operations with a fixed input are tested. After that, the operations of a domain are combined and tested with different inputs. The algorithms are still individually tested. The costs of the individual operations are then considered and examined using statistical tests. It was found that the load of the operations was often too low to make an accurate statement. Hardly any differences were found between the languages in the file domain. A recommendation can only be made for the (de-)serialization domain, where Kotlin is superior if runtime is an important decision criterion. |
URI: | https://hdl.handle.net/20.500.12738/16660 | Institute: | Fakultät Technik und Informatik Department Informatik |
Type: | Thesis | Thesis type: | Bachelor Thesis | Advisor: | Padberg, Julia | Referee: | Lins, Christian |
Appears in Collections: | Theses |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
BA_Java_vs_Kotlin.pdf | 2 MB | Adobe PDF | View/Open |
Note about this record
Export
Items in REPOSIT are protected by copyright, with all rights reserved, unless otherwise indicated.