Control table: Difference between revisions

Content deleted Content added
Disadvantages: Normalize layout
Advantages: Consistent formatting
Line 271:
 
==Advantages==
; clarityClarity: [[table (information)|information tables]] are [[ubiquitous computing|ubiquitous]] and mostly inherently [[understanding|understood]] even by the [[general public]] (especially [[fault diagnosis|fault diagnostic]] tables in [[user guide|product guides]])
 
; portabilityPortability: can be designed to be language and platform independent {{endash}} except for the interpreter
 
; flexibilityFlexibility: ability to execute either [[language primitive |primitives]] or [[subroutine]]s transparently and be custom designed to suit the problem
 
; compactnessCompactness: table usually shows condition/action pairing side-by-side (without the usual platform/language implementation dependencies), often also resulting in reduced binary file size due to less duplication of instructions, reduced source code size due to eliminating conditional statements and reduced program load (or download) speeds
 
; maintainabilityMaintainability: tables often reduce the number of source lines needed to be maintained v. multiple compares
 
; localityLocality of reference: compact tables structures result in tables remaining in [[cache (computing)|cache]]
 
; codeCode re-use: the interpreter is usually reusable. Frequently it can be dapted to new programming tasks using the same technique and can grow organically, becoming, in effect, a [[standard library]] of tried and tested [[subroutines]], controlled by the table definitions.
 
; efficiencyEfficiency: system wide optimization possible. Any performance improvement to the interpreter usually improves ''all'' applications using it (see examples in 'CT1' above).
 
; extensibleExtensible: new instructions can be added by extending the interpreter
 
Optionally: