Friday, February 17, 2006

O is for ...


Oberon2

is a simple and safe object-oriented language created by N.Wirth, the author of Pascal and Modula2. It is statically strongly typed and has garbage collection. Most of good ideas incorporated in design of Java were in Oberon2 long before. OOC is an open source project to produce a family of optimizing Oberon2 compilers. The compiler with an ANSI C back-end, oo2c, is quite mature, and provides a complete and convenient Oberon2 development environment. It comes with a rather comprehensive standard library, Code Navigator, and an Emacs mode. It is easy to call C functions and libraries from Oberon2.

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:
  • a simple java-like syntax
  • class system, with single inheritance and mixins
  • private/protected/public fields and methods
  • exceptions for error handling
  • synchronization and threading
  • compiles to bytecode for higher performance
  • osdoc: a javadoc-like tool to extract API documentsfrom src code, plus API docs accessible reflectively
  • XML-RPC support
  • Windows COM support
  • regular expressions (requires java v1.4 or later)
Plus, it's free! And since it is written in Java, programs written in ObjectScript can take advantage of existing Java code and libraries, like Swing. ObjectScript programs can not only create instances of Java objects, call Java methods, access public fields, access java bean properties, but can also extend Java classes, and implement Java interfaces. Since it can be interactively interpreted, ObjectScript is the perfect way to debug or learn Java systems. And since it supports extending Java classes and interfaces, it can add sophisticated scripting to an existing Java application.

Onyx

is a powerful stack-based, multi-threaded, interpreted, general purpose programming language similar to PostScript. It can be embedded as an extension language similarly to ficl (Forth), guile (scheme), librep (lisp dialect), s-lang, Lua, and Tcl.

OpenComal

is a highly portable and free implementation of the Comal programming language written by moi. Currently supported platforms are Unix, MsDos and Win32 (95, 98, NT, 2000, XP and whatever they come up with next :-)

Comal is a crossover between Basic and Pascal, with the best features of both and none of the drawbacks of either.


OpenSpice

is an openly available specification of the Spice language - a modern programming language with some nice XML processing features. It is designed with the needs of part-time or occasional programmers in mind. The language features are properly separated and their corner cases have been eliminated. This design means that if you only use Spice occasionally, you're likely to find it easy to come back to despite the breaks.

OpenZz

is an interpreted dynamic parser which is well suited to rapid development of parsing solutions, starting from rapid language prototyping to full fledged compilers.
OpenZz is a dynamic LALR(1) parser which allows its grammar to be modified and extended by commands written in its own language as well as through functionality provided by external libraries. OpenZz is implemented as a C library and exports C-bindings, so it can be joined with other code libraries both by static linking and runtime module loading.

Zz is a very sparse language: few operations are intrinsically supported. The key of Zz is the syntax extension statement. In the current release the following are available as predefined statements: assignment, print, evaluation of simple expressions, and a limited number of other basic instructions. In principle there is no need of Zz instructions, except for only the syntax extension capability. The intrinsic Zz statements are however useful for purposes of exercise and in the early stages of application development.

Ox

Ox is an object-oriented matrix language with a comprehensive mathematical and statistical function library. Matrices can be used directly in expressions, for example to multiply two matrices, or to invert a matrix. Use of the object oriented features is optional, but facilitates code re-use. The syntax of Ox is similar to the C, C++ and Java languages. This similarity is most clear in syntax items such as loops, functions, arrays and classes.



2 comments:

Anonymous said...

OCaml?

Bruce M. Axtens said...

Apart from the odd exception, this list contains small-town heroes and the like. OCaml's almost mainstream by comparison.

C'mon, convince me otherwise.