C++ APPLICATION CREATION PHASES


1.0 INTRODUCTION 

Object-oriented  programming  (OOP)  is  a  programming  paradigm  that  uses  “objects”  –  data structures consisting of data fields and methods and their interactions to design applications and computer programmes. Programming techniques may include features such as information hiding, data abstraction, encapsulation, modularity, polymorphism, and inheritance. It was not commonly used  in  mainstream  software  application  development  until  the  early  1990s.  Many  modern programming languages now support OOP. Object-oriented programming has roots that can be traced to the 1960s. As hardware and software became increasingly  complex,  quality  was  often  compromised.  Researchers  studied  ways  to maintain software quality and developed object-oriented programming in part to address common problems  by  strongly  emphasising  discrete,  reusable  units  of  programming  logic.  The methodology focuses on data rather than processes, with programmes composed of self-sufficient modules (objects) each containing all the information needed to manipulate its own data structure. This is in contrast to the existing modular programming which had been dominant for many years that focused on the function of a module, rather than specifically the data, but equally provided for code reuse,  and  self-sufficient reusable units  of  programming logic, enabling collaboration through the use of linked modules (subroutines). This more conventional approach, which still persists, tends to consider data and behaviour separately. An object-oriented program may thus be viewed as a collection of cooperating objects, as opposed to the conventional model, in which a program is seen as a list of tasks (subroutines) to perform. In OOP, each object is capable of receiving messages, processing data, and sending messages to other objects and can be viewed as an independent ‘machine’ with a distinct role or responsibility. The actions (or “operators”) on these objects are closely associated with the object. For example, the data structures tend to carry their own operators around with them (or at least “inherit” them from a similar object or class). Simula  was  the  first  object-oriented  programming  language.  Java,  Python,  C++,  Visual  Basic .NET and Ruby are the most popular OOP languages today. The Java programming language is designed especially for  use  in  distributed  applications  on  corporate  networks  and  the  Internet. Ruby is used in many Web applications.  In this course, C++ will be used for demonstration of the OOP concepts.

PROGRAMMING LANGUAGE 
Welcome to C++, a powerful computer programming language that’s appropriate for technically oriented people with little or no programming experience, and for experienced programmers to use  in  building  substantial  information  systems.  C++  is  one  of  today’s  most  popular  software development languages  C++ evolved from C, which was developed by Dennis Ritchie at Bell Laboratories. C is available for most computers and  is hardware independent. With  careful design, it’s possible to  write C programs that are portable to most computers. C++, an extension of C, was developed by Bjarne Stroustrup in the early 1980s at Bell Laboratories. C++ provides a number of features that “spruce up”  the  C  language,  but  more  importantly,  it  provides  capabilities  for  object-oriented programming.  1.2 C++ STANDARD LIBRARY C++ programs consist of pieces called classes and functions. You can program each piece yourself, but most C++ programmers take advantage of the rich collections of classes and functions in the C++ Standard Library. Thus, there are really two parts to learning the C++ “world.” The first is learning the C++ language itself; the second is learning how to use the classes and functions in the C++ Standard Library. 

1.3 C++ APPLICATION CREATION PHASES.

We now explain the commonly used steps in creating and executing a C++ application using a C++  development  environment.  C++  systems  generally  consist  of  three  parts:  a  program development environment, the language and the C++ Standard Library. C++ programs typically go through six phases: edit, preprocess, compile, link, load and execute. The following discussion explains a typical C++ program development environment.  

Phase 1: Creating a Program 
Phase 1 consists of editing a file with an editor program, normally known simply as an editor. You type a C++ program (typically referred to as source code) using the editor, make any necessary corrections and save the program on a secondary storage device, such as your hard drive. C++ source  code  filenames  often  end  with  the  .cpp,  .cxx,  .cc  or  .C  extensions  (note  that  C  is  in uppercase) which indicate that a file contains C++ source code. See the documentation for your C++ compiler for more information on file-name extensions.  
For  organizations  that  develop  substantial  information  systems,  integrated  development environments (IDEs) are available from many major software suppliers. IDEs provide tools that support the software-development process, including editors for writing and editing programs and debuggers for locating logic errors—errors that cause programs to execute incorrectly. Popular IDEs include Microsoft® Visual Studio 2010 Express Edition, Dev C++, NetBeans, Eclipse and CodeLite. In this course, Dev C++ IDE will be used for demonstration purposes.  

Phase 2: Preprocessing a C++ Program 
In  Phase  2,  you  give  the  command  to  compile  the  program.  In  a C++  system,  a  preprocessor program  executes  automatically  before  the  compiler’s  translation  phase  begins  (so  we  call preprocessing Phase 2 and compiling Phase 3). The C++ pre-processor obeys commands called preprocessor  directives,  which  indicate  that  certain  manipulations  are  to  be  performed  on  the program before compilation. These manipulations usually include other text files to be compiled, and perform various text replacements.  

Phase 3: Compiling a C++ Program 
In Phase 3, the compiler translates the C++ program into machine-language code – also referred to as object code.  

Phase 4: Linking 
Phase 4 is called linking. C++ programs typically contain references to functions and data defined elsewhere, such as in the standard libraries or in the private libraries of groups of programmers working on a particular project. The object code produced by the C++ compiler typically contains “holes” due to these missing parts. A linker links the object code with the code for the missing functions to produce an executable program (with no missing pieces). If the program compiles and links correctly, an executable image is produced.

Phase 5: Loading 
Phase 5 is called loading. Before a program can be executed, it must first be placed in memory. This is done by the loader, which takes the executable image from disk and transfers it to memory. Additional components from shared libraries that support the program are also loaded.

Phase 6: Execution 
Finally, the computer, under the control of its CPU, executes the program one instruction at a time. Some modern computer architectures can execute several instructions in parallel

Comments

Popular posts from this blog

Join our WhatsApp group For Job And Education Updates In Tanzania

Michoro ya Majengo ya Hospitali za Wilaya Tanzania Bara

New 21++ Jobs Job Opportunities At Mbeya University of Science and Technology (MUST) | Application Deadline 16th March, 2019