Obix (programming language)
Obix is a programming language with the following main characteristics:
The Obix compiler generates Java binaries (.class or .jar files) that can be executed on a Java virtual machine (JVM). Therefore applications written in Obix run on any platform that supports a JVM, such as Mac OS X, Linux, Unix and Windows.
Obix is free (as in beer) software and can be used under the terms of the Affero General Public License version 3.
Objectives[edit]
Obix has been designed to achieve three goals:
- produce more reliable software (less bugs)[1]
- increase developer productivity
- simplify the software development process
The primary and most important goal is to help writing more reliable software. This goal is achieved by systematically applying the following 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.
Obix incorporates a unique combination of error-preventing Fail fast! concepts. The most important are:
- Contract programming (Design by Contract)
- Integrated unit testing
- Feature redefinition in child types
- Static typing
- Objects are immutable by default
- Void (null) values are not allowed by default
- Generic types without type erasure at runtime
- No implicit type conversions (also known as coercion)
- Everything is an object (no primitive data types)
Because all Fail-fast concepts are imbedded as part of the language they work and evolve seamlessly together and there are no dependencies on third-party extensions or version conflicts.
Integration with Java[edit]
Obix and Java code can be mixed in an application. For example, it is possible to:
- mix Java source code with Obix source code in the same source code file
- call Java code from Obix code, call Obix code from Java code, and exchange data between the two languages
- use .jar or .class files (Java libraries and frameworks) in an Obix application
- integrate software written in any other language that produces Java binaries, such as software written in Groovy, Jyton, JRuby, Scala.
Development environment[edit]
Obix's integrated development environment provides command line tools to manage software projects (create new project, compile, build, deploy, run, run tests). It also 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 web applications using Java's JSP and/or servlet technology
References[edit]
- ↑ John Knight. "Obix - Reliable Programming, Quickly", Linux Journal, issue 214 February 2012, page 62
External links[edit]
This article "Obix (programming language)" is from Wikipedia. The list of its authors can be seen in its historical. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.