Objeck
Objeck is an object-oriented programming language with functional features. Objeck emphasizes, expression, simplicity, portability, and scalability. The programming environment consists of a compiler, virtual machine, and command line debugger with IDE plugins.
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
- Libraries
- Collections (vectors, queues, trees, hashes, etc.)
- HTTP and HTTPS client and SSL server support
- RegEx
- JSON, XML and CSV parsers
- Encryption
- Database access
- Query framework
- 2D Gaming framework
- Native support for threads, sockets, files, date/time, etc.
- Garbage collection
- JIT support for all targets
- x64: Linux, macOS and Windows
- arm64: Linux, macOS
Documentation
Please refer to the programmer's guide documentation and online tutorial. Also checkout Rosetta Code examples.
Technical Architecture
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 libreadline-dev unzip
- cd to
objeck-lang/core/release
and run./deploy_posix.sh
with the parameter64
orosx
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 2022 or later open
objeck-lang/care/release/objeck.sln
- Ensure build completes successfully (in Release mode)
- To build everything, cd to
objeck-lang/care/release
and rundeploy_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