more reliable code in less time

FAQ (Frequently Asked Questions)


What is Obix?

Obix is a high level, object-oriented, statically typed, compiled, portable, open-source programming language.


Why Obix?

Obix aims to achieve 3 goals:

  • produce more reliable software (less bugs)
  • increase developer productivity
  • simplify the software development process

The primary and most important goal is more reliable software. This goal is achieved by:

  • constantly applying the following very important and effective Fail fast! principle:

    • Every coding error should be detected as early as possible,
      preferably at compile-time, or else as early as possible at run-time.

  • preventing error-prone programming techniques (such as automatic type casts)

  • enforcing proven object-oriented concepts (such as hiding of implementation)

Focusing on more reliability, productivity and simplicity is important because those are the objectives pursued since decades, but not yet satisfactorily achieved in the world of software development. Achieving these 3 goals:

  • makes a programmer's life more easy and enjoyable
  • helps to write beautiful code in less time
  • reduces the costs of development and maintenance.

For more information please read Why Obix?. This article recalls the well known reasons for why more reliability, productivity, and simplicity are important for every programmer, and it explains and shows examples of the techniques used to realize these goals in Obix.


What's unique about Obix?

To achieve its goals (reliability, productivity, simplicity), Obix incorporates a unique combination of more than 20 proven and innovative concepts not found or only partially found in other programming languages. Some of the most important error-preventing concepts built in are:

  • Contract programming (Design by Contract)
  • Feature redefinition in child types
  • Integrated unit testing
  • Immutable objects by default
  • Void (null) values not allowed by default
  • Generic types without type erasure at runtime

From the outset Obix was designed with these concepts in mind. They are part of the language. You can therefore benefit from the following advantages:

  • all concepts work and evolve seamlessly together
  • they are easy to use
  • there are no dependencies on third-party extensions
  • there are no version conflicts

As a result, programmers are much more motivated to use them, which leads to better and easier to maintain software.

For more information please refer again to the above mentioned article Why Obix?.


Which platform does Obix run on?

Obix generates Java binaries (.class or .jar files). Hence, applications written in Obix run on any platform that supports a Java Virtual Machine (JVM), such as Linux, Mac OS, Unix, Windows, etc.

Other target code could be produced in the future, because the code generation part of the compiler has been designed with this flexibility in mind.


How much does Obix cost?

Obix is free of charge.


Which license is used?

Obix can be used under the terms of the GNU Affero General Public License (AGPL) version 3.


What can I do with Obix?

You can develop any kind of application that runs on a Java Virtual Machine.

Obix's development environment provides specific support to simplify the following common tasks:

  • write small executable scripts contained in a single source code text file
  • write command line utilities
  • write console input/output programs
  • write simple or complex web applications using Java's JSP and/or servlet technology

Note: To see how this works in practice please refer to Part I of the Tutorial.

You can also easily combine Obix and Java code in your application. For example, you can:

  • directly embed Java source code within Obix source code
  • call Java code from Obix code, call Obix code from Java code, and exchange data between Java and Obix
  • use any existing .jar or .class files (Java libraries and frameworks), for example to write a GUI application using Java Swing, SWT, or any other Java GUI package
  • integrate any software written in any other language that produces Java binaries, such as software written in Groovy, Jyton, JRuby, Scala, etc.

The advantage of using Obix to write an application is that you can benefit from Obix's specific support for more reliability, productivity and simplicity. At the same time, you can rely on the very popular, robust and successful Java technology, and you can easily embed existing Java libraries and frameworks in your Obix projects.


What do I need to develop applications with Obix?

You just need:

  • a computer with an operating system that supports a Java SDK (for example Linux, MacOSX, Windows)
  • a text editor
  • a Java servlet container, such as Tomcat or Jetty (only if you want to develop web applications)

You can then download Obix (a single compressed archive file that contains the Obix compiler and libraries), read the tutorial, and start developing.

You can deploy your application to any computer or device that supports a Java Virtual Machine (JVM).


How is Obix developed?

Obix started as a one-man-project.

However, right from the beginning the intention was to transform it into an open-source-community project. For more information please refer to You can help and get help!

You are very welcome to participate.


How can I contribute?

You can help in many ways. For example:

  • tell other people about Obix (online, at work, in the coffee shop, or anywhere else)
  • send feedback to 'info {at} rps-obix {dot} com' about:
    • the language, the web site, the documentation, the tutorial
    • things you like or dislike
    • errors or problems you encountered
    • enhancements and new features you would like to see in Obix
  • be an active member of the open-source community, for example:
    • participate in testing, developing, and improving Obix
    • help to improve and maintain the documentation and web site
    • contribute source code examples

Any other contributions are also very much appreciated. Thank you!

Many people confirm: "Contributing to an open-source project makes me feel good!"


Where can I see examples of Obix source code?

Examples can be found:

  • in the 'projects' directory created during installation of Obix (look at the 'readme' files for each project)
  • in the Tutorial
  • throughout the Language manual
  • in Obix's source code, because Obix is written in Obix (libraries, compiler, etc.)

Where can I find more information?

Documentation is available at www.rps-obix.com

For a step by step introduction to Obix it is recommended to proceed as follows:

  • read the FAQ page (this page)
  • for more information about the benefits you can expect from Obix, read Why Obix?.
  • download Obix, then read and practice part I of the Tutorial (How to create and execute code?)
  • look at the examples in the 'projects' directory created during the installation of Obix
  • read part I of the language manual (Fundamental concepts)

You should now have the basic knowledge to develop your own applications.

For more specific information, please refer to:

If you need more information then please write a message to 'info {at} rps-obix {dot} com'.