Onyx 5.1.2 review

by rbytes.net on

Onyx is a powerful stack-based, multi-threaded, interpreted, general purpose programming language similar to PostScript

License: BSD License
File size: 1364K
Developer: Jason Evans
0 stars award from rbytes.net

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.

Here are some key features of "Onyx":
Onyx provides truly scalable threading that utilizes the operating system's native POSIX threading.
Onyx can be configured over 1000 different ways, depending on the needs of the program that it is being embedded into. This makes it possible to use Onyx in restricted environments like boot loaders and operating system kernels, without sacrificing functionality that is useful for general purpose programming.
Onyx is perhaps the most advanced stack-based general purpose programming language in existence (not that there are many others). Here are some examples of how Onyx improves on previous stack-based languages:
- Stacks are first class objects. This may seem like a basic feature, but neither Forth nor PostScript provide stacks, despite the obvious usefulness in a stack-based language.
- Stacks are double-ended. This means that one stack can effectively be treated as two stacks, which can simplify stack management considerably.
- Onyx has superb introspection capabilities. Onyx comes with no debugger per se, because there is essentially no need for one.
A comprehensive set of operators that provide access to POSIX system functionality, such as file I/O, process creation and control, and signal handling.
Both UDP/ and TCP/IP networking.
Perl-compatible regular expressions.
Loadable module system. Onyx can be extended by modules, which can be written in a combination of C/C++ and Onyx. This provides a clean interface for writing large programs with a modular design, where the performance-critical portions of the program are written in a compiled language.
Object-oriented programming (OOP) support. Onyx's OOP support has a flavor similar to that of Objective-C, which is highly dynamic and powerful.
Automatic memory management. Memory is managed by an automatic mark and sweep garbage collector that has very low overhead.
Onyx's syntax is suitable both for code and data, which means that configuration files and databases can be read, written, and stored as Onyx code.

Onyx 5.1.2 search tags