Handbook of Software for Engineers and Scientists

Chapter 14 – C++ and Objective C

excerpt notice
This is a hypertext version of chapter 14 of the book Handbook of Software for Engineers and Scientists, published by CRCPress in 1996. Please read the Introduction section to understand the context in which this was written.

4.0 Summary and Comparison

Every significant feature of C++ and Objective C can be considered to be either a weakness or a strength, depending on your perspective. The main philosophical difference between the two is the static nature of C++ versus the dynamic nature of Objective C. For the C programmer new to OO programming, the choice is primarily between the feature-rich and complex C++, with its wide industry acceptance, or the easier-to-learn, more flexible, but less widely used, Objective C.

The interesting characteristics of C++ are summarized in Table 4. This summary is ordered by generality, with specific language features considered last.

The interesting characteristics of Objective C are summarized in Table 5. This summary is ordered by generality, with specific language features considered last.

4.1 References

4.1.1 C++ References

Cargill, Tom 1992. C++ Programming Style, Addison-Wesley, Reading, MA.

Deitel, H.M. and Deitel, P.J. 1994. C++ How To Program, Prentice-Hall, Englewood Cliffs, NJ.

Ellis, Margaret and Stroustrup, Bjarne 1990. The Annotated C++ Reference Manual, Addison-Wesley, Reading, MA.

Graham, Neill 1991. Learning C++, McGraw-Hill, New York, NY.

Lippman, Stanley B. 1991. C++ Primer, Addison-Wesley, Reading, MA.

Meyers, Scott 1992. Effective C++, Addison-Wesley, Reading, MA.

Stroustrup, Bjarne 1991. The C++ Programming Language, 2nd ed. Addison-Wesley, Reading, MA.

4.1.2 Objective C References

Budd, Timothy. 1991. An Introduction to Object-Oriented Programming, Addison-Wesley, Reading, MA.

Cox, Brad. 1991. Object Oriented Programming: An Evolutionary Approach, Addison-Wesley, Reading, MA.

NeXT Computer, Inc. 1993. Object-Oriented Programming and The Objective C Language, Addison-Wesley, Reading, MA.

Pinson, Lewis J. and Wiener, Richard S. 1991. Objective C: Object-Oriented Programming Techniques, Addison-Wesley, Reading, MA.

4.2 Further Information

4.2.1 C++ Sources

The Annotated C++ Reference Manual, by Ellis and Stroustrup, and The C++ Programming Language, by Stroustrup, are the ultimate sources for determining the meaning of C++ features. Neither makes a good first book to learn C++. For a first book, Graham or Lippman are better choices. Lippman is much more thorough; Graham covers the essentials. Deitel and Deitel offer complete coverage, with useful examples and tips.

Once basic familiarity with C++ is achieved, the book by Meyers is an invaluable tool for understanding how to really use the language. Organized around 50 items of advice for C++ programming, with clear and detailed explanations of each, this book can not only improve your programs, but also your understanding of the language. Cargill's book is similar to Meyers' book in providing understanding beyond a simple description of features.

The following document is a collection of references to tutorials, code collections, white papers, etc, for learning C and C++: "Learn C/C++ Today" at BarcodesInc.

4.2.2 Objective C Sources

The inventor of Objective C, Brad Cox, also wrote one of the first books on OO programming. Cox describes Objective C and uses it to teach the principles of OO programming. This is not a language tutorial.

The NeXT Computer Inc. book is the best tutorial and reference for the language. Some of the information is specific to the NEXTSTEP compiler.

Budd has an excellent book on OO programming, as well as a comparison and examples of several OO languages, among them Objective C.