
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 *
   <a href="http://ncc1701d.csd.mu.edu"> My Personal Linux Web Server</a>
-----------------------------------------------------------------------------
Geek Code: GE d? -p+ c++++ l++ u++ e- m--- s+/+ n--- h++ f? g+ w++ t+++ y+ y*

