Why Objeck?

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

Another language?
Development of Objeck started in 2008 as I was investigating how to develop a lighter weight version of Java that didn’t have legacy ties with C and C++. As the first prototypes were developed I tried to remove as many syntactical elements as possible yet keep the language usable.

For example:

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

reduced to

value := String->New("hello");
value->PrintLine();

In addition, I wanted the language to have functional programming capabilities absent from Java and C# at the time. Lastly, I wanted to make deploying programs as simple as possible (i.e. a single compact binary) no need to deal with additional jars, wars, ears, etc.

Useful Features?
Over the past 9-years the language has matured and stabilized. It started by developing a collections framework, adding cross platform Unicode support and a C++ extensions API to support things such as OpenSSL and ODBC. From there native XML, JSON and RegEx libraries where added along with web server support via FastCgi.