Treffer: Generation of Java Interfaces for Accessing Foreign Objects

Title:
Generation of Java Interfaces for Accessing Foreign Objects
Authors:
Publication Year:
2025
Collection:
Johannes Kepler University Linz: JKU
Subject Geographic:
Document Type:
Dissertation master thesis
File Description:
vii, 63 Seiten; text/html; Illustrationen
Language:
English
Relation:
vignette : https://epub.jku.at/titlepage/urn/urn:nbn:at:at-ubl:1-84961/128; local:99148834996603331; system:AC17444011
Rights:
CC BY 4.0
Accession Number:
edsbas.AD3FF55D
Database:
BASE

Weitere Informationen

Polyglotte Programmierung bedeutet, Programme in mehreren Programmiersprachen zu schreiben, was SoftwareentwicklerInnen eine breitere Auswahl an Bibliotheken und Frameworks für den Aufbau von Anwendungen ermöglicht. GraalVM ist eine polyglotte virtuelle Maschine und ermöglicht eine schnelle und direkte Interaktion zwischen Programmiersprachen. Diese Ebene der Sprachintegration ist jedoch vergleichsweise neu, und daher ist die Unterstützung durch Tools begrenzt. Diese Arbeit untersucht, wie polyglotte Programmierung besser unterstützt werden kann, wobei der Schwerpunkt auf der Integration in das bestehende Java-Ökosystem liegt. GraalVM bietet derzeit ein reflektives API, um auf Objekte aus Sprachen wie Python, JavaScript, Ruby usw. zuzugreifen. Java-Entwickler möchten jedoch auf fremdsprachige Objekte auf die gleiche Weise zugreifen können wie auf Java-Objekte. Die Idee dieser Arbeit ist es daher, vorhandene statische Typinformationen zu nutzen, um Java-Klassen mit Schnittstellen für den Zugriff auf Fremdobjekte zu generieren und das reflektive API dahinter zu verstecken. Heutzutage verfügen weit verbreitete Python-Pakete bereits über Typinformationen. TypeScript, das auf JavaScript aufbaut, ermöglicht ebenfalls das Hinzufügen von Typinformationen. Um es Java-Entwicklern zu erleichtern, gängige Pakete in Python, TypeScript oder anderen Programmiersprachen zu verwenden, besteht die Idee dieser Arbeit darin, Java-Klassen und Schnittstellen für häufig verwendete Pakete wie NumPy in Python zu generieren. ; Polyglot programming is the practice of writing programs in multiple programming languages, which gives software engineers a broader choice in terms of software libraries and frameworks they can use for building applications. GraalVM is a polyglot virtual machine and enables fast and direct interaction between programming languages. However, this level of language integration is comparatively new, and consequently, tooling support is limited. This thesis explores how to better support polyglot programming with a ...