Page 2 of 5 FirstFirst 1234 ... LastLast
Results 21 to 40 of 85

Thread: What are your favourite C++ books?

  1. #21
    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?


  2. #22
    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.

  3. #23
    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.

  4. #24
    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);

  5. #25
    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

  6. #26
    Join Date
    Mar 2006
    Posts
    22
    Qt products
    Qt3
    Platforms
    Windows

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

    Bruce Eckel's Thinking in C++. It is divided into two volumes, the first dealing with basic concepts, the second dealing with the more iffy stuff. Very clear examples and explenations. As a bonus, this book is downloadable for free.

    http://www.bruceeckel.com/

  7. #27
    Join Date
    Feb 2006
    Location
    US
    Posts
    173
    Thanks
    16
    Thanked 5 Times in 5 Posts
    Qt products
    Qt4 Qt5
    Platforms
    Unix/X11 Windows Android

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

    Once beyond simple C++ syntax/semantics, I highly recommend

    Nicolai M. Josuttis, "The C++ Standard Library: A Tutorial and Reference", Addison-Wesley, 1999.

  8. #28
    Join Date
    Mar 2006
    Location
    The Netherlands
    Posts
    300
    Thanks
    9
    Thanked 29 Times in 29 Posts
    Qt products
    Qt3 Qt4
    Platforms
    Unix/X11

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

    I'm not looking through the entire thread to see if they've been mentioned already, but:

    • Absolute C++, Savich
    • Design Patterns, Gang of Four
    • Refactoring, Fowler
    • C++ For Game Programmers, Llopis


    They're not all about C++ specifically, but they're all relevant. I especially recommend Design Patterns.
    "The strength of a civilization is not measured by its ability to wage wars, but rather by its ability to prevent them." - Gene Roddenberry

  9. #29
    Join Date
    Jan 2006
    Posts
    30
    Thanks
    6

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

    I prefer Bruce Eckel's Thinking in C++,
    Volume 1, 2nd Edition
    and Volume 2

    It is available in pdf format online

    regards

  10. #30
    Join Date
    Jan 2006
    Location
    Athens - Greece
    Posts
    219
    Thanks
    3
    Thanked 1 Time in 1 Post
    Qt products
    Qt3 Qt4
    Platforms
    Unix/X11 Windows

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

    Let me post another one that I lately discovered:
    Code Reading: The Open Source Perspective

  11. #31
    Join Date
    Jan 2006
    Location
    Mountain View, CA
    Posts
    279
    Thanked 42 Times in 37 Posts
    Qt products
    Qt3 Qt4
    Platforms
    Unix/X11 Windows

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

    Quote Originally Posted by brcain
    Once beyond simple C++ syntax/semantics, I highly recommend

    Nicolai M. Josuttis, "The C++ Standard Library: A Tutorial and Reference", Addison-Wesley, 1999.
    I totally second that brcain. That's a real power users volume, but lucid enough for anyone who has learnt C++ but wants to master it.
    Save yourself some pain. Learn C++ before learning Qt.

  12. #32
    Join Date
    Mar 2006
    Location
    India
    Posts
    15
    Thanks
    5
    Qt products
    Qt4
    Platforms
    Unix/X11

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

    Well, I too think that learning Java is a nicer introduction to C++. The path I would recommend is C -> Java -> C++

    Quote Originally Posted by GreyGeek
    So, Java isn't in my future.
    I am glad you made it clear that it is a personal opinion. Language choice is really a matter of personal tastes and the nature of task at hand.

    I find java incredibly more robust and formal, than C++. That makes it easier to develop compiler tool chains and IDEs for Java. The sheer number of refactoring and quick-fix features provided by Eclipse is a testimony to that.

    About speed, Java is gaining ground with the help of native compilation. (See ClasspathShowcase and Fedora Eclipse.) Though it really is unfair to compare two languages based on speed, because there are a number of tradeoffs involved (portability, robustness, etc).

    As of now, for desktops, I would use C++ to develop real world applications and Java for trying out new algorithms/concepts etc. (I am working on neural net simulation in Java, for example). But I do hope that Java gains more ground and becomes usable for real-world applications on the desktop.
    Qt 4.2 (qt-copy in KDE svn)
    KDE 4.0 (svn)
    Currently developing Anthias

  13. #33
    Join Date
    Mar 2006
    Location
    Mountain View, California
    Posts
    489
    Thanks
    3
    Thanked 74 Times in 54 Posts
    Qt products
    Qt3 Qt4 Qt/Embedded
    Platforms
    MacOS X Unix/X11 Windows

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

    I'm going to go out on a limb and recommend C++ as a first language. I never would have said this several years ago, but then I discovered "Practical C++ Programming" by Steve Oualline (O'Reilly). It a really great book that focuses on the core practical elements of C++. It's written for the beginner programmer, but doesn't treat him like a child.

    I would also recommend avoiding IDEs like Visual Studio or KDevelop. Stick with a text editor and the command line until you learn the language.

  14. #34
    Join Date
    Feb 2006
    Location
    US
    Posts
    173
    Thanks
    16
    Thanked 5 Times in 5 Posts
    Qt products
    Qt4 Qt5
    Platforms
    Unix/X11 Windows Android

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

    Quote Originally Posted by ePharaoh
    I find java incredibly more robust and formal, than C++.
    I second that, ePharaoh. I've been developing with C++ for 15+ years now. And have just begun to learn Java. It would have been nice if C++ had included Java interfaces and packages.

    Quote Originally Posted by ePharaoh
    About speed, Java is gaining ground with the help of native compilation.
    Many people incorrectly assume Java is still interpreted. With just-in-time (JIT) compilitation, it can actually be faster since it can more accurately optimize to the target platform.

  15. #35
    Join Date
    Jan 2006
    Posts
    70
    Thanks
    13
    Thanked 5 Times in 5 Posts
    Qt products
    Qt3 Qt4
    Platforms
    Unix/X11 Windows

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

    C++ : Effective Object-Oriented Software Construction
    Dattatri

    isbn 0130867691

    I've been programming in c++ for about 7 years and this is one book that covers the advanced topics of c++. It starts out with polymorphism, where most books end with that topic. This is the book I use when looking up obscure and advanced topics.

  16. #36
    Join Date
    Jan 2006
    Posts
    25
    Thanked 1 Time in 1 Post
    Qt products
    Qt3
    Platforms
    Unix/X11 Windows

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

    * For newbies I recommand:

    Sams Teach Yourself C++ For Linux In 21 Days With Cdrom
    Liberty, Jesse
    ISBN : 0672318954
    This book is easy to read, and has all essentials in it. For those who do not which to program under Linux, just skip the Linux part. The C++ part is very nice on itself.

    * Reference for advanced users with specific C++ problems, ofcourse:
    The C++ Programming Language
    Stroustrup, Bjarne
    ISBN : 0201700735
    Don't start with this book as a newbie. It is far to advanced, but to become a good c++ programmer someday you will have to read it

    * For Object Oriented programming:
    An Introduction to Object-Oriented Programming
    Timothy Budd

    * Design patterns :
    Design Patterns (Elements Of Reusable Object-Oriented Software)
    Gamma, Erich
    ISBN : 0201633612

  17. #37
    Join Date
    Feb 2006
    Location
    US
    Posts
    173
    Thanks
    16
    Thanked 5 Times in 5 Posts
    Qt products
    Qt4 Qt5
    Platforms
    Unix/X11 Windows Android

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

    Quote Originally Posted by edb
    * Reference for advanced users with specific C++ problems, ofcourse:
    The C++ Programming Language
    Stroustrup, Bjarne
    I'd only get this book as a reference ... or as edb stated ... addressing very specific issues.
    I rarely, rarely ever need to use this book. And with Internet resources so accessible it's becoming even less needed.

  18. #38
    Join Date
    May 2006
    Posts
    32
    Thanks
    15
    Thanked 2 Times in 2 Posts

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

    Quote Originally Posted by trochej
    I couldn't get through that book. Maybe it's because of poor Polish translation (it shows, that there was no linguistic editor), but I find it's language too convoluted to be easly understood.

    Damian

    I am Chinese,and we have Chinese Edition of that book when in college.
    But,I preferred the original.

    think in C++(2 volumes) is also good C++ books,I think.

  19. #39
    Join Date
    May 2006
    Location
    Bangalore,India
    Posts
    235
    Thanks
    7
    Thanked 25 Times in 24 Posts
    Qt products
    Qt3 Qt4
    Platforms
    Windows

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

    is the Design Patterns ,Gamma, Erich e-book available?

  20. #40
    Join Date
    Oct 2006
    Posts
    42
    Thanks
    1
    Thanked 8 Times in 8 Posts
    Qt products
    Qt4
    Platforms
    Windows

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

    Design Patterns by GOF is really good. I also like the Deitel books and Effective C++. And the Qt book of course.

    As for C++ vs. Java discussions in general I must say I find them quite silly, biased and prejudiced most of the time. I have both formal training and professional experience with both C++ and Java, and I must say that they are both great languages. Which language to pick really depends on what problem you have at hand. C++ is great on the desktop and on embedded. Java is great on the server and quite allright on embedded too. Both languages have quirks and, uhm, faults, but... please, base your discussion on something else than ignorance, prejudice and what you want to believe.

    Talking about Java... have you guys checked out Jambi yet?

Similar Threads

  1. any good books for QT 4.2?
    By neomax in forum General Discussion
    Replies: 7
    Last Post: 4th September 2007, 09:37
  2. Both Qt 4 books delayed?
    By brcain in forum General Discussion
    Replies: 32
    Last Post: 24th January 2007, 03:42
  3. books to learn Qt
    By nimmyj in forum Newbie
    Replies: 2
    Last Post: 8th December 2006, 22:16
  4. QT4 Books
    By Jimmy2775 in forum Qt Programming
    Replies: 3
    Last Post: 7th February 2006, 21: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.