Subject: FAQ for hepnet.lang.c++, plain text version [Last Revised 1994/01/30]
Summary: List of Frequently Asked Questions with Answers about the HEPnet
discussion group hepnet.lang.c++. Please read this before posting to
hepnet.lang.c++.
Followup-To: hepnet.lang.c++
Version: $Id: hepC++FAQ.txt,v 1.17 1995/10/25 16:01:01 lilje Exp $
[[The original document is written in HTML. To read it on the World Wide Web,
attach to http://www.desy.de/user/projects/C++/hepC++FAQ.html.
This transcript from the CERN mail robot contains all the used Internet link
addresses at the end. They are quoted in the text by numbers enclosed in
square brackets. Any contribution/suggestion/comment/critique appreciated.]]
Last Revised: January 30, 1994
Changes since last posting [February 28, 1994]:
- Virtual OOP/C++ Course [see 8]: WWW material started, registration opened.
________________________________________________________________________
FREQUENTLY ASKED QUESTIONS ON HEPNET.LANG.C++
Last revised January 30, 1994.
This FAQ provides information on the HEPnet[1] group
hepnet.lang.c++[2]for discussion and questions on applications of the
C++ programming[3] language in High Energy Physics.
The FAQ is posted monthly to the group. The latest version is stored
in FreeHEP[4]'s repository at freehep.scri.fsu.edu in directory
freehep/C++/reviews[5] in files hepC++FAQ.* [formats: plain text,
PostScript, HTML].
CONTENTS:
(1) What shall be discussed in this group?[6]
(2) What shall not be discussed in this group?[7]
(3) Where can I get more information on C++?[8]
(4) Where are previous postings to this group?[9]
(5) Is there any standard for C++ coding in HEP?[10]
(6) What is GNU g++?[11]
(7) Which HEP projects use C++?[12]
(8) Can you recommend a book on C++?[13]
(9) Is there a beautifying tool for C++ code?[14]
(10) Anything else I need to know before posting?[15]
(1) What shall be discussed in this group?
This is a discussion group for people
programming for HEP applications in C++.
Announcements on software, conferences or other
developments shall be (cross-)posted here. More
experienced programmers will help C++ beginners
to solve their initial problems with compilers,
porting, syntax...etc. - no question is too
small, and some people like to discuss with
physicists rather than computer scientists on
comp.lang.c++[16]. Also, discussions on the
"inofficial" standard/rules for C++ HEP
applications [see (5)[17]] take place here.
Recently, opportunities to meet for a topical meeting during an
international conference or workshop (such as
CHEP '94[18]) were discussed, too.
(2) What shall not be discussed in this group?
Anything which is really limited to the local
programming environment, such as "What is the
command to compile my C++ program on the SGI
cluster at DESY?", as well as local
announcements, software updates etc. should go
to the existing local discussion groups[19]
which exist at all big HEP labs. If you
strongly feel you're touching a C++ standard
discussion question, post to comp.std.c++[20]
instead. Don't spill too much hacker jargon on
this group - C++ is still in its infancy in
HEP.
(3) Where can I get more information on C++?
Attach to the World Wide Web (WWW) at
http://www.desy.de/user/projects/C++.html[21]
or, if you have no clue about WWW, get
/pub/c++/Announce/C++.txt[22] via anonymous FTP
from ftp.desy.de[23] [131.169.10.115] Many
FAQs are answered on the WWW pages. Especially
if you miss information because you are reading
the text version of this FAQ, you might want to
check out the WWW resource.
(4) Where are previous postings to this group?
All previous postings are stored at FreeHEP
[24] in news/hepnet/lang/c++ [25], ordered by
numbers. For your convenience, a selection of
archived postings[26] is available on WWW.
(5) Is there any standard for C++ coding in HEP?
The use of "Rules and Recommendations [27]"
(PostScript, also in
ftp.desy.de:/pub/c++/misc/c++.rules.ps [28])
was once proposed, partially adopted, but also
heavily criticized after[29]. People using GNU
Emacs might like its C++ mode[30]. For
CLHEP[31], the GNU g++ compiler is standard.
(6) What is GNU g++? gcc/g++ is a free, true C++ compiler (no
front-end only translating into C) from
GNU[32], running on many systems. In HEP, some
projects, like the CLHEP[33] library,
guarantee that their code compiles with g++.
All you need to know is contained in the g++
FAQ[34]. Its latest version can be obtained
from
rtfm.mit.edu:/pub/usenet/news.answers[35]. More
on CLHEP is in
freehep.scri.fsu.edu:/freehep/C++/CLHEP/CLHEP.dbase[36]
(7) Which HEP projects use C++?
Various. A list of projects in this
decade[37] was compiled by D. Myers/CERN. It
is stored in
freehep.scri.fsu.edu:/news/hepnet/lang/c++/109[38].
An interesting proposal to reorganize CLHEP[39] was made recently (see
freehep.scri.fsu.edu:/news/hepnet/lang/c++/171[40]
(8) Can you recommend a book on C++?
See (3)[41] esp. the 'Getting Start(l)ed[42]'
page for more books and reviews. A selection:
B. Stroustrup: The C++ Programm Language(Addison-Wesley, 1992) 2nd ed.
[tutorial, requires (non-OO) programming experience]
M. Ellis and B. Stroustrup: Annotated C++ Reference Manual [ARM]
(Addison-Wesley, 1990) [heavy, not for beginners, all the intimate
details]
S. Lippman: A C++ Primer(Addison-Wesley, 1992) 2nd ed. [readable, much
used introductory text]
I. Pohl: Object-Oriented Programming Using C++(Benjamin-Cummings,
1993) [very readable, no prerequisites, and brand new]
It may be a good idea to have at least one of these in your local
library.
If you want it cheaper, I recommend the freely available C++ FAQ[43]
[from rtfm.mit.edu:/pub/usenet/news.answers[44]], or
the C++ Tutorial[45] from Coronado
Enterprises. The sample programs for C++
Primer[46] and the C++ Tutorial[47] are
available via WWW and ftp [from
ftp.desy.de[48]] Errata for the books by
Stroustrup and Lippman are available from the
Darmstadt C++ Archive[49]
GNA[50] [Globewide Network Academy] will offer an Introductory Course
on C++[51] in 1994.
Material from "High Tea C++ Lectures" held by Irwin Sheer (SSC) are
downloaded at freeHEP as
/freehep/C++/reviews/SSC-course.tar.Z[52]
(9) Is there a beautifying tool for C++ code?
For GNU Emacs, Lemacs and Epoch, there is C++
mode[53], a customizable Emacs-Lisp program
which allows you and your colleagues to code in
an homogenous style. The latest version can be
obtained from archive.cis.ohio-state.edu in
directory
/pub/gnu/emacs/elisp-archive/modes[54]
(10) Anything else I need to know before posting?
You may want to check who's actively using C++
at your site. Check the local C++ groups[55]. A
hell of a lot of information is available
through the STING[56] service from CERN. C++
software relevant for High Energy Physics is
collected at FreeHEP [57]'s C++ repository
[58].
Maybe you are not altogether decided to use C++ ? Then have a look at
the infoserver of the Atlas collaboration[59]
where you find a comparison of Eiffel[60] and
C++.
Disclaimer: "This FAQ is presented with no warranties or guarantees
of ANY KIND including correctness or fitness for any particular
purpose. The author of this document has attempted to verify
correctness of the data contained herein; however, slip-ups can and
do happen. If you use this data, you do so at your own risk."
Copyright (C) 1993, 1994 Marcus Speh[61],