Browse Definitions:

intentional programming (IP)

Intentional programming (IP), also called intentional software, is the rendering of application intentions in a form that can be processed by a computer. In this context, intentions consist of data defining the functions and purposes programmers have in mind as they conceive and develop an application. The term is associated with Intentional Software Corporation, headquartered in Bellevue, Washington. The IP concept originated with engineer Charles Simonyi when he worked for Microsoft .

The IP process begins when a programmer defines a proposed application's intended functions and purposes in WYSIWYG (what you see is what you get) format. Then an automated system uses this information to generate the final product. Successive changes are done at the WYSIWYG level using a system called a domain workbench.

Most programming languages represent source code as text and give symbolic names to object s, variable s or task s. In a complex program it can be difficult to keep track of which name refers to which entity. In IP, all entities are assigned unique private identifiers as well as symbolic names. Whenever the program refers to an object, variable or task, the identifier automatically generates a link to the original entity. If the programmer renames an entity, all references to it update at that moment. This reduces the risk of errors that can be caused by human oversight or by the manual use of the global search-and-replace function in a text editor . It also streamlines the process of versioning .

This was last updated in March 2011

Continue Reading About intentional programming (IP)

Start the conversation

Send me notifications when other members comment.

By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy

Please create a username to comment.


File Extensions and File Formats

Powered by:


  • risk map (risk heat map)

    A risk map, also known as a risk heat map, is a data visualization tool for communicating specific risks an organization faces.

  • internal audit (IA)

    An internal audit (IA) is an organizational initiative to monitor and analyze its own business operations in order to determine ...

  • pure risk (absolute risk)

    Pure risk, also called absolute risk, is a category of threat that is beyond human control and has only one possible outcome if ...


  • federated identity management (FIM)

    Federated identity management (FIM) is an arrangement that can be made among multiple enterprises to let subscribers use the same...

  • cross-site scripting (XSS)

    Cross-site scripting (XSS) is a type of injection security attack in which an attacker injects data, such as a malicious script, ...

  • firewall

    In computing, a firewall is software or firmware that enforces a set of rules about what data packets will be allowed to enter or...



  • business continuity and disaster recovery (BCDR)

    Business continuity and disaster recovery (BCDR) are closely related practices that describe an organization's preparation for ...

  • business continuity plan (BCP)

    A business continuity plan (BCP) is a document that consists of the critical information an organization needs to continue ...

  • call tree

    A call tree -- sometimes referred to as a phone tree -- is a telecommunications chain for notifying specific individuals of an ...


  • volume manager

    A volume manager is software within an operating system (OS) that controls capacity allocation for storage arrays.

  • external storage device

    An external storage device, also referred to as auxiliary storage and secondary storage, is a device that contains all the ...

  • NetApp SolidFire

    NetApp SolidFire is a business division of NetApp Inc. that specializes in all-flash storage systems.


  • hybrid hard disk drive (HDD)

    A hybrid hard disk drive is an electromechanical spinning hard disk that contains some amount of NAND Flash memory.