Need a C++ book for complete idiot!

Discussion in 'C++' started by me@privacy.net, Sep 8, 2009.

  1. Guest

    I'm trying to teach myself some C++

    I have NO programming experience...... none....
    zip...... null

    Can you guys recommend a book for someone on my level I
    can buy from Amazon?
     
    , Sep 8, 2009
    #1
    1. Advertising

  2. <> wrote in message
    news:<>...
    > I'm trying to teach myself some C++
    >
    > I have NO programming experience...... none....
    > zip...... null
    >
    > Can you guys recommend a book for someone on my level I
    > can buy from Amazon?


    Francis Glassborow's book "You Can Do It" is aimed exactly
    at you.
     
    Christopher Dearlove, Sep 8, 2009
    #2
    1. Advertising

  3. capricorn Guest

    On Sep 8, 8:51 am, wrote:
    > I'm trying to teach myself some C++
    >
    > I have NO programming experience...... none....
    > zip...... null
    >
    > Can you guys recommend a book for someone on my level I
    > can buy from Amazon?


    you can start with complete reference by herbert schildt for c++
    this will help you knowing basics
    how actually thing going in front of you or you can refere along some
    other basic book
     
    capricorn, Sep 8, 2009
    #3
  4. Francesco Guest

    On Sep 8, 5:51 am, wrote:
    > I'm trying to teach myself some C++
    >
    > I have NO programming experience...... none....
    > zip...... null
    >
    > Can you guys recommend a book for someone on my level I
    > can buy from Amazon?


    Once you get even just a very basic experience with programming in
    general you might take advantage of reading The C++ Programming Level
    by Bjarne Stroustrup, the creator of C++.

    The book starts from the fundamentals and presents them quite simply
    and shortly before diving deep into details - but then, the complexity
    rises up quite steep. This is normal because in around one thousand
    pages it presents the whole language and wide parts of the Standard
    Template Library.

    This is currently the first and only book I ever read about C++ (I
    came from VB). Then I started practicing by myself and gathering
    information on the Internet. Lately I'm taking a good straightening of
    my knowledge by confronting it here publicly on clc++.

    You might want to take advantage of this group too, feel free to post
    your questions and issues once you got some, you'll get good help.

    Cheers,
    Francesco
     
    Francesco, Sep 8, 2009
    #4
  5. Francesco Guest

    On Sep 8, 12:13 pm, Francesco <> wrote:
    > On Sep 8, 5:51 am, wrote:
    >
    > > I'm trying to teach myself some C++

    >
    > > I have NO programming experience...... none....
    > > zip...... null

    >
    > > Can you guys recommend a book for someone on my level I
    > > can buy from Amazon?

    >
    > Once you get even just a very basic experience with programming in
    > general you might take advantage of reading The C++ Programming Level
    > by Bjarne Stroustrup, the creator of C++.


    Eeheheh, automatic typing... of course the above should read "The C++
    Programming Language" ;-)

    Sorry Bjarne!

    Francesco
     
    Francesco, Sep 8, 2009
    #5
  6. On Sep 8, 5:51 am, wrote:
    > I'm trying to teach myself some C++
    >
    > I have NO programming experience...... none....
    > zip...... null
    >
    > Can you guys recommend a book for someone on my level I
    > can buy from Amazon?


    If you really have no programming experience whatsoever, C++ is a
    really bad language to start with. I would start by using a scripting
    language to write and test some little programs. You can do this
    inside a web browser even:

    http://tryruby.sophrinix.com/

    After that, I would move onto an OO language with a large standard
    library and standard garbage collection like Java or C#. After
    writing some medium length programs in one of those environments, only
    then would I turn to C++.
    -Andrew.
     
    Andrew Tomazos, Sep 8, 2009
    #6
  7. Francesco Guest

    On Sep 8, 1:04 pm, Andrew Tomazos <> wrote:
    > On Sep 8, 5:51 am, wrote:
    >
    > > I'm trying to teach myself some C++

    >
    > > I have NO programming experience...... none....
    > > zip...... null

    >
    > > Can you guys recommend a book for someone on my level I
    > > can buy from Amazon?

    >
    > If you really have no programming experience whatsoever, C++ is a
    > really bad language to start with.


    Of course you're free to give all the advices you want, Andrew, but I
    don't agree with your statement above. Each programming language has
    its positive and negative aspects. Further details below.

    > I would start by using a scripting
    > language to write and test some little programs.  You can do this
    > inside a web browser even:
    >
    >    http://tryruby.sophrinix.com/
    >
    > After that, I would move onto an OO language with a large standard
    > library and standard garbage collection like Java or C#.  After
    > writing some medium length programs in one of those environments, only
    > then would I turn to C++.


    Learning the fundamentals of programming in another language means
    setting to mind some points which _have to be_ changed when switching
    to C++.

    I agree that knowing more that one language is a very important step
    for any programmer, but then, starting from one or from another
    doesn't make any big difference - assuming those languages are equally
    high-level.

    In my experience, for example, I found it easy to learn the interface
    of std::vector and std::string and _then_ digging the tricks needed to
    manage arrays and null-terminated C strings.

    In the same way, if one really wants to learn C++, it's better to
    start from scratch with strong-typing and then, eventually, learn all
    the additional functions and operands needed by a loosely-typed script
    language like JavaScript - assuming one wants to learn it.

    About dynamic memory and garbage collection, nobody obliges you to use
    it in C++. You can build pretty large and useful applications without
    never ever using "new" and "delete". In other words, what you don't
    use/need/see cannot harm you.

    Just my personal point of view, as I said above, you're free to give
    all the advices you want and I would fight to ensure to you this
    prerogative.

    Best regards,
    Francesco
     
    Francesco, Sep 8, 2009
    #7
  8. arnuld Guest

    > On Sep 8, 8:51 am, wrote:

    > I'm trying to teach myself some C++
    >
    > I have NO programming experience...... none....
    > zip...... null



    If you have just stepped into programming, you can start from these
    places:

    http://www.htdp.org/
    http://pine.fm/LearnToProgram/
    http://www.amazon.com/Lisp-3rd-Patrick-Winston/dp/0201083191
    http://wiki.python.org/moin/IntroductoryBooks
    http://wiki.python.org/moin/BeginnersGuide/NonProgrammers


    Thought I don't recommend mostly about languages, I say you don't
    start with a language like C or C++ as your first language. The above
    links I provided will help you a lot. But if you are bent on learning C
    ++ as first language, you keep in mind these things:

    1) Hook onto CLC++. Discard what books your friends/teachers use or
    what they say. Just seek the advice of regular posters of this
    newsgroup.

    2) Use either Accelerated C++ or C++ Primer 4/e to begin

    3) Read C++ FAQs when in doubt.

    4) Count 12 months from the day you start, After 12 months, you will
    start to understand something (if you are an average guy like me)



    > Can you guys recommend a book for someone on my level I
    > can buy from Amazon?


    You can get all those books from Amazon easily.
     
    arnuld, Sep 8, 2009
    #8
  9. On Sep 8, 1:30 pm, Francesco <> wrote:
    > I agree that knowing more that one language is a very important step
    > for any programmer, but then, starting from one or from another
    > doesn't make any big difference - assuming those languages are equally
    > high-level.


    If that is true, then why do the vast majority of universities teach
    first year computer science students in Java, and not C++ ? I'm sure
    the professors setting the curriculum are quite familiar with C++, so
    we must conclude that they would disagree with your position, right?
    -Andrew.
     
    Andrew Tomazos, Sep 8, 2009
    #9
  10. * Andrew Tomazos:
    > On Sep 8, 1:30 pm, Francesco <> wrote:
    >> I agree that knowing more that one language is a very important step
    >> for any programmer, but then, starting from one or from another
    >> doesn't make any big difference - assuming those languages are equally
    >> high-level.

    >
    > If that is true, then why do the vast majority of universities teach
    > first year computer science students in Java, and not C++ ? I'm sure
    > the professors setting the curriculum are quite familiar with C++, so
    > we must conclude that they would disagree with your position, right?


    I see three possible reasons (at the time I taught, early 1990's, I started the
    students with Pascal and proceeded to C++).

    First, it's extremely difficult to teach C++ from the start because almost
    everything in the language is connected to everything else. If students had had
    a solid background in e.g. digital electronics and mathematics this would not be
    so big a problem. But this is not so, and in a typical curriculum there's no
    room to add in such background: essentially, except at institutions such as MIT,
    the goal & aim is to give the student enough shallow knowledge to be able to
    acquire The Real Stuff after graduation, and with C++ that's almost impossible.

    Second, there's a lack of simple to use libraries for C++. This is not a library
    shortage issue (GUI, network, database, all that stuff in the "standard" Java
    library), because C++ enjoys an extreme richness of available libraries; to wit,
    Java's base functionality is implemented in C and C++. It's a language and
    competency issue: the tool usage aspects of using a library are very hard in C++
    (language issue), and the programmatic aspecs of using a library are very hard
    (C++ programmers are assumed to be very competent, not first year students).
    Thus it's difficult to motivate students when starting with C++ because creating
    impressive small programs is very hard, not simple like a Java program.

    Third, due to the above two reasons and due to "those that can't, teach", it may
    be that the teachers don't know C++ and wouldn't be qualified to teach C++ even
    if they did know the language.

    However, it may be that Java being popular as a first language is similar to
    MS-DOS once being popular as an operating system. Technically better operating
    systems existed. But MS-DOS dominated *because* it dominated: the dominant
    system, language or whatever doesn't need to be best, because once it's top dog
    (in some context) that in itself is a huge factor in keeping it top dog.


    Cheers & hth.,

    - Alf
     
    Alf P. Steinbach, Sep 8, 2009
    #10
  11. REH Guest

    On Sep 8, 8:25 am, Andrew Tomazos <> wrote:
    > If that is true, then why do the vast majority of universities teach
    > first year computer science students in Java, and not C++ ?  I'm sure
    > the professors setting the curriculum are quite familiar with C++, so
    > we must conclude that they would disagree with your position, right?


    I think it's because they "dumbed it down." My first two years of
    Comp. Sci. (80's) was Pascal, C, COBOL, RPG II, and Vax Assembly.
    Later, it was Ada, Module 2, and C++. For the most part, these
    language weren't taught. They were used in the instruction of other
    things (Data Structures, Algorithmic Analysis, etc.). You were
    expected to learn languages as you went along.

    The last few years, our new hires were taught Java in college (just
    Java, not Comp. Sci. or Comp. Eng.). I think their schools did them a
    disservice. They usually get stuck when there isn't a library to do
    something for them, and they have to write it themselves.

    Not to bash Java, but if that is all your are taught, you didn't get a
    proper education.

    REH
     
    REH, Sep 8, 2009
    #11
  12. Francesco Guest

    On Sep 8, 2:25 pm, Andrew Tomazos <> wrote:
    > On Sep 8, 1:30 pm, Francesco <> wrote:
    >
    > > I agree that knowing more that one language is a very important step
    > > for any programmer, but then, starting from one or from another
    > > doesn't make any big difference - assuming those languages are equally
    > > high-level.

    >
    > If that is true, then why do the vast majority of universities teach
    > first year computer science students in Java, and not C++ ?  I'm sure
    > the professors setting the curriculum are quite familiar with C++, so
    > we must conclude that they would disagree with your position, right?


    Yes, they would disagree, and they would be free to stand by their
    point. On the other side, I'm free to disagree about their - and yours
    - opinion, and I would be free to stand by my point.

    The contexts are slightly different - the OP wants to learn some C++,
    universities want to teach programming in general for starters. This
    doesn't change much the situation, I know.

    I could argue that the "vast majority" you mentioned implies there
    _is_ some university which disagree with the others and _don't_ teach
    Java to first year students. Majority of consensus doesn't imply
    "rightfulness", hence the majority _can_ be wrong. Notice that I am
    _not_ saying they _are_ wrong (I don't think they are, this is all
    matter of teaching experience and tastes), I'm just asserting the
    weakness of your argumentation - which based itself on some
    "authority" custom.

    In any case, the above isn't going to lead to any good, more likely it
    could slip into polemics and language advocacy - something I'm really
    not interested in.

    Since I simply stated my point of view, and it's you who compared it
    to universities' customs, I think the answer to the question "why do
    the vast majority of universities teach first year computer science
    students in Java, and not C++ ?" would be completely up to you.

    From my point of view, Java and C++ are both good languages to start
    with, I just highlighted the OP's will to learn C++. Nothing more than
    that.

    Best regards,
    Francesco
     
    Francesco, Sep 8, 2009
    #12
  13. Jorgen Grahn Guest

    On Tue, 8 Sep 2009 04:04:54 -0700 (PDT), Andrew Tomazos
    <> wrote:
    > On Sep 8, 5:51 am, wrote:
    >> I'm trying to teach myself some C++
    >>
    >> I have NO programming experience...... none....
    >> zip...... null
    >>
    >> Can you guys recommend a book for someone on my level I
    >> can buy from Amazon?

    >
    > If you really have no programming experience whatsoever, C++ is a
    > really bad language to start with. I would start by using a scripting
    > language to write and test some little programs.


    I agree with this part. Python, Ruby or maybe Haskell.

    > You can do this
    > inside a web browser even:
    >
    > http://tryruby.sophrinix.com/


    That is slightly amusing, but seems like a bad idea. If you cannot
    spare the 10 minutes it takes to download and install any of those
    languages' standard environments with their full documentation, you
    probably will never learn programming.

    > After that, I would move onto an OO language with a large standard
    > library and standard garbage collection like Java or C#.


    This step I disagree with. Pure 1980s-style OO and garbage collection
    leads you /away/ from C++. If that's where you want to go, it's a dead
    end.

    /Jorgen

    --
    // Jorgen Grahn <grahn@ Oo o. . .
    \X/ snipabacken.se> O o .
     
    Jorgen Grahn, Sep 8, 2009
    #13
  14. Francesco Guest

    On Sep 8, 3:36 pm, Pete Becker <> wrote:
    > Andrew Tomazos wrote:
    > > On Sep 8, 1:30 pm, Francesco <> wrote:
    > >> I agree that knowing more that one language is a very important step
    > >> for any programmer, but then, starting from one or from another
    > >> doesn't make any big difference - assuming those languages are equally
    > >> high-level.

    >
    > > If that is true, then why do the vast majority of universities teach
    > > first year computer science students in Java, and not C++ ?  I'm sure
    > > the professors setting the curriculum are quite familiar with C++, so
    > > we must conclude that they would disagree with your position, right?

    >
    > Java has a marketing department. C++ does not.


    Eheeehhe, too true!

    Cheers,
    Francesco
     
    Francesco, Sep 8, 2009
    #14
  15. Jorgen Grahn Guest

    On Tue, 8 Sep 2009 02:51:06 -0700 (PDT), capricorn <> wrote:
    > On Sep 8, 8:51 am, wrote:
    >> I'm trying to teach myself some C++
    >>
    >> I have NO programming experience...... none....
    >> zip...... null
    >>
    >> Can you guys recommend a book for someone on my level I
    >> can buy from Amazon?

    >
    > you can start with complete reference by herbert schildt for c++
    > this will help you knowing basics


    A word of warning: a lot of people would characterize Schildt's books
    as books that /make/ you an idiot programmer.

    (I haven't personally read any of his books since the early 1990s, so
    he might have improved -- if indeed he still writes.)

    /Jorgen

    --
    // Jorgen Grahn <grahn@ Oo o. . .
    \X/ snipabacken.se> O o .
     
    Jorgen Grahn, Sep 8, 2009
    #15
  16. Guest

    arnuld <> wrote:

    >1) Hook onto CLC++. Discard what books your friends/teachers use or
    >what they say. Just seek the advice of regular posters of this
    >newsgroup.


    OK

    Thanks so much guys!!

    Be prepared for a LOT of dumb simple questions coming
    up!
     
    , Sep 8, 2009
    #16
  17. wrote:
    > arnuld <> wrote:
    >
    >> 1) Hook onto CLC++. Discard what books your friends/teachers use or
    >> what they say. Just seek the advice of regular posters of this
    >> newsgroup.

    >
    > OK
    >
    > Thanks so much guys!!
    >
    > Be prepared for a LOT of dumb simple questions coming
    > up!


    Just to let you know, there is 'alt.comp.lang.learn.c-c++' newsgroup for
    dumb simple questions, as well.

    V
    --
    Please remove capital 'A's when replying by e-mail
    I do not respond to top-posted replies, please don't ask
     
    Victor Bazarov, Sep 8, 2009
    #17
  18. Guest

    Victor Bazarov <> wrote:

    >Just to let you know, there is 'alt.comp.lang.learn.c-c++' newsgroup for
    >dumb simple questions, as well.


    Aha!!

    That is where I will go then!!
     
    , Sep 8, 2009
    #18
  19. Jorgen Grahn Guest

    On Tue, 08 Sep 2009 15:06:58 +0200, Alf P. Steinbach <> wrote:
    > * Andrew Tomazos:

    ....
    >> If that is true, then why do the vast majority of universities teach
    >> first year computer science students in Java, and not C++ ? I'm sure
    >> the professors setting the curriculum are quite familiar with C++, so
    >> we must conclude that they would disagree with your position, right?

    >
    > I see three possible reasons (at the time I taught, early 1990's, I started the
    > students with Pascal and proceeded to C++).


    For me as a student at the time, they taught Standard ML and
    (reluctantly) Modula-2. Later quite a lot of C and SML, and other
    languages mostly to illustrate things like OOP (what's where C++ came
    in, for a week or two).

    > First, it's extremely difficult to teach C++ from the start because almost
    > everything in the language is connected to everything else.


    Is it really, and if so, isn't that how it should be in a language?

    I think "The C++ Programming Language" shows that you *can* introduce
    C++ piece by piece. The book may not be the ideal introduction to C++
    programming for the complete novice, but that has other reasons.

    ....
    [snip excellent and depressing MS-DOS example]

    /Jorgen

    --
    // Jorgen Grahn <grahn@ Oo o. . .
    \X/ snipabacken.se> O o .
     
    Jorgen Grahn, Sep 8, 2009
    #19
  20. On Sep 7, 11:51 pm, wrote:
    > I'm trying to teach myself some C++
    >
    > I have NO programming experience...... none....
    > zip...... null
    >
    > Can you guys recommend a book for someone on my level I
    > can buy from Amazon?


    Perhaps you should start with C?

    There is a legendary book, the first one, known as K&R. It is concise
    and to the point.

    -Ramon
     
    Lucius Sanctimonious, Sep 8, 2009
    #20
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Bill Dodd
    Replies:
    4
    Views:
    344
    Bill Dodd
    Nov 13, 2003
  2. clintonG
    Replies:
    12
    Views:
    717
    David Jessee
    May 1, 2004
  3. justdoit693

    classpath idiot

    justdoit693, Jul 22, 2003, in forum: Java
    Replies:
    5
    Views:
    438
    Joseph Millar
    Jul 22, 2003
  4. davout

    Idiot level WebDav tutorial?

    davout, Nov 12, 2003, in forum: Java
    Replies:
    0
    Views:
    2,440
    davout
    Nov 12, 2003
  5. Replies:
    5
    Views:
    794
    SpaceGirl
    Feb 25, 2005
Loading...

Share This Page