JADE is a proprietary object-oriented software development and deployment platform product from the New Zealand-based Jade Software Corporation, first released in 1996. It consists of the JADE programming language, Integrated development environment and debugger, integrated application server and object database management system. Designed as an end-to-end development environment to allow systems to be coded in one language from the database server down to the clients, it also provides APIs for other languages, including .NET Framework, Java, C/C++ and Web services. Although a free limited licence is available for development, using the JADE platform requires per-process fees to be paid. Language In syntax, JADE is very similar to Pascal; its syntax is based on the language Modula-2, which was derived from Pascal. While it includes innovations lacking in Pascal or Modula-2, it lacks certain features of other modern object-oriented languages such as C# and Java. JADE is able to import and run LINC 4GL programs and was initially its core role. Programming model Like all of the other popular programming languages used to create database-driven software, JADE is fully object-oriented. JADE was designed to have all the most important features of object-oriented programming, but does not support the overloading of methods or operators, and until Jade 2018 lacked parameterised constructors. Classes in JADE are kept together in schemas. Schemas serve the same purpose as Java packages or namespaces in .NET, but have a hierarchy, and inherit classes from superschemas. This becomes useful especially when programming using the model–view–controller methodology, as model classes can be put in one schema, then the controller and view classes can be built on top of the model classes in a subschema. Program structure JADE programs are 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 allows for multi-user development as the database maintains concurrency control, and with each piece of the code being a separate object in the database, it is often possible to recode