Obix (programming language)
![]() |
|
Paradigm | object-oriented |
---|---|
Designed by | Christian Neumanns |
statically typed | |
OS | Mac OS X, Linux, Unix, Windows |
License | Affero General Public License version 3 |
.osc | |
Website | www.rps-obix.com |
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 copyleft software and can be used under the terms of the Affero General Public License version 3.
Contents
Objectives
Obix has been designed to achieve three goals:
- produce more reliable software (fewer bugs)[2][3][4][5]
- 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
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
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
- ^ Open-source project announcement on Coding forums
- ^ John Knight (February 2012), "New Projects: Fresh from the Labs", Linux Journal 2012 (214): 62–65
|chapter=
ignored (help) - ^ "Workshop", DeveloperIQ 12, January 2012
|chapter=
ignored (help) - ^ Maxtina Fernando (January 2012), "Obix Programing Language", FOSS User Magazine 2012: 25
- ^ Sneha Philipose (November 2012), "The Obix programming language: more reliable code in less time", http://developeriq.in/articles/2012/nov/05/the-obix-programming-language-more-reliable-code-i/ Missing or empty
|title=
(help)