Aztec® Programming Language
Version 1.1 Alpha 2

Copyright © 2010-2017, Aztec Development Group, All Rights Reserved

Download Aztec

Search        Contact Us

Aztec is a general purpose object oriented programming language, with friendly syntax, thoughtful use of keywords and a simple set of operators. The language and Aztec Engine run-time environment provide a unique combination of power and flexibility while maintaining an extremely small footprint. The language and framework are designed to work closely together and provide consistency across the entire Aztec system.

Aztec supports all of the standard features of an object oriented language, including true multiple inheritance and polymorphism. The language offers significant control over the scope and visibility of identifiers. Global methods and data are supported, as well as 'satellite' classes, which allows a class to be defined in multiple separate blocks, and at different times. Six different visibility options are available, with the capability to combine options together, so access to classes, data and methods can be controlled to any level.

The Aztec Build system incorporates a multiple step compile model that automatically resolves identifiers across multiple source code modules and features a powerful execution step as part of compile process. This compile-time logic is achieved without the use of separate preprocessing syntax, and provides the developer a lot of power, flexibility and control during the compile phase.

♦ Full mathematical expression evaluation, flow control, compiler methods, and a large set of primitive methods.

♦ System methods including text file I/O, command line access, and the ability to dynamically load and compile new Aztec source code.

All primitive data items are treated as objects, and a comprehensive and efficient framework for manipulating primitive data is provided.

♦ Each method in the primitive framework is implemented internally as a separate Aztec Virtual Machine instruction, maximizing run-time efficiency for primitive methods.

♦ The Aztec language design eliminated some traditional operators such as bit level operation and replaced them with a library of instance, global and compiler methods.

♦ The net result is a language with a simpler and more consistent syntactical interface, solid performance and increased functionality.

The Class Framework and Virtual Machine feature an event handling model which is powerful and easy to use.

♦ The Virtual Machine can distribute a single event to multiple threads simultaneously, waking up threads if necessary.

♦ Exceptions are also Aztec Events, and can be handled using these same techniques in parallel with "normal exception handling".

♦ Three separate event handling techniques offer a lot of flexibility and they are consistent throughout the entire Class Framework.

♦ The 'Base' class provides a simple framework for all classes to create the same event handling model.

The Virtual Machine provides a completely safe execution environment. It maintains control over all object access, and ensures that the program does not perform any illegal operations.

♦ All operations are managed internally by Aztec, including math, file I/O, socket I/O, UI and memory operations. All illegal operations are caught by the system and are turned into Aztec Exceptions which can be handled elegantly in the Aztec source code.

♦ The Virtual Machine provides automatic memory management for objects, but also offers the developer flexible control over memory management where appropriate, including deterministic destructors.

♦ Object referential integrity is always maintained. A reference variable is never allowed to point at an object which is invalid for the reference type. There is a formal mechanism provided to test and convert a base reference to a derived reference.

♦ Aztec arrays and method references also provide special base references used to store and pass generic references, which can then be tested and converted to the actual array or method reference type.

Aztec is an effective scripting language for rapidly developing small utility applications, while at the same time being robust, flexible and efficient enough for developing larger software systems.

The Aztec Engine also provides many other powerful and useful features, including the following.

♦ Three separate mechanisms to dynamically compile Aztec source code at run-time and integrate the new binary code back into the Aztec Virtual Machine environment. Combined with the 'satellite' class feature, classes can be modified dynamically at run-time, and Class Metadata and Virtual Method Hierarchy tables are automatically updated.

♦ The Engine can operate in a "UI Display Server" mode to provide UI services to remote Aztec scripts across a network or the internet. It provides services for the Aztec script (client) to connect to the Display Server and then create and manage windows using that remote Display. All UI Events are sent back to the Aztec script for processing.

♦ A high level Text and Binary Message system using similar underlying communication as the UI Display Server. An Aztec script can set up a Sockets based "Message Server" that will receive incoming client connections and messages. A separate Aztec script connects to the Message Server and then sends text or binary messages to the remote (server) script.

♦ The remote script can handle those incoming messages using standard Aztec Message Event handling techniques.

The following links provide a high level summary of the Aztec language and run-time environment, along with six pages describing the rationale for choosing the Aztec Progamming Language.

♦ Aztec Summary

♦ Powerful, Compact and Efficient

♦ A Better Scripting Language

♦ Compile-Time Logic

♦ Aztec Event Handling

♦ Self Modifying Code

♦ Remote UI Technology

This web site contains the official documentation for the Aztec Programming Language, Aztec Class Framework and Aztec Engine software. The Aztec documentation is not intended to be a tutorial on object oriented programming. Experience with general programming and object oriented technology is assumed.

Thank you for your interest in the Aztec Programming Language.


Page UpPage DownCopyright © 2010-2017
Aztec Development Group
All Rights Reserved

Download Aztec