On the Integration of Smalltalk and Java

Vrany, Jan; Kurs, Jan; Hlopko, Marcel; Gittinger, Class (2012). On the Integration of Smalltalk and Java. In: Proceedings of the 4rd International Workshop on Smalltalk Technologies IWST 12. New York: Association for Computing Machinery ACM

Full text not available from this repository. (Request a copy)

After decades of development in programming languages and programming environments, Smalltalk is still one of few environments that provide advanced features and is still widely used in the industry. However, as Java became prevalent, the ability to call Java code from Smalltalk and vice versa becomes important. Traditional approaches to integrate the Java and Smalltalk languages are through low-level communication between separate Java and Smalltalk virtual machines. We are not aware of any attempt to execute and integrate the Java language directly in the Smalltalk environment. A direct integration allows for very tight and almost seamless integration of the languages and their objects within a single environment. Yet integration and language interoperability impose challenging issues related to method naming conventions, method overloading, exception handling and thread-locking mechanisms. In this paper we describe ways to overcome these challenges and to integrate Java into the Smalltalk environment. Using techniques described in this paper, the programmer can call Java code from Smalltalk using standard Smalltalk idioms while the semantics of each language remains preserved. We present STX:LIBJAVA - an implementation of Java virtual machine within Smalltalk/X - as a validation of our approach

Item Type: Conference or Workshop Item (Paper)
Division/Institute: 08 Faculty of Science > Institute of Computer Science (INF)
UniBE Contributor: Kurs, Jan
Publisher: Association for Computing Machinery ACM
Language: English
Submitter: Factscience Import
Date Deposited: 04 Oct 2013 14:42
Last Modified: 04 May 2014 23:12
URI: http://boris.unibe.ch/id/eprint/17291 (FactScience: 225049)

Actions (login required)

Edit item Edit item
Provide Feedback