★ wanayoo — archive 1999 http://dev.scriptics.com/software/java/Nouvelle recherche | Portail wanayoo
Developer Site
Getting StartedTcl AdvocacySoftware ResourcesDocumentsServicesCommunity
Home
Login | Tcl/Tk | TclPro | Tcl Plugin | Tcl/Tk Ports |  Java| | Applications | Extensions | Tools | CVS | Bug DB
Search 
Download | New Features | F.A.Q. | Man Pages

The Tcl/Java project currently consist of two packages, Jacl and Tcl Blend. Jacl, which stands for Java Command Language, is a Java implementation of Tcl 8.x. Tcl Blend is a package for Tcl 8.x that allows you to load and interact with the Java VM.

With the advent of Tcl/Java API, you can write extensions for Tcl, in Java code, that will be cross platform. In addition, you can use a new set of Tcl instructions that allow you to create, call and manipulate Java objects directly from Tcl. These new API's are ideal for rapid prototyping of Java interfaces. Using this interface provides an easy way to get access to Java's powerful libraries without having to leave Tcl. You can also embed the powerful Tcl scripting language into an existing Java application. This technology also provides an ideal way to write regression tests for Java code using Tcl.

Download Jacl and TclBlend (1.2.6)
Download the white paper on Tcl & Java integration.
Tcl+Java = A match made for scripting (SunWorld)

Road Map

  • Jacl & Tcl Blend version 1.0: The 1.0 release of Jacl and Tcl Blend were made available from Sun Laboratories February 18, 1998. This was the final release of the 1.0 version and the conclusion of the work being done by the Sun team.

  • Jacl & Tcl Blend version 1.1.1: The 1.1.1 release of both Jacl and Tcl Blend was made available for downloading on March 6, 1999. This release is due entirely to the efforts of Christopher Hylands and Mo DeJong, with minimal assistance from Scriptics. This release fixed numerous bugs in the 1.0 release and adds some new features that will make combining Tcl and Java even easier then before.

  • Jacl & Tcl Blend 1.2: Mo DeJong coordinated the 1.2 release of Jacl and Tcl Blend. His work was initially only available from his own website, but is now available from Scriptics, who provided assistance in releasing version 1.2.6. This release should be considered stable and production quality. More information about this release can be found on the New Features page.

  • Jacl & Tcl Blend 1.3 and beyond: Mo DeJong will continue coordinating work on Jacl and Tcl Blend. A number of key new features have already been added by contributors on the net. The 1.3 version will initially be available only through CVS. When the 1.3 version is ready to be used in production work, a 1.4 version will be created to replace the existing 1.2 production version. This is the same versioning scheme used by other open projects on the net. The odd-numbered minor releases (1.3) are development branches and even-numbered minor releases (1.2 and 1.4) are production branches.

Why Tcl Blend?

  • Porting legacy code: Tcl Blend offers an easy way to create hybrid applications made from both legacy code and Java code. It's a great way to slowly migrate legacy applications to Java over a period of time.

  • Java integration at the speed of C: As an extension package for Tcl8.0+, Tcl Blend offers Tcl/Java integration without compromising the efficiency of core Tcl features.

Why Jacl?

  • 100% Java!: Jacl is completely implemented in Java. Tcl has always been cross platform, but having a version of Tcl implemented in Java allows Tcl code to run in even more places. A number of people are using Jacl to add Tcl scripting to applications written in Java.

Additional Information

  • A white paper that describes the benefits of Tcl & Java integration was written by Ray Johnson on January 29, 1998. Ray Johnson was the Project Lead for the 1.0 release at Sun Laboratories. His paper provides a high-level overview of the motives and goals for Tcl & Java integration. The paper is available for downlaod in postscript or pdf formats.

Jacl & Tcl Blend 1.2.6 Known Restrictions

  • Applets: Jacl will not currently work well inside of Browsers. The reason is that all of the browsers we tested against had very weak support for the JDK 1.1 features that Jacl depends on. In addition, there has been limited interest in running Jacl in a web browser so this feature has received little attention.

  • Jacl: Unfortunately, Jacl does not yet contain the entire Tcl feature set. There are only a couple of Tcl commands that are not yet implemented, sockets being one of them. There are plans to implement sockets but Java's lack of asynchronous IO makes things difficult.

  • TEA Compliance: Tcl Blend now includes a set of Makefiles which conform to the Tcl Extension Architecture (TEA). These makefiles currently only support Tcl Blend, but will soon support Jacl. You will need to use Tcl 8.2+ with the TEA makefiles.

  • Regular Expressions: A regular expression package licensed from a third party is included in Jacl 1.2. This package provides almost all of regular expression functionality of Tcl. Some regular expressions may differ slightly between Jacl and regular Tcl, but these are the exception and not the rule. The source code to the regular expression library is not provided with the Jacl release but the binary .class files needed to run regular expressions in Jacl are provided.
    This closed source regular expression code has already been replaced in the 1.3 version of Jacl.

The Tcl/Java project team

The Jacl and Tcl Blend releases are brought to you by:
  • Mo DeJong
  • Scott Redman
We have to thank Christopher Hylands for all his hard work on Tcl Blend. We also have to thank to the original Tcl Blend and Jacl team from Sun Labs. A special thanks also goes to Bryan Surles for getting the project hosted at this web site.

Top of page
Developer Home | Ajuba | Getting Started | Tcl Advocacy | Software Resources | Documents | Services | Community
Search | Site Map | Feedback | Contact Us | webmaster@ajubasolutions.com
Increase page width
© 1998-2000 Ajuba Solutions. All rights reserved. Legal Notice | Privacy Statement

Last modified: June 02, 2000