JADE (programming language)
JADE is an object-oriented programming language that exhibits a seamlessly integrated object-oriented database management system. It is designed to be an end-to-end development environment, which allows systems to be coded in one language from the database server at one end down to the clients at the other.
As a programming language, its main competitors are Java and .NET, while as a database it competes with other object-oriented database and post-relational databases such as Caché and Matisse as well as traditional relational database software packages such as Oracle and Microsoft SQL Server.
Language
In terms of syntax, JADE is very similar to Pascal. It was actually based on the language Modula 2 which was based on Pascal. However, being a much newer language, it has many differences.
Programming model
Like all of the other popular programming languages used to create database-driven software, JADE is object-oriented to the core. JADE was designed to have all the most important features of object-oriented programming, but it was also designed to make programming simple, and so does not exhibit the full range of tools that some other languages do. For example, JADE does not support the overloading of methods or operators. This may seem like a big loss to some programmers, but for programming database applications which is what JADE is designed for, the parts that are left out do not end up being major drawbacks, as they are almost never needed.
Originally JADE did not support interfaces or static variables, but interfaces are planned to be included in the JADE 6.1 release, which is expected to be out September 2005, and static variables are intended to be released with JADE 6.2 - expected Quarter 3 2006.
Program structure
JADE applications are structured quite differently from most programming languages in the fact that JADE programs are not developed by writing code into long files and then compiling all the files together. JADE programs are actually developed using a user interface that allows programmers to visually create classes and define their properties and methods. Instead of locating methods in large files, programmers select the method they would like to edit and only the code for that particular method is displayed. Also instead of compiling all the code of a program at once, in JADE, each method is compiled individually as soon as the method is completed, meaning code can be checked immediately.
All the code for a JADE application is stored in its object-oriented database. This has a number of advantages. First, it allows for multi-user development, as the database maintains concurrency control. Second, with each piece of the code being a separate object in the database, in a lot of the cases it is possible to recode the system while it is live, online and in use.
Features
The most striking difference between JADE and other object-oriented programming languages is that its object-oriented database is a native part of its language. For example, when creating an object in JADE, it can be created as transient or persistent. Creating an object as transient is just the same as creating objects in other object-oriented programming languages. The object is simply created in memory, and then lost when the program ends. On the other hand, when an object is created as persistent, when the program ends, the object will still exist and be there the next time the program starts up. In other words, when an object is persistent JADE automatically works in the background to store and retrieve the object in the database when necessary.
The only differences between manipulating a persistent object and manipulating a transient object revolve around concurrency control, as all the clients in connected to the database server will be able to see and manipulate the objects which are stored persistently. In general, the only real difference is persistent objects can only be updated during transactions, like any other DBMS, but otherwise the code to manipulate persistent objects is no different from manipulating transient objects. It has been said that JADE makes it appear to the programmer as if all the objects in the entire database were in memory.
History
The concept of JADE was originally conceived by Sir Gil Simpson and is currently maintained by the Jade Software Corporation. It was released September 1996.
See Also
- Object Oriented Programming
- Object Oriented Database Management Systems
- Object-relational mapping
- Database Management Systems