Jostraca code generation, made repeatable

The original Jostraca

Before the TypeScript and Go implementations, Jostraca was a Java toolkit for template-driven code generation. This is the project the name and ostracon came from.

The original Jostraca ostracon: a drawn profile under the handwritten project name
The original project mark, restored from the surviving 74 × 100 pixel web image.

The Java project

The original Jostraca described itself as a general-purpose code generation toolkit for software developers. It treated generation as “programming by example”: give the computer a representative file and let a template produce the repeated variations. The generator was written in Java and used Java Server Pages syntax, but the files it produced did not have to be Java.

Its supplied configurations covered Java, JavaScript, Perl, Python, Jython, Ruby, Rebol, and C. A Java 1.2 interpreter and compiler, plus a text editor, were the stated requirements. The project later gained an Ant task and an Eclipse plugin called CodeGenClipse. Release 0.4.1 also added JavaScript templates through Rhino.

The Java Server Pages syntax is the part the current design deliberately dropped. A file with <% ... %> in it is valid in neither language, which is what the Eclipse plugin existed to paper over. Today there is no template syntax to learn: you write ordinary code, or you mark up a file that stays valid source in its own language, and no editor needs a plugin to read it.

Release timeline

Jostraca 0.1.0a, the first release recorded by the old site.
Jostraca 0.2.0a launched, followed by 0.2.1a two weeks later.
The project appeared at ECOOP 2002.
Jostraca 0.3.1 was released; 0.3.2 and 0.3.3 followed in 2003.
Jostraca 0.4.0 was released.
Jostraca 0.4.1 became the final release listed on the site. Binary and source distributions were published as ZIP and tar.gz archives.

Freedom to generate

The Java generator was distributed under version 2 of the GNU General Public License. Its site made a separate promise about output: code produced with Jostraca belonged entirely to the person who generated it. The generator did not impose an IDE, technology, or layout on that output.

People

Richard Rodger maintained the project. The old credits name Morten Christensen for the Eclipse plugin, Orla Shanaghy as documentation editor, Derek Conniffe for hardware and server work, Lars Grammel for the Ant task, Tim Buchalka for build.xml, and Chris Perdue for CommandRunner. They also thank Eoin Shanaghy, Godfrey Nolan, Gerry Feeney, Alaister Moull, Conor Wyse, and Caroline Hughes as reviewers.

What carried forward

The current Jostraca is a new TypeScript and Go implementation, not the Java 0.4.x distribution. The runtime, component model and release line are new. What carried forward is the purpose: remove repetitive work by generating code from a model, while leaving the generated code useful and owned by the developer. The name and the ostracon mark carry that history visibly into the new project.

Read the archived original site, including its manuals, examples, release notes, and surviving downloads. It is historical material; use the current documentation for this project.