Programming in the large

Programming in the large

In software development, programming in the large can involve programming by larger groups of people or by smaller groups over longer time periods. Either of these conditions will result in large, and hence complicated, programs that can be challenging for maintainers to understand.

With programming in the large, coding managers place emphasis on partitioning work into modules with precisely-specified interactions. This requires careful planning and careful documentation.

With programming in the large, program changes can become difficult. If a change operates across module boundaries, the work of many people may need re-doing. Because of this, one goal of programming in the large involves setting up modules that will not need altering in the event of probable changes.

Programming in the large requires abstraction-creating skills. Until a module becomes implemented it remains an abstraction. Taken together, the abstractions should create an architecture unlikely to need change. They should define interactions that have precision and demonstrable correctness.

Programming in the large requires management skills. The process of building abstractions aims not just to describe something that can work but also to direct the efforts of people who will make it work.

The concept was introduced by "Frank DeRemer" and "Hans Kron" in their 1976 paper "Programming-in-the-Large Versus Programming-in-the-Small", IEEE Trans. on Soft. Eng. 2(2).

----

In computer science terms, "programming in the large" can refer to programming code that represents the high-level state transition logic of a system. This logic encodes information such as when to wait for messages, when to send messages, when to compensate for failed non-ACID transactions, etc. "Programming in the small", in contrast, deals with short-lived programmatic behavior. often executed as a single ACID transaction and which allows access to local logic and resources such as files, databases, etc.

A language that was designed to explicitly support programming in the large is BPEL.


Wikimedia Foundation. 2010.

Игры ⚽ Нужен реферат?

Look at other dictionaries:

  • Programming in the large and programming in the small — Programming paradigms Agent oriented Automata based Component based Flow based Pipelined Concatenative Concurrent computin …   Wikipedia

  • Programming in the small — In computer science terms, programming in the small deals with short lived programmatic behavior, often executed as a single ACID transaction and which allows access to local logic and resources such as files, databases, etc.In contrast,… …   Wikipedia

  • Programming productivity — refers to a variety of software development issues and methodologies affecting the quantity and quality of code produced by an individual or team. Key topics in productivity discussions have included:* Amount of code that can be created or… …   Wikipedia

  • Programming paradigm — Programming paradigms Agent oriented Automata based Component based Flow based Pipelined Concatenative Concu …   Wikipedia

  • Programming language — lists Alphabetical Categorical Chronological Generational A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that… …   Wikipedia

  • The Long Tail — The phrase The Long Tail (as a proper noun with capitalized letters) was first coined by Chris Anderson in an October 2004 Wired magazine article [ [http://www.wired.com/wired/archive/12.10/tail.html The Long Tail ] by Chris Anderson, Wired , Oct …   Wikipedia

  • Large Group Awareness Training — The term Large Group Awareness Training (LGAT) refers to training offered by some groups in what some call the human potential movement. By using LGAT techniques, these providers claim to (among other things) increase self awareness and bring… …   Wikipedia

  • Computer programming in the punched card era — Punched card from a Fortran program. From the invention of computer programming languages up to the mid 1980s, many if not most computer programmers created, edited and stored their programs on punched cards. The practice was nearly universal… …   Wikipedia

  • Programming style — is a set of rules or guidelines used when writing the source code for a computer program. It is often claimed that following a particular programming style will help programmers to read and understand source code conforming to the style, and help …   Wikipedia

  • The Zone — is the flagship weekday afternoon programming block on the Canadian television channel YTV. It airs between 4:00 p.m. and 6:00 p.m. ET in Canada and is familiar to many Canadians who have grown up watching YTV since the early 1990s. It consists… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”