- Objeck (programming language)
-
Objeck Paradigm(s) object-oriented, functional, reflective, structured Appeared in 2008 Designed by Randy Hollines Stable release 2.1.1_2 Typing discipline static, dynamic Major implementations Windows, Linux, OS X Influenced by C#, Scheme, Pascal License New BSD Website http://sourceforge.net/projects/objeck-lang The Objeck programming language is a modern object-oriented computing language with functional features. The programming environment consists of a compiler, virtual machine (garbage collector and JIT compiler) along with a command line debugger.
Contents
Background
The programming environment originally grew from a prototype that was created in 2008 to investigate the process of translating stack VM instructions into register instructions and finally into machine code. From that prototype, a small virtual machine was developed called StackVM along with a simple assembler. The project adopted the name Objeck after the assembler was replaced by a the current language frontend.
Objeck has ties with C#, Scheme and Pascal. Today the system is generally considered stable and performance is comparable to languages like Java. Current development is focused on adding new features such as ODBC support and tuning the virtual machine.
Language Features
Some of the current features include:
- Object-oriented programming support
- Polymorphic methods and functions
- High-order functions
- Class library support (strings, files, threads, sockets, collections, HTTP, XML)
- Automatic memory management
- JIT support for IA-32 and AMD64 architectures
- Compiler optimizations
Example
Below is an example of the "Hello world" program:
bundle Default { class SayHello{ function : Main(args : String[]) ~ Nil { "Hello World!"->PrintLine(); } } }
References
Categories:- Object-oriented programming languages
Wikimedia Foundation. 2010.