![]() |
||||||||||||||||||||||||||||||||
|
Home/ Principles of Relational Programming Developing software products is challenging. Developers are supposed to resolve complex problems, due to the increasing intricacy and multifariousness of applications. Think about the bill of materials of an aircraft: it includes 150,000 parts. A software application of average complexity level goes in the same direction: it may likely consist of over 200,000 code rows and each row has to fit in perfectly with all others and there must be no margins of error. Just a reckless modification in a single row of code and the whole project will stop running.![]() Graphical representation of the complexity of an application consisting of non-related text files The weakness of traditional methods for software design rests exactly in managing this type of complexity. Even the newest development systems such as Visual Studio and Eclipse are little more than text editors. Think about an application consisting of 1,000,000 Java code rows to be designed with one of these tools. In the event that one code row was modified, how could we come to know what other modifications are required for the system to run? And what further modification would such modifications entail? Such a work method recalls more a craftsmanly than an industrial process. The main advantage of relational programming rests exactly in its ability to manage complex software systems. Software systems are no longer described with millions of dispersed, inconsistent code rows bur are rather represented as a relational structure, a graph, whose software components are generated and stay integrated and connected to one another.
The structure components are the same used for designing the software product: tables, fields, relationships, forms, objects, interfaces, methods, statements. These are not described in a text file but rather as a structure where their properties and relationships are memorized. This relational structure is compiled automatically by In.de into the various types of source codes needed to run the application. The generated code is commented, maintainable and compliant with the market standards at all architecture levels. There are no proprietary runtime systems and the code is one which might be written by expert programmers familiar with the supported architectures and languages (see generated code samples). The first, relevant consequence is that with Instant Developer you just need a single tool to manage the whole software life cycle from the analysis to installation steps and beyond (see learning pathway One Single Tool). In contrast, with traditional development systems programmers have to use a number of tools and languages to design an application, often resulting in inconsistencies, reprocessing sessions and errors.
|
Indice del percorso
|
|||||||||||||||||||||||||||||||