C / C++
Language Development and Selection
In this sequence of modules we examine the programming process, and the use of related computer languages C and C++. The first module presents an overview of the evolution of computer languages, leading to an understanding of their variety. We will also classify languages by their organisation, structure and operation, leading to a typology of computer languages. By examining their evolution we will also be able to understand the current significance and popularity of specific languages. The module then examines the stages involved in learning new languages by building on experience with other languages. In subsequent modules these techniques are applied to learning the C and C++ languages, but are essentially generic.
Program Development in C
C and its derivative C++ are probably today’s widely-used computer languages, across the full range of hardware platforms. This module looks at the overall characteristics of C by seeing how it fits into the language typology developed in the previous module. It goes on to examine the processes of software creation (editing, compiling, linking) in a PC-based C environment. The module also serves to introduce the specific techniques used for working in the Borland Turbo C system.
Programming in C
The next four Modules present a comprehensive (if not exhaustive) description of all the major components of the C language, with the assumption that the reader is familiar with at least one other equivalent language (such as Pascal). Starting with basic structures and constructs (Fundamental Programming Structures in C) we then examine the topics of input/output (Input and Output In C), data structures (Data Structures Using C) and file operations (File Management in C).
Programming in C++
The C language was largely finalised before the development of object-oriented programming techniques in the first half of the 1980s. C++ was created in the mid-1980s to take advantage of these developments. Initially a superset (or extension) of C, the evolution of C++ has come to affect in turn C itself. The three modules 817-819 survey the language, and to examine the basic object-oriented techniques upon which it is based. Module 817 (C++: Object-Oriented C) introduces the language by comparing it with C and defining the differences between the two languages. Module 818 (Encapsulation of Objects and Methods in C++) describes how the basic OOP techniques are accomplished, whilst Module 819 (Inheritance and Virtual Methods in C++) deals with more advanced OOP methodology.
The following are a selection of books on the two major topics covered in this unit: comparative programming languages, C and
Baron, N.S., Computer Languages : A Guide, Penguin, 1988.
Dershem, H. and Ipping, M.J., Programming Languages : Structures And Models, Wadsworth Pub. Co., 1990.
Klerer, M., Design of very high-level computer languages: a user-oriented approach, McGraw-Hill, 1991.
Sebesta, R.W., Concepts Of Programming Languages, Benjamin Cummings Pub. Co., 1989.
Wilson, L.B. and Clark, R.G., Comparative Programming Languages, Addison-Wesley, 1988.
C and C++ Programming
Ammeraal, L., Programs And Data Structures In C, Wiley, 1987.
Barkakati, N., The Waite Group’s essential guide to ANSI C, H.W. Sams, 1988.
Chirlian, P.M., Programming in C++, Merrill Pub. Co., 1990.
Eliason, A.L., C, A Practical Learning Guide, Science Research Associates, 1988.
Flamig, B., Practical Data Structures In C++, Wiley, 1993.
Hansen, A., C programming : a complete guide to mastering the C language, Addison-Wesley, 1989.
Ince, D., Object-Oriented Software Engineering With C++, McGraw-Hill Book Co., 1991.
Kelley, A. and Pohl, I., A book on C: programming in C, 2nd ed., Benjamin/Cummings Pub. Co., 1990.
Koenig, A., C Traps And Pitfalls, Addison-Wesley, 1989.
Lewin, M.H., Elements of C, Plenum Press, 1986.
Purdum, J.J. C Programming Guide, Que Corp., 1985.
Rabinowitz, H. and Schaap, C., Portable C, Prentice Hall, 1990.
Schildt, H., C: The Complete Reference, Osborne McGraw-Hill, 1990.
Shammas, N.C., Introducing C To Pascal Programmers, Wiley, 1988.
Tenenbaum, A. M., Langsam, Y. and Augenstein, M.J., Data Structures Using C, Prentice Hall, 1990.
Winder, R., Developing C++ software , J. Wiley, 1991.