1. Summary
  2. Files
  3. Support
  4. Report Spam
  5. Create account
  6. Log in

Objeck Development

From objeck-lang

(Redirected from Objeck Programming Language)
Jump to: navigation, search

Contents

Overview

Objeck is an object-oriented computing language with functional features. The language has ties with C#, Pascal and Scheme. In this language all data types, except for higher-order functions, are treated as objects. The language contains all of the basic features of a general-purpose (Turing complete) programming language with an emphasis placed on OOP simplicity. The programming environment consists of a compiler, virtual machine (with associated garbage collector and JIT compiler) and command-line debugger. The compiler emits binary bytecode that is executed by the runtime system. The runtime JIT compiler has the ability to translate the bytecode into IA-32 or AMD64 machine code during execution for improved performance. Also, check out the IRC channel #objeck on freenode.net.

Blog

Latest development news...

Learn More

Below are links to tutorials and code examples. Also, check out the Programmer's Guide for additional information.

Tutorials

Code Examples

Benchmarks and Performance

Benchmark programs from the The Computer Language Benchmarks Game. Test environment was Linux 3.2.0-24-generic; i686; i7-2760QM.

fannkuch-redux n=12

mandelbrot n=16,000

nbody n=50,000,000

spectral-normn=5,500

profile program

The Objeck garbage collector is adaptive, meaning that the amount of memory used by a program will adjust based upon demand. For instance, if demand is higher during the execution of a certain portion of the program the GC will allow more memory to be allocated before collection is invoked. If demand is low, a portion of unused memory is returned back to the operating system. The GC also manages blocks of cached memory in order to reduce the number of OS allocation/deallocation requests.

Get Objeck

Check out the sample code and download the latest version.

Downloads

Current Features

  • Native platform support for Windows, Linux and OS X
  • Support for object-oriented programming (virtual classes, interfaces, enums, functions and methods)
  • Functional support (high-order functions)
  • Runtime introspection and object serialization
  • Support for polymorphic methods and functions
  • Class library support (math, files, sockets, xml, http, collections and etc.)
  • Command line debugger
  • Automatic memory management (mark and sweep garbage collection)
  • Native runtime JIT support for IA-32 and AMD64 architectures
  • Compiler optimizations (short-circuit evaluation, method inlining, constant folding, strength reduction, instruction simplification)

Upcoming Features

Here's what's coming up in future releases.

On Deck

The following features will part of the next release v3.3.x

  • Support for generics
  • Boxing for basic types

Shelved

These features are being worked on but haven't been scheduled into a release

Developers

Now that the system base has matured I've been activity looking for opportunities to tweak the language system and enhance runtime support (i.e. incorporation of 3rd party toolkits like Qt). If you're interested in building and/or enhancing Objeck please refer to the Developers Page.

Helpful Links

Please refer to the following links for additional information and help.

Roadmap

Miscellaneous

FAQs

Personal tools