Resources - Programming in C (Fourth Edition) (2015)

Programming in C (Fourth Edition) (2015)

E. Resources

This appendix contains a selective list of resources you can turn to for more information. Some of the information might be online at a website or available from a book.

The C Programming Language

The C language has been around for more than 40 years now, so there’s certainly no dearth of information on the subject. The following is just the tip of the iceberg.

Books

Kernighan, Brian W., and Dennis M. Ritchie. The C Programming Language, 2nd Ed. Englewood-Cliffs, NJ: Prentice Hall, Inc., 1988.

This has always been the bible as far as a reference for the language goes. It was the first book ever written about C, cowritten by Dennis Ritchie, who created the language. Despite being more than 25 years old, the second edition is the most recent edition, and it still is considered an indispensable reference.

Harbison, Samuel P. III, and Guy L. Steele Jr. C: A Reference Manual, 5th Ed. Englewood-Cliffs, NJ: Prentice Hall, Inc., 2002.

Another excellent reference book for C programmers.

Plauger, P. J. The Standard C Library. Englewood-Cliffs, NJ: Prentice Hall, Inc., 1992.

This book covers the standard C library, but as you can see from the publication date, does not cover any of the ANSI C99 additions (such as the complex math library).

Websites

www.ansi.org

This is the ANSI website. You can purchase the official ANSI C specification here. Type 9899:2011 into the search window to locate the ANSI C11 specifications.

www.opengroup.org/onlinepubs/007904975/idx/index.html

This is a great online reference source for library functions (there are also non-ANSI C functions here).

Newsgroup

comp.lang.c

This is a newsgroup devoted to the C programming language. You can ask questions here and help other people out as well—after you gain more experience. It’s also useful just to observe the discussions. A good way to get access to this newsgroup is through http://groups.google.com.

C Compilers and Integrated Development Environments

Following is a list of websites where you can download and/or purchase C compilers and integrated development environments (IDEs), as well as obtain online documentation.

gcc

http://gcc.gnu.org/

The C compiler developed by the Free Software Foundation (FSF) is called gcc. You can download a C compiler for no charge from this website.

MinGW

www.mingw.org

If you want to get started writing C programs in a Windows environment, you can get a GNU gcc compiler from this website. Also consider downloading MSYS as an easy-to-use shell environment in which to work.

CygWin

www.cygwin.com

CygWin provides a Linux-like environment that runs under Windows. This development environment is available at no charge.

Visual Studio

http://msdn.microsoft.com/vstudio

Visual Studio is the Microsoft IDE that allows you to develop applications in a variety of different programming languages.

CodeWarrior

www.freescale.com/webapp/sps/site/homepage.jsp?code=CW_HOME

Originally offered by Metrowerks, but now from a company called Freescale, CodeWarrior offers professional IDE tools that run on a variety of operating systems, including Linux, Mac OS X, Solaris, and Windows.

Code::Blocks

www.codeblocks.org

Code::Blocks is a free IDE in which you can develop C, C++, and Fortran applications on a variety of platforms, including Windows, Linux, and Mac.

Miscellaneous

The following sections include resources for learning more about object-oriented programming and development tools.

Object-Oriented Programming

Budd, Timothy. The Introduction to Object-Oriented Programming (3rd Edition). Boston: Addison-Wesley Publishing Company, 2001.

This is considered a classic text that introduces object-oriented programming.

The C++ Language

Prata, Stephen. C++ Primer Plus (6th Edition). Indianapolis: Addison-Wesley, 2011.

Stephen’s tutorials have been well received. This one covers the C++ language.

Stroustrup, Bjarne. The C++ Programming Language (4th Edition). Boston: Addison-Wesley Professional, 2013.

This is a recent update to the classic text on the language written by its inventor.

The C# Language

Petzold, Charles. Programming in the Key of C#. Redmond, WA: Microsoft Press, 2003.

This book has received recognition as a good book for beginners on C#.

Liberty, Jesse. Programming C# 3.0,. Cambridge, MA: O’Reilly & Associates, 2008.

A good introduction to C# for more experienced programmers.

Albahari, Joseph and Ben Albahari. C# 5.0 in a Nutshell: The Definitive Reference. Sebastopol, CA: 2012.

An excellent reference, particularly after you know the basics of the language.

The Objective-C Language

Kochan, Stephen. Programming in Objective-C (Sixth Edition). Indianapolis: Sams Publishing, 2013.

Written by yours truly, it provides an introduction to the Objective-C language without assuming prior C or object-oriented programming experience. This edition covers OS X Mavericks and iOS 7. A new edition of the book, expected to be available in late 2014 or early 2015, will cover Apple’s new Swift programming language.

https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html

While not a book per se, this online document is the official Apple introduction to how to program with the Objective-C language. It demonstrates many of the features of the language and provides examples of their use.

Development Tools

www.gnu.org/manual/manual.html

Here, you’ll find a plethora of useful manuals, including ones on cvs, gdb, make, and other Unix command-line tools as well.

Image

Image