The traditional way we write programs is still used in many software designs. The primary reasons are:
Used extensively in industries where systems are modeled well as
state machines. (e.g. process control, telephony)
There is an entire industry (process control systems) devoted to
providing tools and support for such development.
The MVC architecture is a fundamental part of the Smalltalk language
but can be used by any designer. According to the model, a
software application consists of three parts:
A parallel application includes two or more tasks (processes) that together
comprise the software system. Parallel applications can run on a
single computer or a parallel processor.
Good reasons for writing a parallel program.
An event driven program comprises a set of functions that are called by the environment. (e.g. processLeftButton is called when the user presses the left mouse button)
Modern graphical environments (e.g. Windows, Motif, Presentation Manager) are event driven environments; you have little choice if your platform is one of those.
Real-time systems are also event-driven; events are external interrupts that trigger an appropriate function.
There are at least two programs. One, the client, requests information
or services from servers. Servers provide services to clients. Generally,
the two programs are on different computers but this is not required.
Client-server architecture is very important
for a variety of reasons: