Updated: Sunday March 21, 2004
Superx++ is an object-oriented language that is entirely based on XML's syntactical structure. Superx++ conforms with the XML version 1.0 specification as published on the W3C web site. Programming in XML itself has great potential and Superx++ pushes the envelope!
Superx++ Compiler and Runtime 1.0 Released
August 11, 2003 - The compiler and runtime for Superx++ is finally complete. It has been released on the web site of Emergent Logic LLC, the company I formed to promote Superx++. You can download the compiler and runtime for free at http://www.emergentlogic.com/Products/XppComp.php.
Superx++ 1.0 Users Guide
August 11, 2003 - The Superx++ language has some improvements to old features as well as new features. These are detailed in the Users Guide (in PDF format). You can download this document at http://www.emergentlogic.com.
Superx++ 1.0 XML Schema
August 11, 2003 - The Superx++ language now has an XML schema document that describes it. You can validate Superx++ source code against this schema. It is located at http://www.emergentlogic.com/Schemata/Superxpp.xsd.
What about the rest of this site?
August 11, 2003 - The materials on this site are currently out of sync with the new Users Guide and the Superx++ compiler and runtime. They will be updated at some point in the future. For now, please go instead to http://www.emergentlogic.com.
Language Name Change
November 4, 2002 - The language that I invented formerly known as x++ has a new name: Superx++. The reason for the name change is two-fold:
1) I recently learned that there was a collision between my x++ and the name of a pre-existing language created by a Scandinavian company used in accounting software.
2) There was an obvious collision between the post-increment operator (in source files written in some C family languages) on the variable x when one searched for x++ documentation on search engines.
So to remove the ambiguities I have chosen to rename my language Superx++. The name Superx++ was chosen because it emphasizes the potential of this language. For instance, the courier messaging model is being extended to allow for the creation of autonomous intelligent agents. It is intended that these will bring into reality the vision of the semantic web. Superx++ is on a good footing for this because the language itself as well as its objects are XML and therefore can easily implement the encoded information in DAML and RDF documents. So in expectation of achieving this goal I have renamed the language.
Download: Superx++ Run-Time Engine Implementations
There are five implementations of the Superx++ run-time engine that have been built. Each of these serves a different purpose although they all use the same underlying code to interpret Superx++ programs. Click on the links to download them:
1) The COM Superx++ run-time engine
2) The Superx++ ISAPI filter
3) The Superx++ console application (stand alone interpreter)
4) The Superx++ server application
5) The Superx++ ISAPI extension (listener)
6) The Superx++ Test Harness application -- Obsolete!
These implementations run on the Windows NT/2000/XP operating systems. They were written using C++ on a Microsoft Windows PC.
There are also demonstration Superx++ programs that you can start off with to learn the Superx++ language, as well as to get real examples of its special features. These can be downloaded by clicking here.
Download: Free Software
As part of the effort to make Superx++ grow and develop as an useful and used language all deliverables are here free of charge! The license applicable to the run-time engine implementations is the GNU Lesser General Public License. Because this project is an open-source project, both the source code as well as the executables for the Superx++ related software are available.
How to Download
There are two repositories for all the software that you can download for Superx++ beta 0.2.4:
Superx++ Executable -- this is a zip file which contains all the executables for the Superx++ related applications
Superx++ Source -- this is a zip file which contains all the C++ project directories with the source code for the Superx++ related applications
There is a README text file available in both zip files with installation instructions.
Plans For The Near Future
1) Further work on Templx to include full GUI programming.
2) Port the Superx++ interpreter to other platforms other than Microsoft Windows.
The second item is part of making Superx++ become as ubiquitous as XML. Already since it is based on XML, Superx++ retains the same benefits of being able to be transmitted via HTTP and SOAP from one machine to the next over the internet. It is therefore intended to get, not just the code transported to the destination, but get the Superx++ code to be run at the destination also by writing the run-time engines for other platforms.
Lexicon and Special Features List
Before reading the lexicon, please make sure you have read the language version description documents .
Code Library on TopXML
There is a library of Superx++ code snippets and articles on TopXML which you can view by clicking here.
Superx++ was first conceived in early 2001. Work began on the conceptual design of the language after that resulting in the decision to base the language on the grammatical syntax of XML. This decision was made because of the popularity of XML as well as the benefits that come with XML. These benefits are ubiquity, comprehensibility, and the modular structure of the language. Superx++ also has benefits that it introduces: encapsulation of XML data, an active programming interface within XML, adaptive programmability (making it useful in evolutionary, dynamic and autonomic systems).
The language is developed and ready for testing, beta use and portation to other platforms. The general syntax of Superx++ is not at all likely to change; however, there may be some changes based on user feedback. The lexicon of the language is available along with a test harness program that enables you to write and look at Superx++ programs.
Superx++ Version History
|October 10, 2002||beta 0.2.4||The current Superx++ release version. This version implements improvements to shortx and the XML syntax for Superx++. You can read the documentation on beta 0.2.4 and download the software for it by clicking here.|
|September 29, 2002||beta 0.2.3||This version introduced shortx: the alternative text based syntax for Superx++. You can read the documentation on beta 0.2.3 and download the software for it by clicking here.|
|September 8, 2002||beta 0.2.2||This version introduced Superx++ services and courier messaging. You can read the documentation on beta 0.2.2 and download the software for it by clicking here.|
|July 1, 2002||beta 0.2||This version contains various changes and bug fixes that have been requested. It also contains the promised Superx++ ISAPI filter. You can read the documentation on beta 0.2 and download the software for it by clicking here.|
|June 14, 2002||beta 0.1||The original Superx++ release version.|
The FAQ (last updated on Friday June 21, 2002) lists useful questions for those of you who are new to Superx++. Click here to go to the FAQ page.
|September 30, 2002||I published an article on shortx which gives practical examples of shortx use and how it saves on reading and writing effort for Superx++ code. This article can be found in TopXML.|
|July, 2002||I published another general article on Superx++ which mentions courier messaging in addition to an overview of the Superx++ related software. This article can be found in PerfectXML.|
|June 24, 2002||I published an article on Superx++ which introduces the language as well as some important concepts and features. This article can be found in TopXML.|
|July 4, 2002||I published another article on Superx++ beta 0.2 which covers the use of the XppEngFilt ISAPI filter Superx++ interpreter and related issues of XML adaptivity in XML servers. This article can be found in TopXML.|
If you are interested in learning more about Superx++ or are interested in contributing to this effort to port Superx++ to other platforms feel free to contact Kimanzi Mati.