Skip to content
master
Go to file
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Objeck

Objeck is an object-oriented computer language with functional features. The language has ties with Java, Scheme and UML. In this language all data types, except for higher-order functions, are treated as objects.

Objeck is a general-purpose programming language with an emphasis placed on simplicity. The programming environment consists of a compiler, virtual machine and command line debugger.

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

See more on Rosetta Code and checkout the following programming tasks.

Notable features:

  • Object-oriented with functional features
    • Classes, interfaces and first-class functions
    • Generics with type boxing
    • Anonymous classes
    • Reflection
    • Object serialization
    • Type inference
    • Lambda expressions
    • Closures
  • Supported platforms (with JIT compilation)
    • x86-64: Windows, macOS and Linux
    • x86: Windows and Linux
    • ARMv7: Linux
  • Native support for threads, sockets, files, date/time, etc.
  • Libraries
    • Collections (vectors, queues, trees, hashes, etc.)
    • HTTP and HTTPS clients
    • RegEx
    • JSON, XML and CSV parsers
    • Encryption
    • Database access (via ODBC)
    • Query framework
    • 2D Gaming (via SDL2)
  • Garbage collection
  • JIT support for all supported platforms

Documentation

Please refer to the programmer's guide documentation and online tutorial. Also checkout Rosetta Code examples.

Binaries

Get the latest binaries.

Development

alt text

Building on Linux and macOS:

  • Install required libraries: sudo apt-get install build-essential git libssl-dev unixodbc-dev libsdl2-dev libsdl2-image-dev libsdl2-ttf-dev libsdl2-mixer-dev
  • cd to objeck-lang/core/release and run ./deploy.sh with the parameter 32, 64 or osx representing the bit version of Linux
  • Build output with binaries and documentation will be located in objeck-lang/core/release/deploy
  • Reference objeck-lang/core/release/deploy/readme.html to set paths and find examples

Building on Windows:

  • With Visual Studio 2019 or later open objeck-lang/care/release/objeck.sln
  • Ensure build completes successfully
  • To build everything, cd to objeck-lang/care/release and run deploy_amd64.cmd deploy
  • Build output with binaries and documentation will be located in objeck-lang/core/release/deploy64
  • Reference objeck-lang/core/release/deploy64/readme.html to set paths and find examples
You can’t perform that action at this time.