BlitzMax

{{language |strength=weak |checking=static |gc=yes}}'''BlitzMax'''

BlitzMax Paradigm imperative, object-oriented, modular, reflective

Appeared in 2004

Designed by Mark Sibly

Developer Blitz Research Ltd.

Stable release 1.42 (March 31, 2011; 3 months ago)

Typing discipline Static, Weak

Influenced by BlitzBasic

OS Microsoft Windows, Mac OS X, Linux

{{language programming paradigm|imperative}} {{language programming paradigm|object-oriented}} {{language programming paradigm|reflective}} The first BlitzMax compiler was released in December 2004 for [[Mac OS X]]. This made it the first Blitz dialect that could be compiled on *nix platforms. Compilers for [[Microsoft]] [[Windows]] and [[Linux]] were subsequently released in May 2005. BlitzMax brought the largest change of language structure to the modern range of Blitz products by extending the type system to include object-oriented concepts and modifying the graphics API to better suit [[OpenGL]]. BlitzMax was also the first of the Blitz languages to represent strings internally using UCS2, allowing native-support for strings literals composed of non-ASCII characters.

BlitzMax's platform-agnostic command-set allows developers to compile and run source code on multiple platforms. However the official compiler and build chain will only generate binaries for the platform that it is executing on. Unofficially, users have been able to get Linux and Mac OS X to cross-compile to the Windows platform.

BlitzMax is also the first modular version of the Blitz languages, improving the extensibility of the command-set. In addition, all of the standard modules shipped with the compiler are open-source and so can be tweaked and recompiled by the programmer if necessary. The official BlitzMax cross-platform GUI module (known as MaxGUI) allows developers to write GUI interfaces for their applications on Linux (FLTK), Mac ([[Cocoa]]) and Windows. Various user-contributed modules extend the use of the language by wrapping such libraries as wxWidgets, Cairo, Fontconfig as well as a selection of database modules. There are also a selection of third-party 3D modules available namely MiniB3D - an open-source OpenGL engine which can be compiled and used on all 3 of BlitzMax's supported platforms.

In October 2007, BlitzMax 1.26 was released which included the addition of a reflection module. BlitzMax 1.32 shipped new threading and Lua scripting modules and most of the standard library functions have been updated so that they are unicode friendly.

Tasks