|[ LiB ]|
In the1960s software development went through a number of growing pains. Development schedules often ran far behind predictions , costs were much higher than projected , and often the end software product was unreliable or buggy . People began to realize that software development was extremely difficult, and some folks began to research development methods of this new field to see what could be improved. Out of this research came the concept of structured programming.
Structured programming is a method of programming designed to help make large programs easier to read and is a predecessor to Object-Oriented Programming. Structured programs are usually illustrated in simple graphs that have a top-down approach and flow. Figure 1.3 illustrates a structured-programming graph in which the circles represent starting and ending points, the squares represent program blocks, and the diamonds represent branches.
Object-Oriented Programming (or OOP) is actually a design methodology that defines programs in terms of objects. Objects are entities that combine both state (data) and behavior (methods). In pure OOP, programs are sets of objects that communicate with each other to do various tasks . This is a pretty different design than procedural languages (the standard before OOP), where data and procedures are separated.
Unfortunately, there is some disagreement about exactly what features are required to qualify a programming language as "object-oriented," so giving a definitive description of an OOP language is difficult. Traditionally, the first OOP language is considered to be Simula 67, whose OOP features were later refined with Smalltalk. OOP really took off in the mid 1980s with C++some argue because it was well suited to make GUIs, which were booming in popularity. OOP features were then added to several languages, such as Perl, Ada, BASIC, Lisp, and Pascal, and several new languages that embraced the OOP methodology were developed, like Java and Eiffel.
The main idea behind structured programming is to divide and conquer. As computers, technology, and software have advanced, programs have become larger and more difficult to write and maintain. Structured programming breaks down complex programs into simple tasks. The rule of thumb is that if a task is too complex to be described simply, then the task needs to be broken down further. When the task is small enough to be self contained and easily understood , then the task can be programmed.
Structured programming gave rise to a number of other movements, Object-Oriented Programming being one of the more important ones. A number of languages in the 1980s begin to pick up OOP features. In 1987 Apple creates a language called HyperTalk, used to script Hypercard stacks. This preempted the release of Perl in 1988, a still popular higher-level language that combined popular aspects of C, SED, AWK, and CSH (see Figure 1.4).
|[ LiB ]|