Objeck
Objeck is an object-oriented programming language with functional features. Objeck emphasizes simplicity, portability and scalability. The programming environment consists of a compiler, virtual machine, command line debugger and plugins for various IDEs.
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
- Supported targets
- x86-64: Windows, macOS and Linux
- x86: Windows and Linux
- ARMv7: Linux (Raspberry Pi 3/4)
- ARM64: macOS (Apple Silicon)
Documentation
Please refer to the programmer's guide documentation and online tutorial. Also checkout Rosetta Code examples.
Design
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
- cd to
objeck-lang/core/release
and run./deploy_posix.sh
with the parameter32
,64
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
- 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