Objeck (programming language)

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


Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”