10) Title: COMP.LANG.C++ FAQ Filename: FAQ Author: Marshall P. Cline, Ph.D. E-mail: cline@parashift.com URL: ftp://sun.soe.clarkson.edu/pub/C++/FAQ Wow!!! That's really all I can say about this collection of questions and answers for C++ and Object Oriented Programming (OOP). This is the complete FAQ for the Newsgroups COMP.LANG.C++ compiled by Dr. Marshall Cline. I have been programming in C++ for a few months and am far away from being an 'expert', and this compilation helped me enormously. Once again, this is not for the person that is starting to learn C++, but if you've already taken the first step, this FAQ is for you. If you don't have ftp, you can also receive it via e-mail by sending a message to archive-server@sun.soe.clarkson.edu with the subject `send C++/FAQ'. The C++ FAQ has been released as a book called `C++ FAQS -- Frequently Asked Questions' by Addison-Wesley. The book is a complete re-write and contains about 5 times the material that is indexed and cross referenced. Check out the book section for a review of the book. The FAQ will still be posted in the Newsgroup comp.lang.c++, but if you find the FAQ helpful, you should really buy the book. 11) Title: C++ on the World Wide Web Filename: C++.html Author: Marcus Speh E-mail: marcus@x4u.desy.de URL: http://uu-gna.mit.edu:8001/uu-gna/text/cc/index.html This is one of the award wining courses at the 1st WWW conference (congratulations Marcus. great job). One of the newest addition here is the Dorill C++ course converted to HTML. There is a wealth of information on C++ available on the World Wide Web (WWW). The World Wide Web (WWW) is a wide area hypermedia information retrieval system that gives the user universal access to a large universe of documents. One of the most popular to the Web is called Mosaic developed by NCSA. Mosaic is an Internet based global hypermedia browser that allows you to discover, retrieve and display documents and data from all over the world. Global hypermedia means that information located around the world is interconnected in an environment that allows you to travel through the information by clicking on hyperlinks-- terms, icons or images in documents that point to other related documents. Here's the URL (Uniform Resource Locator) for the C++ Virtual Course. http://uu-gna.mit.edu:8001/uu-gna/text/cc/index.html You might also want to connect to info.desy.de and browse. I found a lot of great items such as documents and sources on C++ and Object oriented programming, Internet groups for discussions and questions on C++, discussion of Object-Oriented Literate Programming and many other postscript papers. http://info.desy.de/general/users.html 12) Title: Programming in C Filename: index.html Author: Jutta Degener E-mail: jutta@cs.tu-berlin.de URL: http://www.lysator.liu.se/c/index.html This is really one of the best collection of C related items out there on the World Wide Web maintained by the Lysator computer society, an association of computer science students at Linkoping University, Sweden. Here's a list of some of the items. There is a great section on ANSI C, reviews of 3 books and a list of errata from 2 books. There is a very interesting paper called `A development of the C language' by Dennis Ritchie that traces the origin of the language we know and love today. There is a HTML version of Kernighan's historical "Programming in C: A Tutorial" from 1974 (that describes an early version of C, four years before K&R. WARNING: DO NOT USE THIS DOCUMENT AS A TUTORIAL); also included are the "Ten Commandments for C Programmers (Annotated Version)" and a HTML version of Steve Summit's comp.lang.c FAQ. Books: ------ [1] "The C Programming Language" (2nd ed.) Brian W. Kernighan & Dennis Ritchie Prentice Hall ISBN: 0-13-110362-8 This is the second edition of the original Kernighan & Ritchie (K&R) text. This book is commonly referred to as the New Testament as it includes the modifications incorporated by the ANSI standard, while retaining the nature of the 1st edition. This book assumes that the reader has some basic programming knowledge. So if you're just starting to program and C is the first language, this might not be the ideal book. This is one of THE BEST books on C and a must have, especially if you're starting your own little programming library. [2] "Programming in ANSI C" (Revised edition: 1994) Kochan, Steven SAMS Publishing ISBN 0-672-30339-6 This book by Steve Kochan is absolutely the best book for anyone starting out programming in C. This is an excellent introductory text with frequent examples and good text. This book makes no assumptions about the particular computer system or operating system on which the C language is implemented. This books is written for novices and experienced programmers alike. I love this book as the comprehensive 'teach by examples' book can help you master the unique features of the C language. There is complete coverage of program looping, decision making, arrays, strings, pointers and bit operations and helpful end-of-chapter exercises. This is the book I used to learn C and it really is a great book. The K&R book is really great as a reference, but not as the first book. [3] "Expert C Programming: Deep C Secrets" Peter Van Der Linden SunSoft Press. (ISBN 0-13-177429-8) Peter has written one of the greatest books to hit the computer book stands in a long time! This is not your typical C book, but is rather a fun book to read. As I told Peter, most C programming texts are really boring as all they do is describe the functions, give a abstract example and then move onto something different. This book is chock full of real world C stories and folklore, including a story about the C bug that brought down the AT&T network. I found the tongue-in-cheek attitude and real world examples/stories very, very interesting. Run, don't walk, down to your local store and buy this book. I really really loved this book, and I read most of it in one sitting. There is also a great introduction to C++ for C programmers that will get you started with C++ and Object-Oriented programming. This book is not for beginners, but is a great second book on C. Expert C Programming is also ideal for those C programmers who want to move to C++. According to the author, the book puts the "fun" back in "functions" :) [4] "C: The Complete Reference" (2nd ed.) Schildt, Herbert. Osbourne/McGraw-Hill. (ISBN 0-07-881538-X). This is a pretty good C language reference book. I am more partial to the Microsoft C Bible as a reference but this is not a bad book at all. If you're a beginning C programmer or a seasoned pro, the answers to most of C questions can be found in this one-step resource. This book presents an extensive summary of C library functions defined by ANSI and many common extensions including UNIX. This book is a must for that perfect programmer library. [5] Absolute Beginner's Guide to C Perry, Greg SAMS Publishing. ISBN 0-672-30341-8 This is a absolutely beginner's book. If you have never programmed before, this book is for you. No knowledge of any programming concept is assumed. I like the fact that this book talks to you at your level without ever talking down to you. This book does not try to overwhelm the beginners with a lot of technical details while emphasizing introductory principles. If you've never programmed, this is the book for you. If you are familiar with programming, I would suggest either 'The C programming language' by Kernighan & Ritchie or 'Programming in ANSI C' by Kochan. [6] Microsoft C Bible. 1990 (2nd ed.) Waite Group Staff. Howard W. Sams & Company. ISBN 0-672-22620-0 This book is a must for every programmer, especially those who program in the DOS environment. The Bible organizes and simplifies the information contained in Microsoft's C library. Each function page gives the purpose, syntax, example call, includes, common uses, returns and examples. The book also has compatibility check boxes, so you can be sure your program compiles with the Microsoft C v5.0-7.0, Microsoft Quick C, Borland Turbo C and UNIX system V compilers. [7] Teach Yourself C++ 1992 Herbert Schildt Osborne McGraw-Hill. ISBN 0-07-881760-9 Teach Yourself C++ is another great book from Herbert Schildt who is more popular for his great C books. This book is especially designed for programmers who already know how to program in C. Based on a 15-minute lesson format, this book includes a lot of exercise and skill checks to make sure your programming abilities grow by each chapter. This book is really the perfect introductory guide for anyone who already knows how to program in C. According to my sources, this book is currently under revision. There are several items missing from this book as it was written before C++ was finalized. I still think it is a pretty nice book. [8] The C++ Programming Language (2nd edition) Bjarne Stroustrup Addison Wesley (ISBN 0-201-53992-6) Bjarne Stroustrup is the designer of C++ and has written 2 great books on C++. This book is divided into three parts: The first part provides a tutorial introduction to C++. The second part presents a discussion of design and software development issues arising in connection with the use of C++ and the third part is a complete reference manual. With the popularity of C++, several independent distributions of C++ have come forward, but the book discusses 'pure C++;' that is, no implementation dependent extensions are used. I have been programming in C++ for a while and yet found this book very helpful. One of the best way to learn a programming language is by writing small programs relevant to the item you study. There are exercises at the end of each chapter to test/apply what you learned in that particular chapter. This wasn't the book I used to learn C++ and I only recently got it from DEC [DEC ships this book with their C++ compiler in lieu of real documentation :)], but I wish I had gotten it sooner. This is really a great book and worth every penny. If anyone has an extra copy of 'The annotated C++ reference' by the same author, drop me a line. I've already spent about $1400.00 this year on books and I can't afford to spend anymore. :) [9] Using Visual C++ Shammas, Namir Que Corporation ISBN: 1-56529-626-5 A lot of people have e-mailed me asking for recommendation for a Visual C++/MS-Windows programming book and the one I use/recommend is 'Using Visual C++'. This book is aimed at readers who are already familiar with C++ and Windows. This book covers many programming topics that use C++ and the Microsoft Foundation Classes (MFC). This book starts with an overview of the Visual C++ workbench and the MFC hierarchy. The book also discusses the AppWizard, ClassWizard and App Studio utility. This book really lets you take full advantage of the C++ compiler and all the utilities that come with it. Microsoft provides a lot of great information with the compiler package, but I found it hard to look through 20 different manuals to find some basic information. By the time you finish this book, you will be ready to create your own MS-Windows applications. Windows programming is pretty complex, but this comprehensive guide shows you efficient and proven techniques to build powerful applications. Another great book is 'Visual C++: A Developer's Guide' by Alex Leavens. (ISBN 1-55851-339-6) This book explores the comprehensive set of programming tools that come with Visual C++. This book shows you how to take advantage of MFC, OLE 2.0, add sounds to various Windows systems events and creating icons, cursors and bitmaps images. [10]C++ Primer (2nd edition) Lippman, Stanley B Addison Wesley ISBN 0-201-54848-8 The C++ Primer is a great book and will make learning C++ a joy. This really is one of the best books C++ book out there, but it assumes a lot of familiarity with programming concepts and a proficiency in C. Everyone I know who uses C++ recommends this book very highly. If you are interested in learning more about Object Oriented Program, you might consider buying "Object Oriented Design" by Peter Coad and Edward Yourdon" (ISBN 0-13-630070-7) [11]"C++ FAQs: Frequently Asked Questions" Marshall P. Cline and Greg A. Lomow Addison-Wesley ISBN 0-201-58958-3 When I first heard about the book, it thought it would just be a reprint of the electronic version of the FAQ, but I was pleasantly surprised when I got my hands on the book (Thanks Deborah) This is no mere reprint. This is a *great great* book that contains answers to about 500 questions on programming, design, analysis and testing. This book is not for beginners, but for programmers who have figured out the syntax of the language, and are looking to implement them. If you have questions like "What is a class invariant?", "How should I use exceptions?", "What happens when a destructor is executed?", then this is the book for you. This is a very practical book that contains answers to some real-world programming questions that will really help anyone involved with software development. I just wish I had this book around when I was taking my C++ classes. Unlike other books, this book contains about 200 complete program rather than code snippets that leave you guessing about the implementation. This book is a definite jem and should be in every single programmers library. Go out and buy 2 copies of this book: One for the office and one for the nightstand at home. [12]Learn C++ on the Macintosh Dave Mark Addison-Wesley ISBN 0-201-62204-1 This book comes with a customized version of Symantec C++ for the Macintosh. In addition, there is a coupon for obtaining the complete version of Symantec C++ at a much reduced price. I would recommend this book for those who are just beginning to program in C++; however, it does assume at least a working knowledge of C. There is a quick review of C at the beginning. Dave Mark also has a book 'Learn C on the Macintosh'. It has the same great style and comes highly recommended. Thanks Lizann Bolinger. Conclusion: C and C++ are great programming languages that can make programming a lot of fun. One of the best ways to learn is by taking a programming class. See if you can take a class at your school, or take a class at night school. Programming in C/C++ is a skill that could end up saving you your job or help you get a better job. I hope these tutorials help you in your quest to learn the C and C++ programming language. Acknowledgment: --------------- Steve Summit scs@eskimo.com Lizann Bolinger bolinger@zeno.ibd.nrc.ca Blake Sobiloff sobiloff@mail.lap.umd.edu Alex Wu wua@cpsc.ucalgary.ca Ian Jackson ijackson@nyx.cs.du.edu Peter Vanderlinden Peter.Vanderlinden@eng.sun.com Robin Schogol rschogol@lehman.com Marcus Speh marcus@x4u.desy.de Jutta Degener jutta@cs.tu-berlin.de --------- * List of C tutorials Last Update: 10/12/94 * * Compiled By: Vinit Carpenter - carpenterv@vms.csd.mu.edu * Note that this document is provided as is. The information in it is *not* warranted to be correct; you use it at your own risk. o The LEARN C/C++ TODAY List is Copyright 1994 by Vinit S. Carpenter (carpenterv@vms.csd.mu.edu). It may be reproduced and distributed in whole or in part, subject to the following conditions: o This copyright and permission notice and the paragraph in the introduction about the frequency of updates must be retained on all complete or partial copies. o Any translation or derivative work must be approved by me before distribution. Email me - I'll will be happy to oblige ! o If you wish to charge for non-machine-readable copies you need my approval before distribution. Note that this restriction is not intended to prohibit charging for the service of printing or copying a document supplied by your customer. o If you distribute partial copies of this list, instructions for obtaining the complete version must be included, and a means for obtaining a complete version free or at cost price provided. o Exceptions to these rules may be granted, and I shall be happy to answer any questions about this copyright --- Simply e-mail me. These restrictions are here to protect the contributors, not to restrict you as educators and learners. o Vinit Carpenter asserts the right to be identified as the author of this work, and claims the moral rights of paternity and integrity, in accordance with the Copyright, Designs and Patents Act, 1988. ----------------------------------------------------------------------------- Vinit S. Carpenter Marquette University carpenterv@vms.csd.mu.edu ----------------------------------------------------------------------------- Author of the INTERNET-MENU for OpenVMS and Learn C/C++ TODAY List * Email me for details * My Personal Linux Web Server ----------------------------------------------------------------------------- Geek Code: GE d? -p+ c++++ l++ u++ e- m--- s+/+ n--- h++ f? g+ w++ t+++ y+ y*