Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Learning C++

Learning C++

Scheduled Pinned Locked Moved The Lounge
learningc++mobilelinuxquestion
33 Posts 14 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • P Pete OHanlon

    If you want to use C++/CLI based on Nish's book, there's only one real choice - Visual C++.

    Deja View - the feeling that you've seen this post before.

    My blog | My articles

    R Offline
    R Offline
    Rajesh R Subramanian
    wrote on last edited by
    #8

    Pete O'Hanlon wrote:

    If you want to use C++/CLI based on Nish's book, there's only one real choice - Visual C++.

    I hope by Visual C++, you're talking about the IDE (Visual Studio) and not the language. Or you are drunk again. :-D

    Many are stubborn in pursuit of the path they have chosen, few in pursuit of the goal - Friedrich Nietzsche .·´¯`·->Rajesh<-·´¯`·. [Microsoft MVP - Visual C++]

    P 1 Reply Last reply
    0
    • R Rajesh R Subramanian

      VC++ is the IDE developed by MS for writing C++ programs. VC++ is not a variant of C++. The native development language for Symbian had been C++, but there is no written rule on that and Symbian C++ is again not a flavor of C++. CLI/C++ is Managed C++, is Microsoft specific - even .NET specific and is not a flavor of C++. For C++, it is just C++ and has no variants, whatsoever. The existing C++ standard was published in the late 90s (I'm sure it was revised at least once) and will remain intact until C++0x takes it over. Bjarne's book is a great reference, but for starting to learn, I'll recommend you something simpler, which has words like "beginner", "beginning", etc., in its title. Good luck. It is fun stuff. :)

      Many are stubborn in pursuit of the path they have chosen, few in pursuit of the goal - Friedrich Nietzsche .·´¯`·->Rajesh<-·´¯`·. [Microsoft MVP - Visual C++]

      C Offline
      C Offline
      Christian Flutcher
      wrote on last edited by
      #9

      Rajesh R Subramanian wrote:

      VC++ is the IDE developed MS for writing C++ programs. VC++ is not a variant of C++.

      I have some basic idea on C++. But when I looked a VC++ code, it was entirely different and follow different style of writing than the normal C++, hence I thought it would be other flavor. Thanks for correcting it :) So are you telling that VC++ programs can be executed on any OS or is it windows specific ? And AFAIK, it uses MS C++ compiler, right ?

      Rajesh R Subramanian wrote:

      I'll recommend you something simpler, which has words like "beginner", "beginning", etc., in its title.

      Any recommendations ?

      P R 2 Replies Last reply
      0
      • E El Corazon

        There are flavors of C++ based on platform, mostly, but it is still C++ as long as you avoid "Tiny C/C++" type apps. Mobile computers often have RISC or similar reduced features compared to desktops, so sometimes require different compilers. That is still changing, as the two are coming closer and closer together such that some platforms are the same. For learning only, you can grab a free copy of VC++ or WxDevC++ and others: http://www.thefreecountry.com/compilers/cpp.shtml[^] http://wxdsgn.sourceforge.net/[^] The only advantage over those two, is primarily you get a windows application out of it. The former will do more C++/CLI if that is your thing (.Net). WxDevC++ has the advantage over it's baseline compilers from GNU in that it appears as an integrated IDE. It is simply a repackaging of GNU tools though, and you should be aware of that. There is UltimateCPP: http://www.ultimatepp.org/[^] but it will spoil you into avoiding C++ programming per standard and use more integrated features of Ultimate++ that do not apply to any other tool. So that is a caution, though quite convenient for developing in. Out of the three, for learning only, I like WxDevCPP the most. It has the IDE so you don't have to worry about GNU command line compilers or integrating it with your own IDE. Though there are some reasons to do that once you pass the learning stage, it is a great way to start out. Once you write your own software and want to make it professional, buy a compiler. Don't hedge either, a commercial license beats the ins and outs of a freebie with heavy license issues on commercial apps. But if you want to stay free while professional, read the license agreements completely of any free tool you use. GNU and some other license agreements are very restrictive.

        _________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb) John Andrew Holmes "It is well to remember that the entire universe, with one trifling exception, is composed of others."

        C Offline
        C Offline
        Christian Flutcher
        wrote on last edited by
        #10

        I plan to write a platform independent program on this freetime. So my thinking is, I will write a C++ library which does the business logic. For UI, I will use tools which are specific to that OS. Say use "Perl" when in LINUX. Use MFC SDK when in windows. Is this practical ?

        M R 2 Replies Last reply
        0
        • C Christian Flutcher

          That's a great suggestion.

          K Offline
          K Offline
          Kevin McFarlane
          wrote on last edited by
          #11

          I disagree. I don't regard it as an ideal first book on C++.

          Kevin

          C R 2 Replies Last reply
          0
          • R realJSOP

            News flash - C++ is always C++ - there's only one flavor. I know I'm being pedantic and realize you're probably talking about frameworks and/or platforms. Once you've leaned C++, it's a simple matter of learning a given framework for the selected platform. If you're going to be a programmer, you have learn to be precise in your speech. Otherwise, other pedantic assholes (like me) will point out that your descriptions are flawed.

            "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
            -----
            "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001

            C Offline
            C Offline
            Christian Flutcher
            wrote on last edited by
            #12

            John Simmons / outlaw programmer wrote:

            you're probably talking about frameworks and/or platforms

            Yeah. as I am new to this, I don't know how to express it clearly.

            John Simmons / outlaw programmer wrote:

            Once you've leaned C++, it's a simple matter of learning a given framework for the selected platform

            Taking a good beginer level book on C++ and learning is what you mean, right ?

            R 1 Reply Last reply
            0
            • K Kevin McFarlane

              I disagree. I don't regard it as an ideal first book on C++.

              Kevin

              C Offline
              C Offline
              Christian Flutcher
              wrote on last edited by
              #13

              Kevin McFarlane wrote:

              I don't regard it as an ideal first book on C++.

              Which one you recommend then ?

              K S 2 Replies Last reply
              0
              • R Rajesh R Subramanian

                Pete O'Hanlon wrote:

                If you want to use C++/CLI based on Nish's book, there's only one real choice - Visual C++.

                I hope by Visual C++, you're talking about the IDE (Visual Studio) and not the language. Or you are drunk again. :-D

                Many are stubborn in pursuit of the path they have chosen, few in pursuit of the goal - Friedrich Nietzsche .·´¯`·->Rajesh<-·´¯`·. [Microsoft MVP - Visual C++]

                P Offline
                P Offline
                Pete OHanlon
                wrote on last edited by
                #14

                Rajesh R Subramanian wrote:

                I hope by Visual C++, you're talking about the IDE (Visual Studio)

                Yes.

                Rajesh R Subramanian wrote:

                Or you are drunk again.

                Maybe later.

                Deja View - the feeling that you've seen this post before.

                My blog | My articles

                1 Reply Last reply
                0
                • C Christian Flutcher

                  I am planning to learn "C++" as I am getting some freetime. I just checked the online articles and books available. Honestly, I am confused seeing many flavours C++ has. Which one should I learn ? I have seen VC++, Symbian C++ (mobile app) and some other flavours for linux. Which one do you recommend ? I have also gone through Nish's book, "C++/CLI in action" and found very interesting.

                  N Offline
                  N Offline
                  Nemanja Trifunovic
                  wrote on last edited by
                  #15

                  Here[^] is my Amazon.com list of C++ books. As you can see, I sugggest starting with "Accelerated C++" which is short, well written and teaches modern C++.

                  Programming Blog utf8-cpp

                  K 1 Reply Last reply
                  0
                  • C Christian Flutcher

                    Rajesh R Subramanian wrote:

                    VC++ is the IDE developed MS for writing C++ programs. VC++ is not a variant of C++.

                    I have some basic idea on C++. But when I looked a VC++ code, it was entirely different and follow different style of writing than the normal C++, hence I thought it would be other flavor. Thanks for correcting it :) So are you telling that VC++ programs can be executed on any OS or is it windows specific ? And AFAIK, it uses MS C++ compiler, right ?

                    Rajesh R Subramanian wrote:

                    I'll recommend you something simpler, which has words like "beginner", "beginning", etc., in its title.

                    Any recommendations ?

                    P Offline
                    P Offline
                    Pete OHanlon
                    wrote on last edited by
                    #16

                    As Rajesh stated, there are different flavours of C++ in use in VC++, such as ATL/WTL, MFC or even CLI/C++. When I developed platform independent C++, I used wxWidgets which can be used with VC++.

                    Deja View - the feeling that you've seen this post before.

                    My blog | My articles

                    C 1 Reply Last reply
                    0
                    • C Christian Flutcher

                      Rajesh R Subramanian wrote:

                      VC++ is the IDE developed MS for writing C++ programs. VC++ is not a variant of C++.

                      I have some basic idea on C++. But when I looked a VC++ code, it was entirely different and follow different style of writing than the normal C++, hence I thought it would be other flavor. Thanks for correcting it :) So are you telling that VC++ programs can be executed on any OS or is it windows specific ? And AFAIK, it uses MS C++ compiler, right ?

                      Rajesh R Subramanian wrote:

                      I'll recommend you something simpler, which has words like "beginner", "beginning", etc., in its title.

                      Any recommendations ?

                      R Offline
                      R Offline
                      Rajesh R Subramanian
                      wrote on last edited by
                      #17

                      Christian Flutcher wrote:

                      So are you telling that VC++ programs can be executed on any OS or is it windows specific ? And AFAIK, it uses MS C++ compiler, right ?

                      Visual C++ programs (typically) make extensive use of Windows API, and so, clearly you should not expect it to run on other operating systems. But that doesn't stop you from using the VC++ IDE to write truly cross-platform software, sitting on a windows machine. In which case, you will stick to the standard c++ - not making use of Windows APIs and frameworks, template libraries, technologies, like MFC, ATL, COM, etc., if it is windows specific. I will recommend Accelerated C++, C++ primer, Thinking in C++ (my favorite, free and legally downloadable[^] version of this book is available) and there are just too many good books to specify. I am sure you will get plenty of other suggestions for books here by others. Also, everything by Stanley Lippman is good.

                      Many are stubborn in pursuit of the path they have chosen, few in pursuit of the goal - Friedrich Nietzsche .·´¯`·->Rajesh<-·´¯`·. [Microsoft MVP - Visual C++]

                      1 Reply Last reply
                      0
                      • K Kevin McFarlane

                        I disagree. I don't regard it as an ideal first book on C++.

                        Kevin

                        R Offline
                        R Offline
                        Rajesh R Subramanian
                        wrote on last edited by
                        #18

                        My same exact thought. I totally agree that it is the best reference book, but that must definitely not be the first book for a beginner. :)

                        Many are stubborn in pursuit of the path they have chosen, few in pursuit of the goal - Friedrich Nietzsche .·´¯`·->Rajesh<-·´¯`·. [Microsoft MVP - Visual C++]

                        1 Reply Last reply
                        0
                        • P Pete OHanlon

                          As Rajesh stated, there are different flavours of C++ in use in VC++, such as ATL/WTL, MFC or even CLI/C++. When I developed platform independent C++, I used wxWidgets which can be used with VC++.

                          Deja View - the feeling that you've seen this post before.

                          My blog | My articles

                          C Offline
                          C Offline
                          Christian Flutcher
                          wrote on last edited by
                          #19

                          Pete O'Hanlon wrote:

                          I used wxWidgets

                          Just went through that. Looks promising. Thanks.

                          1 Reply Last reply
                          0
                          • C Christian Flutcher

                            I am planning to learn "C++" as I am getting some freetime. I just checked the online articles and books available. Honestly, I am confused seeing many flavours C++ has. Which one should I learn ? I have seen VC++, Symbian C++ (mobile app) and some other flavours for linux. Which one do you recommend ? I have also gone through Nish's book, "C++/CLI in action" and found very interesting.

                            R Offline
                            R Offline
                            Rob Graham
                            wrote on last edited by
                            #20

                            Try Thinking in C++[^] by Bruce Eckel. The two volume eBook is free.

                            1 Reply Last reply
                            0
                            • C Christian Flutcher

                              I plan to write a platform independent program on this freetime. So my thinking is, I will write a C++ library which does the business logic. For UI, I will use tools which are specific to that OS. Say use "Perl" when in LINUX. Use MFC SDK when in windows. Is this practical ?

                              M Offline
                              M Offline
                              Mladen Jankovic
                              wrote on last edited by
                              #21

                              Perl for UI?

                              Christian Flutcher wrote:

                              Is this practical ?

                              Ever heard of Qt? It's platform independent library for GUI programming. It's free open source use (or non-commercial, I'm not sure).

                              [Genetic Algorithm Library]

                              K 1 Reply Last reply
                              0
                              • C Christian Flutcher

                                I plan to write a platform independent program on this freetime. So my thinking is, I will write a C++ library which does the business logic. For UI, I will use tools which are specific to that OS. Say use "Perl" when in LINUX. Use MFC SDK when in windows. Is this practical ?

                                R Offline
                                R Offline
                                Rajesh R Subramanian
                                wrote on last edited by
                                #22

                                For UI, you can use WxWidgets as Pete suggested, or you can use VCF, which is written and maintained by one of our fellow CPian, Jim Crafton. VCF Online[^]

                                Many are stubborn in pursuit of the path they have chosen, few in pursuit of the goal - Friedrich Nietzsche .·´¯`·->Rajesh<-·´¯`·. [Microsoft MVP - Visual C++]

                                P 1 Reply Last reply
                                0
                                • C Christian Flutcher

                                  I am planning to learn "C++" as I am getting some freetime. I just checked the online articles and books available. Honestly, I am confused seeing many flavours C++ has. Which one should I learn ? I have seen VC++, Symbian C++ (mobile app) and some other flavours for linux. Which one do you recommend ? I have also gone through Nish's book, "C++/CLI in action" and found very interesting.

                                  M Offline
                                  M Offline
                                  Mladen Jankovic
                                  wrote on last edited by
                                  #23

                                  Christian Flutcher wrote:

                                  "C++"

                                  Freeze! QMP*! Special agent John Cardinal! You're under arrest for misuse of quotation marks! * stands for Quotation Marks Police.

                                  [Genetic Algorithm Library]

                                  1 Reply Last reply
                                  0
                                  • C Christian Flutcher

                                    John Simmons / outlaw programmer wrote:

                                    you're probably talking about frameworks and/or platforms

                                    Yeah. as I am new to this, I don't know how to express it clearly.

                                    John Simmons / outlaw programmer wrote:

                                    Once you've leaned C++, it's a simple matter of learning a given framework for the selected platform

                                    Taking a good beginer level book on C++ and learning is what you mean, right ?

                                    R Offline
                                    R Offline
                                    realJSOP
                                    wrote on last edited by
                                    #24

                                    Actually, if you've been a programmer for any length of time, you don't need a book. Besides - pretty much any question you might have can be answered online. My desired method for learning a new language is taking an app I wrote in another langauge, and converting it to the one I'm learning. It's faster that way, and you learn better by doing things wrong at first. You not only learn the right way to do it, but you learn the "why" along with it. You can fill gaping holes in your skill set by applying previous lessons learned.

                                    "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
                                    -----
                                    "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001

                                    K 1 Reply Last reply
                                    0
                                    • C Christian Flutcher

                                      I am planning to learn "C++" as I am getting some freetime. I just checked the online articles and books available. Honestly, I am confused seeing many flavours C++ has. Which one should I learn ? I have seen VC++, Symbian C++ (mobile app) and some other flavours for linux. Which one do you recommend ? I have also gone through Nish's book, "C++/CLI in action" and found very interesting.

                                      L Offline
                                      L Offline
                                      Lost User
                                      wrote on last edited by
                                      #25

                                      Do you know C already? It will be a huge help if you did. VC++ etc are just build environments, and while the like of Microsoft do extend the language, the scope of those extensions are small so VC++, Borland C++ et al, are all C++. As for boks, I cant recomend one, I learnt it just from doing C. After all, C++ is just C with a few bits bolted on such as private class (struct) members, inheritance, polymorphism, and so on. Oh, template classes, STI especially, are very usefull as an addition to C++.

                                      Morality is indistinguishable from social proscription

                                      1 Reply Last reply
                                      0
                                      • C Christian Flutcher

                                        Kevin McFarlane wrote:

                                        I don't regard it as an ideal first book on C++.

                                        Which one you recommend then ?

                                        K Offline
                                        K Offline
                                        Kevin McFarlane
                                        wrote on last edited by
                                        #26

                                        Unfortunately, I don't have an alternative. I first learnt C++ back in 1994-5. At that time I found the book Turbo C++ to be very good. This was based on Borland's Turbo C++ for DOS but in fact it was teaching you generic C++. But it would be way out of date now and most likely out of print. There are loads of C++ books around. Problem is some will be excellent and some will be poor. I can only give you a general suggestion that you first choose a book that teaches you the C++ language independent of any framework or libraries. Also, I'd recommend avoiding any books by Herbert Schildt. Although he's apparently popular the C++ gurus don't rate him. This guy might be worth a try: You Can Program in C++[^] Plus he also has an even more introductory book You Can Do It[^] I've not read either of the books but he is one of the gurus.

                                        Kevin

                                        1 Reply Last reply
                                        0
                                        • R realJSOP

                                          Actually, if you've been a programmer for any length of time, you don't need a book. Besides - pretty much any question you might have can be answered online. My desired method for learning a new language is taking an app I wrote in another langauge, and converting it to the one I'm learning. It's faster that way, and you learn better by doing things wrong at first. You not only learn the right way to do it, but you learn the "why" along with it. You can fill gaping holes in your skill set by applying previous lessons learned.

                                          "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
                                          -----
                                          "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001

                                          K Offline
                                          K Offline
                                          Kevin McFarlane
                                          wrote on last edited by
                                          #27

                                          John Simmons / outlaw programmer wrote:

                                          Actually, if you've been a programmer for any length of time, you don't need a book.

                                          That may be so, but a book helps. When .NET first came out I bought a book on C#. I also did what you suggest - convert existing apps. But the book still added value.

                                          Kevin

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups