A declarative method is a paradigm of programming in which the desired result, the WHAT is ‘declared’, is specified. In contrast, the imperative method is based on the specification of concrete sequences of commands that the system must pass through to achieve the desired result. So here we are talking about the HOW. Transferred to an everyday situation, a route description with all information on the course of the road, turning at intersections, etc. could be described as an imperative approach: HOW do I get to my destination? While the input in a navigation system corresponds to the declarative method: WHAT is the destination?
An example from document design: A document template should contain a table with any number of rows. When a page break occurs, subtotals and carryovers as well as the final totals are to be output. In an imperative system, variables have to be defined, filled, added, formatted and output, etc. In the declarative system, the administrator simply chooses the ‘Table’ function, defines the columns and chooses one of the stored layouts – the table is ready.
Possibilities and limits
The strengths and weaknesses of the respective methods result from the different approaches.
Declarative document design is more intuitive to use and therefore faster & easier to implement template concepts.
- The solutions are always transparent, easy to administer and to communicate.
Declarative procedures are a form of standardization of functions, methods and solutions.
- The range of functions corresponds exactly to that stored in the product – there are no alternative or creative ‘special paths’.
Imperative procedures mean that the supervisor has to find his or her own solutions.
- This creates flexibility for complex or unforeseen problems, but also requires a lot of know-how and bears the risk of ‘abusing’ the system – for example for functions similar to specialist processes for which it is not intended.
Conclusion: declarative where possible – imperative where necessary
Different tasks require different methods. The preparation of supplied data from external systems can usually only be solved by the imperative approach, because the data formats are usually very different and elude a standardized, declarative solution.
The design of forms and other document templates, on the other hand, can be implemented completely declaratively in the graphic designer. This allows the administrator/designer to concentrate fully on the factual and design level. This shows the enormous potential of this approach, which can simplify and accelerate the majority of document development. The standardization makes the solutions easy to understand and facilitates the transfer of knowledge such as support by employees and external consultants.
A system that is declarative at its core, such as M/TEXT TONIC, is the key to making the increasingly complex design of processes and templates manageable through intuitive, efficient handling. The employees enjoy their work and are at the same time able to deliver the necessary documents for the new service offerings quickly and flexibly. And this will be the key factor in the future.