Superx++ |
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.
History
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).
Current State
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.
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. |
FAQ
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.
Relevant Articles
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. |
Contact
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.