On the integration of Smalltalk and Java: practical experience with STX:LIBJAVA

Marcel Hlopko, Jan Kurs, J. Vraný, Claus Gittinger
{"title":"On the integration of Smalltalk and Java: practical experience with STX:LIBJAVA","authors":"Marcel Hlopko, Jan Kurs, J. Vraný, Claus Gittinger","doi":"10.1145/2448963.2448968","DOIUrl":null,"url":null,"abstract":"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.\n 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.","PeriodicalId":393791,"journal":{"name":"International Workshop on Smalltalk Technologies","volume":"55 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2012-08-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"4","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"International Workshop on Smalltalk Technologies","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2448963.2448968","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 4

Abstract

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.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
关于Smalltalk和Java的集成:STX:LIBJAVA的实践经验
经过几十年的编程语言和编程环境的发展,Smalltalk仍然是为数不多的提供高级特性的环境之一,并且仍然在业界广泛使用。然而,随着Java的普及,从Smalltalk调用Java代码的能力变得非常重要。集成Java和Smalltalk语言的传统方法是通过单独的Java和Smalltalk虚拟机之间的低级通信。我们没有注意到任何在Smalltalk环境中直接执行和集成Java语言的尝试。直接集成允许在单个环境中非常紧密且几乎无缝地集成语言及其对象。然而,集成和语言互操作性带来了与方法命名约定、方法重载、异常处理和线程锁定机制相关的挑战性问题。在本文中,我们描述了克服这些挑战并将Java集成到Smalltalk环境中的方法。使用本文中描述的技术,程序员可以使用标准的Smalltalk习惯用法从Smalltalk调用Java代码,同时保留每种语言的语义。我们提出STX:LIBJAVA——Smalltalk/X中Java虚拟机的实现——作为对我们方法的验证。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Spec: a framework for the specification and reuse of UIs and their models On the integration of Smalltalk and Java: practical experience with STX:LIBJAVA Tracking down software changes responsible for performance loss Refactoring support for Smalltalk using static type inference Challenges to support automated random testing for dynamically typed languages
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1