Open Source Scripting Languages in Java
|Groovy is a new agile dynamic language for the JVM combining lots of great features from languages like Python, Ruby and Smalltalk and making them available to the Java developers using a Java-like syntax.
Groovy is designed to help you get things done on the Java platform in a quicker, more concise and fun way - bringing the power of Python and Ruby inside the Java platform.
Groovy can be used as an alternative compiler to javac to generate standard Java bytecode to be used by any Java project or it can be used dynamically as an alternative language such as for scripting Java objects, templating or writing unit test cases.
Go To Groovy
|Jython is an implementation of the high-level, dynamic, object-oriented language Python written in 100% Pure Java, and seamlessly integrated with the Java platform. It thus allows you to run Python on any Java platform.
Go To Jython
Go To BeanShell
Go To Rhino
|JRuby is a pure Java implementation of the Ruby interpreter
Go To JRuby
|The Tcl/Java project's goal is to make integrating the Java platform and the Tcl scripting language as easy as possible. The project actually consists of two distinct packages, called Tcl Blend and Jacl.
Go To Tcl/Java
|Jelly is a tool for turning XML into executable code. So Jelly is a Java and XML based scripting and processing engine. Jelly can be used as a more flexible and powerful front end to Ant such as in the Maven project, as a testing framework such as JellyUnit, in an intergration or workflow system such as werkflow or as a page templating system inside engines like Cocoon.
Go To Jelly
|Bean Scripting Framework (BSF) is a set of Java classes which provides scripting language support within Java applications, and access to Java objects and methods from scripting languages. BSF allows one to write JSPs in languages other than Java while providing access to the Java class library. In addition, BSF permits any Java application to be implemented in part (or dynamically extended) by a language that is embedded within it. This is achieved by providing an API that permits calling scripting language engines from within Java, as well as an object registry that exposes Java objects to these scripting language engines.
Go To Bean Scripting Framework (BSF)
|Sleep is the Simple Language for Environment Extension Purposes. Sleep is a small language with perl-like syntax for integration into Java applications.
The attribute that makes Sleep different is it allows an application developer to develop \"bridges\". A bridge is a very simple class for adding new functions, predicates, operators, and even keywords for binding blocks of code. Sleep is easily extendable to make an application's features available to end-user scripters.
Go To Sleep
|ObjectScript is a general purpose object-oriented programming language. It is designed to be simple to learn, easy to use, yet still powerful, combining the convenience of an interactive interpreter with many of the features of Java:
Go To ObjectScript
|JudoScript is a functional scripting language. It is a normal algorithmic/object-oriented programming and java scripting language, and also has a number of built-in domain support.
And, because it can fully script Java, all Java resources are readily avaiable through Java scripting. This means that, you can do everything directly and easily in a single environment, to deal with database, XML, SGML, spreadsheet and other files, application servers, web services and internet resources, Windows ActiveX controls, archive and Ant build scripts and processes, creating user-friendly GUI-based tools, ... so that you can focus more on the business of data analysis, reporting or aggregation, automated unit and system testing and batch processing jobs.
Go To Judoscript
|Seppia is a java technology which allows you to build applications from constituent parts.
Many scripting technologies allow the developer to embed scripting code into their java code.
Seppia will challenge the way you think of Java based component computing.
Go To seppia
|ePascal is interpreter of pascal programming language with own memory management.
It was created for education purposes to learn algorithmic thinking of students of high schools.
Go To ePascal
|LuaJava is a scripting tool for Java. The goal of this tool is to allow scripts written in Lua to manipulate components developed in Java. LuaJava allows Java components to be accessed from Lua using the same syntax that is used for accessing Lua`s native objects, without any need for declarations or any kind of preprocessing.
LuaJava also allows Java to implement an interface using Lua. This way any interface can be implemented in Lua and passed as parameter to any method, and when called, the equivalent function will be called in Lua, and it's result passed back to Java.
Go To LuaJava
|The Yoix scripting language is a general-purpose programming language that uses syntax and functions familiar to users of C and Java. It does not use reflection to access Java functionality and thus adds value by not only simplifying access to that functionality, but also improving application reliability by coding through Java gotchas and complicated Java features one-time, behind-the-scenes. The Yoix language includes pointers, addressing, declarations, and global and local variables. In addition to supporting native user functions, users can add their own builtin functions written in Java.
It is licensed under the Open Source Foundation CPL 1.0.
Go To Yoix
|Kawa is a Scheme environment, written in Java, and that compiles Scheme code into Java byte-codes. Kawa is a full Scheme implementation. It implements almost all of R5RS, plus some extensions.
Kawa provides a framework for implementing other progressing languages, and comes with incomplete support for CommonLisp, Emacs Lisp, and EcmaScript, and the draft XML Query language.
Go To Kawa
|DynamicJava is a JavaTM source interpreter. It executes programs written in JavaTM, like described in the Java Language Specification, in addition with scripting features. DynamicJava was written in pure JavaTM, is free and distributed with the source code.
Go To DynamicJava
|The Hecl Programming Language is a high-level scripting language implemented in Java. It is intended to be small, extensible, extremely flexible, and easy to learn and use.
Go To Hecl
|FScript is an extremely simple scripting language. Its intended use is as an embedded language in other Java programs. It is very simple to embed - it can be as simple as sub-classing one class to add your own functionality. However is not a complete programming language, as it has no library of standard functions (such as IO and string processing). FScript supplies a base functionality (such as flow control, variable handling and basic math operations) that can extended by the host application.
Go To fscript
|Janino is a compiler that reads a JavaTM expression, block, class body, source file or a set of source files, and generates JavaTM bytecode that is loaded and executed directly. Janino is not intended to be a development tool, but an embedded compiler for run-time compilation purposes, e.g. expression evaluators or \"server pages\" engines like JSP.
JANINO can also be used for static code analysis.
Go To Janino
|JBasic is a BASIC interpreter, written entirely in Java. It operates in console mode which means you run it from the command line of a shell. JBasic can run on most Unix systems including Mac OS X, the Windows command shell, or a VMS DCL command line
Go To JBasic
|Nice is a new programming language. It extends the ideas behind object-orientation in order to better support modular programming and static type safety. It also incorporates features from functional programming, and puts into practice state-of-the-art results from academic research. This results in more expressivity, modularity and safety.
Go To Nice
|InstantJ is a library you can use to compile and execute Java code or evaluate expressions written in Java. This is done on the fly - there is no pre-compiling step necessary. This is ideal in cases where expressions are either assembled programmatically at runtime, are read from descriptors or received from user-input.
Go To InstantJ
|Simkin is a high-level lightweight embeddable scripting language which works with Java or C++ and XML. Simkin enables you to hand over control of part or all of your application to your users. The language has been designed to be easy enough for non-programmers to use, and easy for you to supply a simple API for them to write to.
Go To Simkin
|Jatha, Common LISP library in Java, is a Java library that implements a fairly large subset of Common LISP, including most of the datatypes (e.g. packages, bignums) and their associated methods.
Go To Jatha
|Second Interpreter of Scheme Code is an extensible Java based interpreter of the algorithmic language Scheme. SISC uses modern interpretation techniques, and handily outperforms all existing JVM interpreters (often by more than an order of magnitude). In addition, SISC is a complete implementation of the language. The entire R5RS Scheme standard is supported, no exceptions.
Go To SICS
|JScheme is a dialect of Scheme with a very simple interface to Java, called the Javadot notation . This notation provides a transparent access to all Java classes, constructors, methods, and fields on the classpath.
JScheme implements all of R4RS Scheme except that continuations can only be used as escape procedures and strings are not mutable.
Go To JScheme
|Pnuts is a scripting language system based on JVM. It is intended to be a part of dual-language system based on Java platform. Some of the features are as follows.
* Simple and clean syntax
* Interactive interpreter
* Extensible through its module system
* Customizable and embeddable through Pnuts API
* Dynamic/static translation to JVM bytecode
* One of the fastest scripting language implemenations on JVM
* Inherits many advantages of Java (security, portability, etc.)
Go To pnuts
|Scala is a general purpose programming language designed to express common programming patterns in a concise, elegant, and type-safe way. It smoothly integrates features of object-oriented and functional languages. It is also fully interoperable with Java.
Go To Scala
|ArmedBear (ABCL) is a Common Lisp written in Java. Its compiler produces JVM byte code, tapping into the 'write once, run everywhere' philosophy of Java. J is a text editor written in Java featuring e.g. syntax highlighting and automatic indenting.
Go To ArmedBear / J
|Clojure is a dialect of Lisp, and shares with Lisp the code-as-data philosophy and a powerful macro system. Clojure is predominantly a functional programming language, and features a rich set of immutable, persistent data structures. When mutable state is needed, Clojure offers a software transactional memory system and reactive Agent system that ensure clean, correct, multithreaded designs.
Go To Clojure
|Whiley is a hybrid object-oriented and functional programming language which compiles to the JVM. Whiley employs extended static checking to eliminate errors at compile time, including divide-by-zero, array out-of-bounds and null dereference. Whiley's Extended static checking is made possible through the use of an automated theorem prover.
Go To Whiley