Results 1 to 20 of 85

Thread: What are your favourite C++ books?

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Join Date
    Jan 2006
    Location
    Berlin, Germany
    Posts
    64
    Thanks
    1
    Thanked 4 Times in 3 Posts
    Qt products
    Qt4
    Platforms
    MacOS X Unix/X11 Windows

    Red face Re: What are your favourite C++ books?

    I am sure a lot of people don't agree with this next statement, but:

    I would recomend to a new programmer to learn Java first, then C++. The high level of object oriented-ness is a good practice in C++ and it lets you learn HOW to program and how to think like a programmer without worrying about memory management (although Qt takes a ton of load off this!) and some of C++'s other "advanced" features. (plus the syntax a VERY similar)

    I don't, however, know any good Java books... I learned Java b/c it is similar to other modern OO languages and I just read though the Javadoc's :-) and started coding away :-)

    Katrina

  2. #2
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,360
    Thanks
    3
    Thanked 5,015 Times in 4,792 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Wiki edits
    10

    Default Re: What are your favourite C++ books?

    Quote Originally Posted by katrina
    I don't, however, know any good Java books...
    "Thinking in Java"

    Learning Java first can make people hate programming because Java is soooo fast

  3. #3
    Join Date
    Jan 2006
    Location
    Berlin, Germany
    Posts
    64
    Thanks
    1
    Thanked 4 Times in 3 Posts
    Qt products
    Qt4
    Platforms
    MacOS X Unix/X11 Windows

    Red face Re: What are your favourite C++ books?

    Quote Originally Posted by wysota
    "Thinking in Java"

    Learning Java first can make people hate programming because Java is soooo fast
    LOL Yeah Java has to be one of the slowest frigin languages in the world... luckily most people nowadays are buying 300000GHz computers with 847583408MB RAM to check their email, use AIM, surf MySpace, and download illegal music so they can afford to use programs written in a language that should have taken their mascot from Logo. (until they get a couple virii and spywares 'cause that will eat up 299999.99GHz of their 300000GHz (Long live Linux))

    Gotta give Java one thing though... it is WAY portable... I mean c'mon even the Blackberry runs Java! (actually the entire Blackberry OS is written in Java!)

    (Hmmm I seem to have gotten off topic here... back to C++ books
    ummm... I already listed all of the C++ books I have... LOL I guess I will stop now :-)

    Katrina

  4. #4
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,360
    Thanks
    3
    Thanked 5,015 Times in 4,792 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Wiki edits
    10

    Default Re: What are your favourite C++ books?

    Quote Originally Posted by katrina
    Gotta give Java one thing though... it is WAY portable... I mean c'mon even the Blackberry runs Java! (actually the entire Blackberry OS is written in Java!)
    Well, yes, if you don't count situations, when your program written in java version 1.x.y.z runs, but refuses to run on 1.x.y.z+1. Or runs on SUN implementation and refuses to run on MS "implementation" (or orther).

  5. #5
    Join Date
    Jan 2006
    Location
    Lincoln, NE USA
    Posts
    177
    Thanks
    3
    Thanked 7 Times in 6 Posts
    Qt products
    Qt4
    Platforms
    Unix/X11 Windows

    Default Re: What are your favourite C++ books?

    Quote Originally Posted by katrina
    I am sure a lot of people don't agree with this next statement, but:

    I would recomend to a new programmer to learn Java first, then C++.
    ...snip...

    Katrina
    I've had formal Java training. I hate Java, and not because it is too slooooowww, even with JIT.

    While doing research into alternative development tools and platforms for my department, I tried Eclipse and JDeveloper using Java against our Oracle backend to create our "Homestead" application. JDeveloper was (is?) better than Eclipse, but dealing with Enterprise Beans and the like was a royal PITA. Almost without fail, when I wanted to add special functionality and drilled down into the methods, I'd encounter the base method which had a warning that it was generated automatically and any changes would be lost. So sad, because then I'd have to subclass the generator to add the functionality I wanted. My second big complaint was that once I got the app built it was too slow to be useful.

    So, I tried creating the Homestead app with Boa_Constructor and Python, also against Oracle. I really LOVED that tool combo. It was 5-10 times easier to develop in it than in JDeveloper, AND it was 10 times faster than the Java app. The second BIG PLUS was that all files were ASCII, including the screens, making version control of the screens easy. But, alas, the fly in the ointment was that Boa_Constructor is an aggregate tool and when updating it almost invariably wxWindows, or Python, or some library was the wrong version. Boa has some warts, like all tools, but the development cycle on Boa was/is too slow to commit to it. When they can combine all the components into a single tool that results in better version control then Boa will be a tool to revisit.

    My next test was with RealBasic, a proprietary tool that runs on both Windows and Linux. I tried it primarily because I used to program in VB and it is a good GUI RAD tool, if you connect to a fast backend. The RealBasic test ended RealQuick because it failed the tutorial test - if you can't get the tool to work following the tutorial then folks aren't tending to business. For a proprietary tool that is a fatal mistake.

    My last test was with QT3.3 using the demo version for Windows. Using the bootk "C++ GUI Programming with Qt 3", learning QT 3.3 was easy, with the fine help of people who visit this forum. Even while learning the ins&outs of the QT3.x Designer, the development of the Homestead app was very quick, again thanks to the help of the folks on this forum. I was able to create the Homestead test app in about 5 to 6 weeks, while learning C++ at the same time. My boss was reluctant to consider QT for our department because he prefered Java and he heard "horror" stories about how hard C++ is too learn. He also had misunderstandings about garbage collection (memory leaks) in C++. After my boss saw my demo app, learned that QT controls garbage collection, and visited the QT website to view their demo video, he approved the use of QT in our department. It will become the primary tool in our move toward platform independence.

    Just about that time QT4 came out. It's development paradigm was totally different, more along the classic lines of C++ development, as I understand it. While I missed the old Designer at first, it didn't take me long to realize the superiority of the classic method, and its main feature -- total developer control. One no longer has to work around a Designer tool. (And Trolltech can divert resources from maintaining and improving what is essentiall a GUI RAD devl tool to their core product, the API.) I decided to redo Homestead from scratch. It took about two weeks, primarily gettting used to the new API and replacing QT3 stuff with QT4 stuff.

    Oh, speed? While a certain report created using our original Visual FoxPro 6.0 app took 2 1/2 HOURS to generate, the same report with the QT4 app takes only 2 MINUTES 30 SECONDS!! While testing the JDeveloper solution I canceled the report request because I got tired of waiting.

    So, Java isn't in my future. In fact, were I asked to drop QT and do all my work in Java I'd reconsider my pledge to work till I am 70 years old.

  6. #6
    Join Date
    Jan 2006
    Location
    Edmonton, Canada
    Posts
    101
    Thanks
    13
    Thanked 6 Times in 5 Posts
    Qt products
    Qt4
    Platforms
    MacOS X Unix/X11 Windows

    Default Re: What are your favourite C++ books?

    Personally I found Stroustrup's book to be over my head when I first tried to read it. At that point C++ was the first language I was learning, and the way he describes concepts in the book was too abstract for me to make any sense of them.

    IMHO the best book for beginning or reviewing C++ is Bruce Eckel's Thinking in C++. The best thing that this book has going for it is that it's absolutely free!!! "Free" is always a good feature in a book, I think. The book describes C++ concepts from the point of view of a developer moving from C to C++, however, I have no experience in C and was still able to follow along easily. The book is a nice blend of theoretical explanation combined with practical code examples. Instead of trying to cover every C++ concept from beginning to end, Eckel's book is a sort of linear narritive that introduces concepts individually but then gradually elaborates on them as parts of a whole. He is also able to explain some of the logic behind the design of the language which I find makes it easier to remember how to use, and begins the book with a very good, high-level introduction to OOP.

  7. #7
    Join Date
    Jan 2006
    Location
    N.B. Canada
    Posts
    47
    Thanked 8 Times in 7 Posts
    Qt products
    Qt3 Qt4
    Platforms
    Unix/X11 Windows

    Default Re: What are your favourite C++ books?

    I would recomend to a new programmer to learn Java first, then C++. The high level of object oriented-ness is a good practice in C++ and it lets you learn HOW to program and how to think like a programmer without worrying about memory management (although Qt takes a ton of load off this!) and some of C++'s other "advanced" features. (plus the syntax a VERY similar)
    While this sounds good in theory, I have seen it fail many times in practice. The problem is that C++, although an OO language, still necessitates learning and knowing lower level stuff. As well, OO concepts in C++ work differently than in Java. I think Java can help understanding OO and C++ concepts and maybe provide some sort of fast track into learning C++, but people who try to make a straight Java to C++ transition often have a lot of dificulty w/ pointers, and C'tor, CC'tor and D'tor concepts, and inheritence. I think it is lot wiser, if one knows Java, to learn C first and pointers, structs, etc.. just the basics. Then move on to C++. I think lots of people take the suggested approach Java -> C++, and I have seen lots of people in my school struggle when attemping this because they write C++ code Java style, and then end up not having any idea of what's actually going on when things begin to segfault. This is just my opinion, and isn't based on any strong empirical evidence or anything, just on my observations. I dont know. Anyway this may be OT, if so I am sorry.

    Bojan
    The march of progress:
    C:
    printf("%10.2f", x);
    C++:
    cout << setw(10) << setprecision(2) << showpoint << x;
    Java:
    java.text.NumberFormat formatter = java.text.NumberFormat.getNumberInstance();
    formatter.setMinimumFractionDigits(2);
    formatter.setMaximumFractionDigits(2);
    String s = formatter.format(x);
    for (int i = s.length(); i < 10; i++) System.out.print(' ');
    System.out.print(s);

  8. #8
    Join Date
    Jan 2006
    Posts
    44
    Thanks
    9
    Qt products
    Qt4 Qt/Embedded
    Platforms
    MacOS X Unix/X11

    Default Re: What are your favourite C++ books?

    yeah reviving an old thread but adding quality information to it.

    Core C++: A Software Engineering Approach ( http://www.amazon.com/gp/product/0130857297/104-8958036-0173500?v=glance&n=283155"]link )
    is flat out awesome in my book (hehe).

    Java? Nah, start with Python.
    --
    The Real Bill

Similar Threads

  1. any good books for QT 4.2?
    By neomax in forum General Discussion
    Replies: 7
    Last Post: 4th September 2007, 08:37
  2. Both Qt 4 books delayed?
    By brcain in forum General Discussion
    Replies: 32
    Last Post: 24th January 2007, 02:42
  3. books to learn Qt
    By nimmyj in forum Newbie
    Replies: 2
    Last Post: 8th December 2006, 21:16
  4. QT4 Books
    By Jimmy2775 in forum Qt Programming
    Replies: 3
    Last Post: 7th February 2006, 20:07

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Digia, Qt and their respective logos are trademarks of Digia Plc in Finland and/or other countries worldwide.