Content deleted Content added
Wavelength (talk | contribs) inserting 1 hyphen: —> "Invariant-based" (attributive adjective) |
his → their |
||
Line 1:
'''Invariant-based programming'''<ref>Back, Ralph-Johan: Invariant Based Programming: Basic approach and Teaching Experience, Formal Aspects of Computing, 14 February 2008, ISSN 0934-5043 (Print) 1433-299X (Online)</ref> is a programming methodology where [[Formal specification|specifications]] and [[Invariant (computer science)|invariants]] are written before the actual program statements. Writing down the invariants during the programming process has a number of advantages: it requires the programmer to make
In most existing programming languages the main organizing structures are control flow blocks such as [[For loop|<tt>for</tt> loops]], [[While loop|<tt>while</tt> loops]] and [[If statement|<tt>if</tt> statements]]. Such languages may not be ideal for invariants-first programming, since they force the programmer to make decisions about control flow before writing the invariants. Furthermore, most programming languages do not have good support for writing specifications and invariants, since they lack quantifier operators and one can typically not express higher order properties.
|