こんにちは 世界

class Hello {
  function : Main(args : String[]) ~ Nil {
    "Hello World" → PrintLine();
    "Καλημέρα κόσμε" → PrintLine();
    "こんにちは 世界" → PrintLine();
  }
}

Background
Development of Objeck started in 2008 as I was investigating how to create a lighter weight version of Java that didn’t have as many legacy functional ties with C/C++. As the first prototypes were developed I tried to remove as many syntactical elements as possible yet keep the language usable. During the process I was also experimenting with Scheme and as such added general support for functional programming.

For example the follow Java code:

String value = new String("hello");
System.out.println(value);

is coded in Objeck like:

value := String → New("hello");
value → PrintLine();

While working on the stack based virtual machine I began to experiment with translating byte code into machine code. As the experiments turned into prototypes I incorporated a JIT compiler into the runtime. In an effort to make deploying programs a simpler a single binary format was created such that all required code and supporting libraries are linked into one executable. Lastly, ported the early code written for OS X and Linux to Windows and developed a 64-bit JIT compiler for Linux AMD64 and macOS.

Features
As the language has matured a number of libraries and supporting classes have been created. Notable libraries include support for JSON, RegEx, XML and CSV. In addition HTTP and HTTPS web clients have also been developed along with server-side support for FastCGI. The language also has a cross-platform data access library that utilizes ODBC.