Re: Another Newbie Question: C or C++

From: Scott W (wegster_at_mindcore.net)
Date: 11/11/03

  • Next message: Brent Wiese: "RE: JAIL can't FTP ports?"
    Date: Mon, 10 Nov 2003 19:12:12 -0500
    To: Alex Kelly <alexkelly@adelphia.net>
    
    

    Alex Kelly wrote:

    >I need to buy a book on C or C++ to help me in FreeBSD. Which would be better to buy?
    >
    >I first thought a book on C would be best, because the OS is written in C. But, now I'm not sure because I read that gcc can compile C++ too (so, I'm assuming C++ must get used too).
    >
    >Does it even matter?
    >
    >Suggestions?
    >_______________________________________________
    >freebsd-questions@freebsd.org mailing list
    >http://lists.freebsd.org/mailman/listinfo/freebsd-questions
    >To unsubscribe, send any mail to "freebsd-questions-unsubscribe@freebsd.org"
    >
    >
    >
    It depends on your goals. I used to teach both C and C++, and now years
    later, am currently hard pressed to find a non-Microsoft C/C++
    development position. If for personal knowledge, definitely C followed
    by C++. If professional, or want to be....hmm. In that case, I'd say
    it still depends more on your goals- if you're going to try to stay in
    *nix development, you've GOT to know C. If you don't care, or God help
    you, want a job doing Windows development, start with C++, and ignore
    all of the standard data types because MS will make their own for you ;-)

    Starting with C has an advantage in that you tend to have to do 'most of
    the work yourself' for a lot of things, which tends to help you
    understand more about how things work. IMHO, that also tends to make
    better programmers down the line, regardless of the language they use.
    C++ is similar, but STL will make life easier when it comes to data
    structures. Java I don't want to talk about ;-)

    A significant amount of system level programming(think system processes
    and services/daemons) are written in C. A fair number of applications
    are, but the majority of GNOME/KDE apps, if that's a consideration, are
    done in C++. A growing number of applications are also being done in
    Java, but it's not the best language to start with for understanding
    much of anything (you can write a half dozen lines of Java to replace
    perhaps 100+ in C/C++ from scratch in some cases). It isn't a bad
    language to learn (professional-wise as well, *groan*) after learning C
    or C++.

    Books and references-
    C- Already mentioned, K&R 'The C Programming Language' is 'the bible.'
    This is also generally a lousy book to start with if you aren't
    programming already, but an invaluable reference. Pick up another book,
    wish I knew a good starter one, but it's been a while...can try Deitel
    and Deitel or (nobody laugh, have used it for Intro before..) the 21
    days SAMs series for a 'jump-start,' and THEN the Deitel/Deitel and K&R.

    W. Richard Stevens "Advanced Programming in the UNIX Environment"- MUST
    HAVE. I may be misquoting the name, but a search on bookpool.com ,
    bn.com (or search on amazon then BUY somewhere else!) will quickly turn
    it up. K&R is to the C language, Stevens is to Unix programming...

    google search for 'Secure Unix Programming'- there's a FAQ or two out
    there that are pretty good once you're past 'the basics.'

    C++
    Latest edition of Deitel/Deitel. Funny, I used to really dislike their
    books, but they DO provide pretty decent overall coverage. May or may
    not be 'too deep' at first, if so, preface with SAMs or equivalent.

    Stroustrup- 'The C++ Programming Language". Stroustrup write C++ but is
    pretty dry. Good reference and for advanced topics.
    Stroustrup- Annoted Reference Manual AKA 'the ARM'- what K&R is to C.
    *The C++ Standard Library : A Tutorial and Reference- recommended pretty
    highly, but don't currently have. search on favorite bookstore will
    turn it up.

    *Java (before ya ask ;-) There are a LOT of bad books on Java it
    seems. Deitel and Deitel again is worth buying as a first book (after C
    and/or C++), then decide what you want to DO with Java, as there are a
    number of directions- JDBC, Beans, JSP, etc etc etc..

    As always, languages and books can be a moving target- when possible,
    pick up the latest edition covering the current ANSI standard for C/C++,
    and make sure anything you buy for Java covers 'Java 2,' preferably JDK
    1.4, but at least 1.3 or you'll be throwing out work by the time you
    work on a current project..

    Misc others-
    POSIX Programming, O'Reilly press. Good coverage of POSIX (Unix for
    simplicity's sake but not really) required system calls.

    Network Programming- Again,m by Stevens.

    FAQs for whatever you wind up taking an interest in. I don't _like_ GUI
    development, but KDE and GNOME have a fair number of tutorials for QT
    and GTK respectively...

    Scott

    _______________________________________________
    freebsd-questions@freebsd.org mailing list
    http://lists.freebsd.org/mailman/listinfo/freebsd-questions
    To unsubscribe, send any mail to "freebsd-questions-unsubscribe@freebsd.org"


  • Next message: Brent Wiese: "RE: JAIL can't FTP ports?"

    Relevant Pages

    • Re: How long to learn C++ if fluent in Java?
      ... relation between Java and C++ is that they share a similar syntax. ... Java pointers "references" if you want to but they are actually just ... very important that C++ is not an object-oriented language: ... These three books are, IMO, essential to learning C++. ...
      (comp.lang.cpp)
    • Re: Whats a Good Book for Beginners?
      ... Start with a textbook to learn the language. ... There are many good books ... You get textbooks from Deitel & Deitel which can be ...
      (microsoft.public.dotnet.general)
    • Re: Learning perl - for experienced programmers
      ... The books are cheap. ... They're more the "ease your way into programming and perl" type ... examples of hideous and unmaintainable Java code there's plenty I'm ... A language is only as bad as the ...
      (comp.lang.perl.misc)
    • Re: Whats the use of an interface
      ... I know people who found Sun's books to be excellent, ... One helpful resource I found was Roedy Greene's Java section ... of several of the trickier 'gotchas' with the Java language is there, ... Randolf Richardson - kingpin+nntp@xxxxxxxxxxxxxxx ...
      (comp.lang.java.programmer)
    • Re: Whats the use of an interface
      ... I know people who found Sun's books to be excellent, while others find them to be totally useless, hence I think it's a matter of taste. ... One helpful resource I found was Roedy Greene's Java section ... of his Canadian Mind products website. ... of several of the trickier 'gotchas' with the Java language is there, ...
      (comp.lang.java.programmer)