Programming Beginner

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Joshua Rulz

    #1

    Programming Beginner

    Hi, i want to learn to program im quite skilled with computers and want
    to learn c++. is there anyone who can teach me or tell me a good
    website to learn it?

    all replies will be appreciated.

  • \/Gogineni\/

    #2
    Re: Programming Beginner



    Comment

    • Markus Becker

      #3
      Re: Programming Beginner

      Joshua Rulz <joshua_rulz_20 00@hotmail.com> schrieb:
      [color=blue]
      > Hi, i want to learn to program im quite skilled with computers and want
      > to learn c++. is there anyone who can teach me or tell me a good
      > website to learn it?[/color]

      Gogineni mentioned what seems to be a good site, but:

      1) be prepared for a long, long (and steep) learning
      curve.
      2) being skilled with computers does not mean being
      able to learn programming fast. I'm also quite
      skilled in driving, but that does not mean I can
      build good cars :-)

      This does not mean you should not try it!

      Markus

      Comment

      • Alf P. Steinbach

        #4
        Re: Programming Beginner

        * Joshua Rulz:[color=blue]
        > Hi, i want to learn to program im quite skilled with computers and want
        > to learn c++. is there anyone who can teach me or tell me a good
        > website to learn it?[/color]

        Your best bet is a book such as "You can do it!" or (if you're not a
        complete beginner) "Accelerate d C++".

        Failing that, or as additional material, the only known nearly correct
        C++ tutorial on the web is

        <url: http://home.no.net/dubjai/win32cpptut/html/>.

        --
        A: Because it messes up the order in which people normally read text.
        Q: Why is it such a bad thing?
        A: Top-posting.
        Q: What is the most annoying thing on usenet and in e-mail?

        Comment

        • Divick

          #5
          Re: Programming Beginner

          If you are familiar with C then the definitive guide would be Thinking
          in C++ by Bruce Eckel.

          If you have NEVER programmed before with any other object language and
          you want to learn object oriented programming then first learn Java
          which is easier to learn than C++ and later you can learn C++.

          If you HAVE programmed in any other object oriented language and you
          have not programmed in C then first learn C and then pointer
          fundamentals which are almost common in both C and C++ and then move on
          to learn the advanced concepts of C++.

          Divick

          Comment

          • Ben Pope

            #6
            Re: Programming Beginner

            Divick wrote:[color=blue]
            > If you have NEVER programmed before with any other object language and
            > you want to learn object oriented programming then first learn Java
            > which is easier to learn than C++ and later you can learn C++.[/color]

            Why learn Java first?
            [color=blue]
            > If you HAVE programmed in any other object oriented language and you
            > have not programmed in C then first learn C and then pointer
            > fundamentals which are almost common in both C and C++ and then move on
            > to learn the advanced concepts of C++.[/color]

            Why learn C first?

            C++ is a different beast to both Java and C, there is no point in
            learning either of those two languages first.

            Ben Pope

            Comment

            • Marcus Kwok

              #7
              Re: Programming Beginner

              Ben Pope <benpope81_Kill This_@gmail.com > wrote:[color=blue]
              > Divick wrote:[color=green]
              >> If you HAVE programmed in any other object oriented language and you
              >> have not programmed in C then first learn C and then pointer
              >> fundamentals which are almost common in both C and C++ and then move on
              >> to learn the advanced concepts of C++.[/color]
              >
              > Why learn C first?
              >
              > C++ is a different beast to both Java and C, there is no point in
              > learning either of those two languages first.[/color]

              Agreed, by the FAQ:


              --
              Marcus Kwok

              Comment

              • Divick

                #8
                Re: Programming Beginner

                Cool down man cool. There is no need to start holy war over this. It is
                a very subjective issue. Why to program in Java or C is based on my
                personal experience, which would definitely differ from person to
                person. I can definitely give you 100 reasons / logic to do so but what
                matters in the end is to get job done.

                One such reason is that you get to know the beauty of certain thing
                only when you know what is worse or better than it. If you have not
                programmed in other languages, then you don't really have that
                experience which can differentiate between good and bad.

                Well I don't want to delve in the philosophy of language design but I
                think there are definitely certain things that are better done in some
                language than other.

                I would also answer you questions:[color=blue][color=green]
                >>Why learn Java first?[/color][/color]

                Because it is easier to learn than C++. There are no pointers and hence
                you tend to grasp the object oriented fundamentals more easily than if
                you program in C++. If you don't care about Object oriented
                fundamentals and you want to program in C++ then I would say you don't
                really need C++ and hence C would suffice. This also answers your next
                question.
                [color=blue][color=green]
                >>Why learn C first?[/color][/color]

                Above all debugging Java is very very easy. You don't need memory
                debugging tools. You don't need to care too much about memory
                management. Definitely it has again its pros and cons but for a
                beginner in programming it serves the purpose.

                And as far as FAQ's go, I don't think they are the words of THE GOD and
                hence there are certain things in FAQ at parashift to which someone may
                or may not agree.

                And if still you are not happy then sorry I am not a conformist and
                even I don't expect someone else to confirm to my ideas.

                Cheers,
                Divick

                Comment

                • red floyd

                  #9
                  Re: Programming Beginner

                  Divick wrote:
                  [color=blue][color=green][color=darkred]
                  >>>Why learn Java first?[/color][/color]
                  >
                  >
                  > Because it is easier to learn than C++. There are no pointers and hence
                  > you tend to grasp the object oriented fundamentals more easily than if
                  > you program in C++. If you don't care about Object oriented
                  > fundamentals and you want to program in C++ then I would say you don't
                  > really need C++ and hence C would suffice. This also answers your next
                  > question.
                  >[/color]

                  The problem with learning Java first is that you then have to un-learn
                  it. If you follow this group, you would note that many
                  questions/issues/problems are "I'm trying to do this the Java way and it
                  won't work. Why?"

                  Comment

                  • Mike Wahler

                    #10
                    Re: Programming Beginner


                    "Divick" <divick.kishore @gmail.com> wrote in message
                    news:1132763131 .937807.47120@f 14g2000cwb.goog legroups.com...
                    [color=blue]
                    > Because it is easier to learn than C++. There are no pointers and hence
                    > you tend to grasp the object oriented fundamentals more easily than if
                    > you program in C++. If you don't care about Object oriented
                    > fundamentals and you want to program in C++ then I would say you don't
                    > really need C++ and hence C would suffice. This also answers your next
                    > question.[/color]

                    This paragraph imo reveals a deep misunderstandin g of what
                    C++ really is and what it can be used for.

                    -Mike


                    Comment

                    • Ben Pope

                      #11
                      Re: Programming Beginner

                      Divick wrote:[color=blue]
                      > Cool down man cool.[/color]

                      I believe you are referring to me, you left off the attribution. I'm cool!
                      [color=blue]
                      > There is no need to start holy war over this. It is
                      > a very subjective issue.[/color]

                      I intended no such thing, I was just short with my answers.
                      [color=blue]
                      > Why to program in Java or C is based on my
                      > personal experience, which would definitely differ from person to
                      > person. I can definitely give you 100 reasons / logic to do so but what
                      > matters in the end is to get job done.[/color]

                      I learnt Java first, and then C, and then C++. I think I was lead
                      astray in both situations.

                      Regarding C, there are more elegant ways of solving problems as simple
                      as the classic "Hello World" in C++, than in C, so if you start with C,
                      you're already on the wrong foot. Then we move onto arrays vs.
                      std::vector, and char* (char[]) vs. std::string. From the moment you
                      start learning C, you must unlearn many aspects and re-learn them in
                      C++, because the C++ way is neater and safer.

                      With Java, it's simplicity is great, but when you come to learn C++, you
                      realise that there are many paradigms in Java that have neater
                      equivalents in C++. Take for example exceptions and "finally", ok, it
                      solves some problems, but not all - RAII is SO much neater. Because
                      Java is less expressive than C++, it can be seen as simpler. The
                      problem comes when means you forget to do things in C++ when you start
                      writing code, like managing memory properly.
                      [color=blue]
                      > One such reason is that you get to know the beauty of certain thing
                      > only when you know what is worse or better than it. If you have not
                      > programmed in other languages, then you don't really have that
                      > experience which can differentiate between good and bad.[/color]

                      Yeah, but there is only "One true way" :P.

                      Seriously though, it's a waste of time, if you want to learn C++, learn
                      C++. It's easier than learning some concepts from a bunch of languages,
                      and then un-learning them to do C++.
                      [color=blue]
                      > Well I don't want to delve in the philosophy of language design but I
                      > think there are definitely certain things that are better done in some
                      > language than other.[/color]

                      Of course. C++ is not a universal hammer. C is good for some things -
                      usually in preference to C++ only when you don't have a C++ compiler for
                      your platform, IMO, but thats me.

                      Java is equally good for LOTs of things. I'm using it for some
                      web-application stuff I'm doing, and I prefer it to C++ in that case,
                      because there is an existing framework that already does 90% of what I
                      need. It's also fast enough, but it's not going to cut it doing
                      embedded network stacks, which is what I've been using C to do.
                      [color=blue]
                      > I would also answer you questions:[color=green][color=darkred]
                      >>> Why learn Java first?[/color][/color]
                      >
                      > Because it is easier to learn than C++. There are no pointers and hence
                      > you tend to grasp the object oriented fundamentals more easily than if
                      > you program in C++. If you don't care about Object oriented
                      > fundamentals and you want to program in C++ then I would say you don't
                      > really need C++ and hence C would suffice. This also answers your next
                      > question.[/color]

                      Equally there are better languages than Java for learning "pure" OO.
                      They're not as readily available though, I'll admit.
                      [color=blue][color=green][color=darkred]
                      >>> Why learn C first?[/color][/color]
                      >
                      > Above all debugging Java is very very easy. You don't need memory
                      > debugging tools.[/color]

                      Debugging C can be tricky on an embedded platform, especially as the
                      probe effect tends to be much more prevalent, and the task is often
                      inherently real-time. Debugging C++ in MSVC is at least as easy as Java
                      in eclipse / netbeans. If you learn RAII soon, and use auto_ptr, or
                      some other, possibly more suitable, smart pointer, then C++ is almost as
                      easy as Java in terms of resource management.
                      [color=blue]
                      > You don't need to care too much about memory
                      > management.[/color]

                      In fact, I would like to go one step further and say that learning C, or
                      at least having knowledge of C, possibly introduces some peoples need to
                      use pointers everywhere. If you told everybody that a pointer should
                      not be used, and instead to wrap it in a boost::shared_p tr memory
                      management would be as easy as Java. Like I said, learning RAII from
                      early on is very beneficial.
                      [color=blue]
                      > Definitely it has again its pros and cons but for a
                      > beginner in programming it serves the purpose.[/color]

                      Of course.
                      [color=blue]
                      > And as far as FAQ's go, I don't think they are the words of THE GOD and
                      > hence there are certain things in FAQ at parashift to which someone may
                      > or may not agree.[/color]

                      Of course. I didn't mention the FAQ, though.
                      [color=blue]
                      > And if still you are not happy then sorry I am not a conformist and
                      > even I don't expect someone else to confirm to my ideas.[/color]

                      Don't be too concerned about my happiness, and certainly not to
                      apologise for your opinion! It's as valid as anybody else's, even if
                      it's wrong (joke!) :P

                      I'm happy to agree to disagree on this issue, of course... I just feel
                      it necessary to present both sides of the coin.

                      I think that there are LOTS of things in both C and Java which can be
                      misleading and/or dangerous (in terms of defined behaviour) when applied
                      to C++. Learn C++ the C++ way first, and then by all means see what
                      else is out there when the need arises. This is also more pragmatic as
                      you can get started with your C++ coding today, rather than in a years
                      time when you've half-heartedly learnt C and Java.

                      Ben Pope

                      Comment

                      • Ben Pope

                        #12
                        Re: Programming Beginner

                        Divick wrote:[color=blue]
                        > Cool down man cool.
                        >[/color]
                        I believe you are referring to me, you left off the attribution. I'm
                        cool!
                        [color=blue]
                        > There is no need to start holy war over this. It is
                        > a very subjective issue.
                        >[/color]
                        I intended no such thing, I was just short with my answers.
                        [color=blue]
                        > Why to program in Java or C is based on my
                        > personal experience, which would definitely differ from person to
                        > person. I can definitely give you 100 reasons / logic to do so but[/color]
                        what[color=blue]
                        > matters in the end is to get job done.
                        >[/color]
                        I learnt Java first, and then C, and then C++. I think I was lead
                        astray in both situations.

                        Regarding C, there are more elegant ways of solving problems as simple

                        as the classic "Hello World" in C++, than in C, so if you start with
                        C,
                        you're already on the wrong foot. Then we move onto arrays vs.
                        std::vector, and char* (char[]) vs. std::string. From the moment you
                        start learning C, you must unlearn many aspects and re-learn them in
                        C++, because the C++ way is neater and safer.

                        With Java, it's simplicity is great, but when you come to learn C++,
                        you
                        realise that there are many paradigms in Java that have neater
                        equivalents in C++. Take for example exceptions and "finally", ok, it

                        solves some problems, but not all - RAII is SO much neater. Because
                        Java is less expressive than C++, it can be seen as simpler. The
                        problem comes when means you forget to do things in C++ when you start

                        writing code, like managing memory properly.
                        [color=blue]
                        > One such reason is that you get to know the beauty of certain thing
                        > only when you know what is worse or better than it. If you have not
                        > programmed in other languages, then you don't really have that
                        > experience which can differentiate between good and bad.
                        >[/color]
                        Yeah, but there is only "One true way" :P.

                        Seriously though, it's a waste of time, if you want to learn C++,
                        learn
                        C++. It's easier than learning some concepts from a bunch of
                        languages,
                        and then un-learning them to do C++.
                        [color=blue]
                        > Well I don't want to delve in the philosophy of language design but[/color]
                        I[color=blue]
                        > think there are definitely certain things that are better done in[/color]
                        some[color=blue]
                        > language than other.
                        >[/color]
                        Of course. C++ is not a universal hammer. C is good for some things
                        -
                        usually in preference to C++ only when you don't have a C++ compiler
                        for
                        your platform, IMO, but thats me.

                        Java is equally good for LOTs of things. I'm using it for some
                        web-application stuff I'm doing, and I prefer it to C++ in that case,
                        because there is an existing framework that already does 90% of what I

                        need. It's also fast enough, but it's not going to cut it doing
                        embedded network stacks, which is what I've been using C to do.
                        [color=blue]
                        > I would also answer you questions:
                        > Why learn Java first?
                        >
                        > Because it is easier to learn than C++. There are no pointers and[/color]
                        hence[color=blue]
                        > you tend to grasp the object oriented fundamentals more easily than[/color]
                        if[color=blue]
                        > you program in C++. If you don't care about Object oriented
                        > fundamentals and you want to program in C++ then I would say you[/color]
                        don't[color=blue]
                        > really need C++ and hence C would suffice. This also answers your[/color]
                        next[color=blue]
                        > question.
                        >[/color]
                        Equally there are better languages than Java for learning "pure" OO.
                        They're not as readily available though, I'll admit.
                        [color=blue]
                        > Why learn C first?
                        >
                        > Above all debugging Java is very very easy. You don't need memory
                        > debugging tools.
                        >[/color]
                        Debugging C can be tricky on an embedded platform, especially as the
                        probe effect tends to be much more prevalent, and the task is often
                        inherently real-time. Debugging C++ in MSVC is at least as easy as
                        Java
                        in eclipse / netbeans. If you learn RAII soon, and use auto_ptr, or
                        some other, possibly more suitable, smart pointer, then C++ is almost
                        as
                        easy as Java in terms of resource management.
                        [color=blue]
                        > You don't need to care too much about memory
                        > management.
                        >[/color]
                        In fact, I would like to go one step further and say that learning C,
                        or
                        at least having knowledge of C, possibly introduces some peoples need
                        to
                        use pointers everywhere. If you told everybody that a pointer should
                        not be used, and instead to wrap it in a boost::shared_p tr memory
                        management would be as easy as Java. Like I said, learning RAII from
                        early on is very beneficial.
                        [color=blue]
                        > Definitely it has again its pros and cons but for a
                        > beginner in programming it serves the purpose.
                        >[/color]
                        Of course.
                        [color=blue]
                        > And as far as FAQ's go, I don't think they are the words of THE GOD[/color]
                        and[color=blue]
                        > hence there are certain things in FAQ at parashift to which someone[/color]
                        may[color=blue]
                        > or may not agree.
                        >[/color]
                        Of course. I didn't mention the FAQ, though.
                        [color=blue]
                        > And if still you are not happy then sorry I am not a conformist and
                        > even I don't expect someone else to confirm to my ideas.
                        >[/color]
                        Don't be too concerned about my happiness, and certainly not to
                        apologise for your opinion! It's as valid as anybody else's, even if
                        it's wrong (joke!) :P

                        I'm happy to agree to disagree on this issue, of course... I just feel

                        it necessary to present both sides of the coin.

                        I think that there are LOTS of things in both C and Java which can be
                        misleading and/or dangerous (in terms of defined behaviour) when
                        applied
                        to C++. Learn C++ the C++ way first, and then by all means see what
                        else is out there when the need arises. This is also more pragmatic
                        as
                        you can get started with your C++ coding today, rather than in a years

                        time when you've half-heartedly learnt C and Java.

                        Ben Pope

                        Comment

                        • Ron House

                          #13
                          Re: Programming Beginner

                          Divick wrote:
                          [color=blue][color=green][color=darkred]
                          >>>Why learn Java first?[/color][/color]
                          >
                          > Because it is easier to learn than C++.[/color]

                          Really? The class library is, imho, the killer in Java, because it is so
                          interconnected that you must understand the concept of OO to come to
                          grips with it. At the same time, you are trying to learn the real basics
                          like io, variables, if statements... This is a real information
                          overload, and simplifying it means leaving out or glossing over real
                          issues. That's storing up misunderstandin gs for later.
                          [color=blue]
                          > There are no pointers and hence[/color]

                          There certainly are pointers, but you can't see them. :-)

                          Again imho, hiding the pointer, having some names refer to what are
                          actually pointers and some to the real object, just adds whole layers of
                          confusion that a beginner can do without. Visible pointers are, imho,
                          much clearer than the opposite. The killer in C and C++ is not the
                          visible pointer, but the exposure of the machine implementation of the
                          concept in the high level language. C++ has tried its best to close this
                          down, but the underlying problem from C is still there somewhat. But
                          well-taught programming style can avoid hitting the low level stuff.
                          [color=blue]
                          > you tend to grasp the object oriented fundamentals more easily than if
                          > you program in C++.[/color]

                          I see no reason why this should be true.

                          --
                          Ron House house@usq.edu.a u

                          Comment

                          Working...